gratinglab 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gratinglab-0.3.0/src/gratinglab.egg-info → gratinglab-0.3.1}/PKG-INFO +1 -1
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/__init__.py +1 -1
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/config.py +0 -1
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/boundary_view.py +1 -14
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/settings.py +0 -2
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/reading-outputs.md +3 -3
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/workflows.py +1 -2
- {gratinglab-0.3.0 → gratinglab-0.3.1/src/gratinglab.egg-info}/PKG-INFO +1 -1
- {gratinglab-0.3.0 → gratinglab-0.3.1}/LICENSE +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/README.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/pyproject.toml +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/setup.cfg +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/checks.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/compare.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/convergence.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/geometry.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/app.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/cmethod_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/comparison.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/diagram.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/diagram3d.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/docs.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/efficiency_plot.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/icon.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/integral_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/launcher.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/mathtext.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/orders.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/provenance.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/cmethod_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/compare_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/geometry_panel.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/geometry_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/integral_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/launcher.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/main_window.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/profile_plot_panel.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/rcwa_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/scalar_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/scene3d_panel.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/setup_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/sizing.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/theming.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/theory_viewer.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/qt/worker.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/rcwa_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/richtext.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/scalar_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/state.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/gui/theme.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/illumination.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/io/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/io/boundary.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/io/efficiency_table.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/io/ggp.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/materials/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/materials/data/SOURCES.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/materials/fresnel.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/materials/optical.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/materials/refractiveindex.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/measured.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/analyzer.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/boundary/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/boundary/average.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/boundary/cross_section.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/boundary/pipeline.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/boundary/swaths.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/cli.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/analysis.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/image_flatten.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/orientation.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/processing.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/region_mask.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/scars.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/core/tip.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/data/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/data/aggregation.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/icon.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/app.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/canvas.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/efficiency_dialog.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/import_view.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/layout.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/main_window.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/swath_dialog.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/wiki_view.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/qt/worker.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/gui/state.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/file_io.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/ibw.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/metrics.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/sem.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/io/spm.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/stats/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/stats/analysis.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/stats/icc.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/visualization/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/visualization/diagnostics.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/visualization/profiles.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/visualization/statistics.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/facet-fitting.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/file-formats.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/flattening.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/groove-orientation.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/icc-correction.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/overview.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/row-groups.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/scars-and-masking.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/swath-statistics.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/metrology/wiki/tip-correction.md +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/problem.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/profiles.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/resolution.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/result.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/_conditioning.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/_execution.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/base.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/cmethod/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/cmethod/_core.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/cmethod/_series.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_boundary.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_core.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_finite.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_greens.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_kernels.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/integral/_nystrom.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/rcwa/__init__.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/rcwa/_core.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/rcwa/_stack.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab/solvers/scalar.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab.egg-info/SOURCES.txt +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab.egg-info/dependency_links.txt +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab.egg-info/entry_points.txt +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab.egg-info/requires.txt +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/src/gratinglab.egg-info/top_level.txt +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_changelog.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_checks.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_cmethod.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_compare.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_conditioning.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_convergence.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_cross_method.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_efficiency_table.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_four_way.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_fresnel.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_geometry.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_ggp.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_cmethod_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_cmethod_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_compare_tab.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_diagram.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_diagram3d.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_docs.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_integral_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_launcher.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_mathtext.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_orders.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_provenance.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_qt.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_rcwa_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_richtext.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_scalar_options.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_state.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_gui_theme.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_illumination.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_core.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_corpus.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_finite.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_graded.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_greens.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_kernels.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_measured_polygon.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_operators.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_integral_solver.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_io_boundary.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_materials.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_measured.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_perturbation.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_profiles.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_rayleigh_anomaly.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_rcwa.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_rcwa_benchmarks.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_refractiveindex.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_resolution.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_result.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_scalar.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_solver_conformance.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_solver_execution.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_solver_progress.py +0 -0
- {gratinglab-0.3.0 → gratinglab-0.3.1}/tests/test_trapezoidal_solvers.py +0 -0
|
@@ -22,7 +22,7 @@ from .measured import MeasuredEfficiency, MeasurementProvenance
|
|
|
22
22
|
from .resolution import ResolvingPower, resolving_power
|
|
23
23
|
from .result import EfficiencyScan, OrderEfficiency, Provenance
|
|
24
24
|
|
|
25
|
-
__version__ = "0.3.
|
|
25
|
+
__version__ = "0.3.1"
|
|
26
26
|
|
|
27
27
|
__all__ = [
|
|
28
28
|
"Illumination",
|
|
@@ -172,7 +172,6 @@ GGP_N_POINTS = 2000 # Points in the exported profile
|
|
|
172
172
|
GGP_APPLY_SMOOTHING = True # Light smoothing to remove interpolation kinks
|
|
173
173
|
GGP_SMOOTHING_WINDOW = 5 # Larger = smoother
|
|
174
174
|
GGP_MIN_HALF_WIDTH = 10 # Skip grooves whose symmetric half-extent is <= this
|
|
175
|
-
GGP_WRITE_HEADER = False # Start the .ggp with "3 0 - Polygonal type" / "Period: 1 PSC: 1"
|
|
176
175
|
# many samples (i.e. clipped by the scan edge)
|
|
177
176
|
|
|
178
177
|
# ============ FILE SELECTION ============
|
|
@@ -131,17 +131,6 @@ class BoundaryView(QWidget):
|
|
|
131
131
|
self.min_half_spin.valueChanged.connect(self.refresh)
|
|
132
132
|
layout.addWidget(self.min_half_spin)
|
|
133
133
|
|
|
134
|
-
# Only the written file changes, not the profile, so no refresh.
|
|
135
|
-
self.header_check = QCheckBox("Write the PCGrate header")
|
|
136
|
-
self.header_check.setChecked(self._defaults.ggp_write_header)
|
|
137
|
-
self.header_check.setToolTip(
|
|
138
|
-
"Start the .ggp with the two lines\n"
|
|
139
|
-
" 3 0 - Polygonal type\n"
|
|
140
|
-
" Period: 1 PSC: 1\n"
|
|
141
|
-
"Off by default: PCGrate's border-profile import\n"
|
|
142
|
-
"takes the points alone.")
|
|
143
|
-
layout.addWidget(self.header_check)
|
|
144
|
-
|
|
145
134
|
self.export_btn = QPushButton("Export…")
|
|
146
135
|
self.export_btn.setEnabled(False)
|
|
147
136
|
self.export_btn.setToolTip(
|
|
@@ -214,7 +203,6 @@ class BoundaryView(QWidget):
|
|
|
214
203
|
ggp_apply_smoothing=self.smoothing_check.isChecked(),
|
|
215
204
|
ggp_smoothing_window=self.smoothing_spin.value(),
|
|
216
205
|
ggp_min_half_width=self.min_half_spin.value(),
|
|
217
|
-
ggp_write_header=self.header_check.isChecked(),
|
|
218
206
|
)
|
|
219
207
|
|
|
220
208
|
@property
|
|
@@ -456,8 +444,7 @@ class BoundaryView(QWidget):
|
|
|
456
444
|
metrics_path = os.path.splitext(path)[0] + '_metrics.txt'
|
|
457
445
|
write_profile_metrics(metrics_path, self._profile.metrics)
|
|
458
446
|
else:
|
|
459
|
-
write_ggp(path, t=self._profile.x_norm, y=self._profile.y_norm
|
|
460
|
-
header=self.header_check.isChecked())
|
|
447
|
+
write_ggp(path, t=self._profile.x_norm, y=self._profile.y_norm)
|
|
461
448
|
metrics_path = os.path.splitext(path)[0] + '_metrics.txt'
|
|
462
449
|
write_profile_metrics(metrics_path, self._profile.metrics)
|
|
463
450
|
return path, metrics_path
|
|
@@ -131,7 +131,6 @@ class AnalysisSettings:
|
|
|
131
131
|
ggp_apply_smoothing: bool = True
|
|
132
132
|
ggp_smoothing_window: int = 5
|
|
133
133
|
ggp_min_half_width: int = 10
|
|
134
|
-
ggp_write_header: bool = False # the legacy two-line header; see io/ggp.py
|
|
135
134
|
|
|
136
135
|
# Row groups
|
|
137
136
|
use_row_groups: bool = True
|
|
@@ -188,7 +187,6 @@ class AnalysisSettings:
|
|
|
188
187
|
ggp_apply_smoothing=getattr(config, 'GGP_APPLY_SMOOTHING', True),
|
|
189
188
|
ggp_smoothing_window=getattr(config, 'GGP_SMOOTHING_WINDOW', 5),
|
|
190
189
|
ggp_min_half_width=getattr(config, 'GGP_MIN_HALF_WIDTH', 10),
|
|
191
|
-
ggp_write_header=getattr(config, 'GGP_WRITE_HEADER', False),
|
|
192
190
|
use_row_groups=config.USE_ROW_GROUPS,
|
|
193
191
|
n_row_groups=config.N_ROW_GROUPS,
|
|
194
192
|
show_2d_image=config.SHOW_2D_IMAGE,
|
|
@@ -108,9 +108,9 @@ which is what PCGrate's border-profile import takes:
|
|
|
108
108
|
0.000500 0.000001
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
|
|
112
|
-
`
|
|
113
|
-
|
|
111
|
+
Files written before 0.3.0 may start with the legacy
|
|
112
|
+
`3 0 - Polygonal type` / `Period: 1 PSC: 1` lines; they still load. A script
|
|
113
|
+
that needs those lines can call `write_ggp(..., header=True)`.
|
|
114
114
|
|
|
115
115
|
Both columns are normalised: x runs from 0 to 1 across exactly one period, and
|
|
116
116
|
y is the height as a fraction of that period. A groove 0.33 deep in this file is
|
|
@@ -205,8 +205,7 @@ def run_boundary_profile_export(settings=None, filename=None):
|
|
|
205
205
|
stem = os.path.splitext(os.path.basename(filename))[0]
|
|
206
206
|
ggp_path = os.path.join(RESULTS_DIR, f'averaged_groove_profile_{stem}.ggp')
|
|
207
207
|
met_path = os.path.join(RESULTS_DIR, f'groove_analysis_metrics_{stem}.txt')
|
|
208
|
-
write_ggp(ggp_path, t=profile.x_norm, y=profile.y_norm
|
|
209
|
-
header=settings.ggp_write_header)
|
|
208
|
+
write_ggp(ggp_path, t=profile.x_norm, y=profile.y_norm)
|
|
210
209
|
write_profile_metrics(met_path, profile.metrics)
|
|
211
210
|
|
|
212
211
|
print(f"\n Groove depth: {profile.metrics['groove_depth']:.4f} of period")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|