autoarray 2026.5.1.4__tar.gz → 2026.5.8.2__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.
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/MANIFEST.in +1 -1
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/PKG-INFO +4 -3
- autoarray-2026.5.1.4/README.rst → autoarray-2026.5.8.2/README.md +3 -2
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/__init__.py +1 -1
- autoarray-2026.5.8.2/autoarray/config/README.md +13 -0
- autoarray-2026.5.8.2/autoarray/config/visualize/README.md +10 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/dataset.py +4 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/inversion_imaging_numba_util.py +18 -3
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/inversion_plots.py +12 -2
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/output.py +5 -5
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/utils.py +6 -5
- autoarray-2026.5.8.2/autoarray/util/dataset_util.py +73 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray.egg-info/SOURCES.txt +4 -4
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/conf.py +4 -3
- autoarray-2026.5.8.2/docs/index.md +2 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/pyproject.toml +2 -2
- autoarray-2026.5.1.4/autoarray/config/README.rst +0 -16
- autoarray-2026.5.1.4/autoarray/config/visualize/README.rst +0 -11
- autoarray-2026.5.1.4/autoarray/util/dataset_util.py +0 -24
- autoarray-2026.5.1.4/docs/index.rst +0 -1
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/copilot-instructions.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/workflows/main.yml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/AGENTS.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/CLAUDE.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/CONTRIBUTING.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/LICENSE +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/PLAN.md +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/abstract_ndarray.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/.gitignore +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/general.yaml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/logging.yaml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/visualize/general.yaml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/visualize/plots.yaml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/abstract/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/abstract/dataset.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/dataset_model.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/grids.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/simulator.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/dataset.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/simulator.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/mock/mock_dataset.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/imaging_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/interferometer_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/preprocess.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/exc.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_dataset.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_imaging.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_interferometer.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/mock_fit_imaging.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/mock_fit_interferometer.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/fit_imaging_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/fit_interferometer_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fixtures.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/abstract_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_2d_irregular.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/dataset_interface.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/factory.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/inversion_imaging_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/mapping.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/sparse.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/sparse.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/inversion_interferometer_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/mapping.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/sparse.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/inversion_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/func_list.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/linear_obj.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/neighbors.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/unique_mappings.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/mapper_numba_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/mapper_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/border_relocator.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/abstract_weighted.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/hilbert.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/kmeans.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/overlay.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/delaunay.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/knn.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular_spline.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular_uniform.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/delaunay.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/knn.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_adapt_density.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_adapt_image.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_spline_adapt_density.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_spline_adapt_image.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_uniform.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/delaunay.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/rectangular.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_image_mesh.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_interpolator.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion_imaging.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion_interferometer.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_linear_obj.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_linear_obj_func_list.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_mapper.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_mesh.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_pixelization.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_regularization.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/pixelization.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/mapper_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt_split.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt_split_zeroth.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/brightness_zeroth.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant_split.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant_zeroth.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/exponential_kernel.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/gaussian_kernel.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/matern_adapt_kernel.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/matern_kernel.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/regularization_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/zeroth.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/layout.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/layout_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/region.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/abstract_mask.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/grid_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/grid_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/indexes_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/mask_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/mask_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/zoom_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_1d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_2d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mock/mock_mask.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mock.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/numba_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/contour.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/convolver.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/mock/mock_psf.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/decorator.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/over_sample_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/over_sampler.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/transformer.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/transformer_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/array.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/grid.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/inversion.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/segmentdata.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/yx.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/settings.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/abstract_structure.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/array_1d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/array_2d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/irregular.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/rgb.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/uniform_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/uniform_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_array.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_grid.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_vector_yx.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/transform.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/grid_1d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/grid_2d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/irregular_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/sparse_2d_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/uniform_1d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/uniform_2d.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/header.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/mock_decorators.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/mock_grid.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/plot/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/plot/structure_plots.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/array.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/array_np.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/coordinate_array.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/coordinate_array_np.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/shape.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/abstract.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/irregular.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/uniform.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/visibilities.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/type.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/__init__.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/cholesky_funcs.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/fnnls.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/misc_util.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/Makefile +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/make.bat +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/eden.ini +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/eden.ini +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/release.sh +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/to_do_list +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/readthedocs.yml +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/setup.cfg +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/setup.py +0 -0
- {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/to_do_list +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: autoarray
|
|
3
|
-
Version: 2026.5.
|
|
3
|
+
Version: 2026.5.8.2
|
|
4
4
|
Summary: PyAuto Data Structures
|
|
5
5
|
Author-email: James Nightingale <James.Nightingale@newcastle.ac.uk>, Richard Hayes <richard@rghsoftware.co.uk>
|
|
6
6
|
License: MIT
|
|
@@ -16,9 +16,9 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
18
|
Requires-Python: >=3.9
|
|
19
|
-
Description-Content-Type: text/
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
20
|
License-File: LICENSE
|
|
21
|
-
Requires-Dist: autoconf==2026.5.
|
|
21
|
+
Requires-Dist: autoconf==2026.5.8.2
|
|
22
22
|
Requires-Dist: astropy<=7.2.0,>=5.0
|
|
23
23
|
Requires-Dist: decorator>=4.0.0
|
|
24
24
|
Requires-Dist: dill>=0.3.1.1
|
|
@@ -44,4 +44,5 @@ Requires-Dist: pynufft==2022.2.2; extra == "dev"
|
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
46
46
|
# PyAutoArray
|
|
47
|
+
|
|
47
48
|
A library for manipulating arrays within the PyAuto software framework
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
# PyAutoArray
|
|
2
|
-
|
|
1
|
+
# PyAutoArray
|
|
2
|
+
|
|
3
|
+
A library for manipulating arrays within the PyAuto software framework
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
The `config` folder contains configuration files which customize default **PyAutoLens**.
|
|
2
|
+
|
|
3
|
+
# Folders
|
|
4
|
+
|
|
5
|
+
- `priors`: Configs defining default priors assumed on every model component and set of parameters.
|
|
6
|
+
- `visualize`: Configs defining what images are output by a lens model fit.
|
|
7
|
+
|
|
8
|
+
# Files
|
|
9
|
+
|
|
10
|
+
- `general.yaml`: Customizes general **PyAutoLens** settings.
|
|
11
|
+
- `grids.yaml`: Customize default behaviour of grids when used for calculations.
|
|
12
|
+
- `logging.yaml`: Customizes the logging behaviour.
|
|
13
|
+
- `notation.yaml`: Configs defining labels and formatting of model parameters when used for visualization.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
The `config` folder contains configuration files which customize default **PyAutoLens**.
|
|
2
|
+
|
|
3
|
+
# Files
|
|
4
|
+
|
|
5
|
+
- `general.yaml`: Customizes general visualization settings (e.g. the matplotlib backend).
|
|
6
|
+
- `include.yaml`: Customize features that appears on plotted images by default (e.g. a mask, a grid).
|
|
7
|
+
- `plots.yaml`: Customize which figures are output during a model-fit.
|
|
8
|
+
- `mat_wrap.yaml`: Specify the default matplotlib settings when figures and subplots are plotted.
|
|
9
|
+
- `mat_wrap_1d.yaml`: Specify the default matplotlib settings when 1D figures and subplots are plotted.
|
|
10
|
+
- `mat_wrap_2d.yaml`: Specify the default matplotlib settings when 2D figures and subplots are plotted.
|
|
@@ -203,13 +203,17 @@ class Imaging(AbstractDataset):
|
|
|
203
203
|
passed into the calculations performed in the `inversion` module.
|
|
204
204
|
"""
|
|
205
205
|
|
|
206
|
+
from autoarray.util.dataset_util import cap_array_2d_for_small_datasets
|
|
207
|
+
|
|
206
208
|
data = Array2D.from_fits(
|
|
207
209
|
file_path=data_path, hdu=data_hdu, pixel_scales=pixel_scales
|
|
208
210
|
)
|
|
211
|
+
data, pixel_scales = cap_array_2d_for_small_datasets(data, pixel_scales)
|
|
209
212
|
|
|
210
213
|
noise_map = Array2D.from_fits(
|
|
211
214
|
file_path=noise_map_path, hdu=noise_map_hdu, pixel_scales=pixel_scales
|
|
212
215
|
)
|
|
216
|
+
noise_map, pixel_scales = cap_array_2d_for_small_datasets(noise_map, pixel_scales)
|
|
213
217
|
|
|
214
218
|
if psf_path is not None:
|
|
215
219
|
kernel = Array2D.from_fits(
|
|
@@ -310,9 +310,24 @@ def psf_precision_value_from(
|
|
|
310
310
|
|
|
311
311
|
for k0_y in range(kernel_native.shape[0]):
|
|
312
312
|
for k0_x in range(kernel_native.shape[1]):
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
313
|
+
iy = ip0_y + k0_y + kernel_shift_y
|
|
314
|
+
ix = ip0_x + k0_x + kernel_shift_x
|
|
315
|
+
|
|
316
|
+
# numba @jit() does not bounds-check array reads. Without this
|
|
317
|
+
# guard, a kernel position that lands off the noise-map array
|
|
318
|
+
# (e.g. a mask pixel within `kernel_shift` of the array edge)
|
|
319
|
+
# silently reads uninitialized memory, producing astronomical
|
|
320
|
+
# or non-finite contributions that poison the entire
|
|
321
|
+
# psf_precision_operator and downstream curvature matrix.
|
|
322
|
+
if (
|
|
323
|
+
iy < 0
|
|
324
|
+
or iy >= value_native.shape[0]
|
|
325
|
+
or ix < 0
|
|
326
|
+
or ix >= value_native.shape[1]
|
|
327
|
+
):
|
|
328
|
+
continue
|
|
329
|
+
|
|
330
|
+
value = value_native[iy, ix]
|
|
316
331
|
|
|
317
332
|
if value > 0.0:
|
|
318
333
|
k1_y = k0_y + ip_y_offset
|
|
@@ -60,8 +60,13 @@ def subplot_of_mapper(
|
|
|
60
60
|
|
|
61
61
|
# panel 0: data subtracted
|
|
62
62
|
try:
|
|
63
|
+
array = inversion.data_subtracted_dict[mapper]
|
|
64
|
+
from autoarray.structures.visibilities import Visibilities
|
|
65
|
+
|
|
66
|
+
if isinstance(array, Visibilities):
|
|
67
|
+
array = inversion.transformer.image_from(visibilities=array)
|
|
63
68
|
plot_array(
|
|
64
|
-
|
|
69
|
+
array,
|
|
65
70
|
ax=axes[0],
|
|
66
71
|
title=_pf("Data Subtracted"),
|
|
67
72
|
colormap=colormap,
|
|
@@ -286,8 +291,13 @@ def subplot_mappings(
|
|
|
286
291
|
|
|
287
292
|
# panel 0: data subtracted
|
|
288
293
|
try:
|
|
294
|
+
array = inversion.data_subtracted_dict[mapper]
|
|
295
|
+
from autoarray.structures.visibilities import Visibilities
|
|
296
|
+
|
|
297
|
+
if isinstance(array, Visibilities):
|
|
298
|
+
array = inversion.transformer.image_from(visibilities=array)
|
|
289
299
|
plot_array(
|
|
290
|
-
|
|
300
|
+
array,
|
|
291
301
|
ax=axes[0],
|
|
292
302
|
title="Data Subtracted",
|
|
293
303
|
colormap=colormap,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from os import path
|
|
3
2
|
import os
|
|
3
|
+
from pathlib import Path
|
|
4
4
|
from typing import Union, List, Optional
|
|
5
5
|
|
|
6
6
|
from autoarray.structures.abstract_structure import Structure
|
|
@@ -100,7 +100,7 @@ class Output:
|
|
|
100
100
|
return None
|
|
101
101
|
|
|
102
102
|
if self.format_folder:
|
|
103
|
-
output_path =
|
|
103
|
+
output_path = str(Path(self.path) / format)
|
|
104
104
|
else:
|
|
105
105
|
output_path = self.path
|
|
106
106
|
|
|
@@ -156,7 +156,7 @@ class Output:
|
|
|
156
156
|
|
|
157
157
|
try:
|
|
158
158
|
plt.savefig(
|
|
159
|
-
|
|
159
|
+
str(Path(output_path) / f"{filename}.{format}"),
|
|
160
160
|
bbox_inches=self.bbox_inches,
|
|
161
161
|
pad_inches=0.1,
|
|
162
162
|
)
|
|
@@ -257,9 +257,9 @@ class Output:
|
|
|
257
257
|
|
|
258
258
|
import sys
|
|
259
259
|
|
|
260
|
-
script_name =
|
|
260
|
+
script_name = Path(sys.argv[0]).name.replace(".py", "")
|
|
261
261
|
|
|
262
|
-
output_path =
|
|
262
|
+
output_path = str(Path(os.getcwd()) / "output_mode" / script_name)
|
|
263
263
|
os.makedirs(output_path, exist_ok=True)
|
|
264
264
|
|
|
265
265
|
self.savefig(f"{COUNT}_{filename}", output_path, "png")
|
|
@@ -4,6 +4,7 @@ Shared utilities for the direct-matplotlib plot functions.
|
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
6
|
import os
|
|
7
|
+
from pathlib import Path
|
|
7
8
|
from typing import List, Optional, Tuple
|
|
8
9
|
|
|
9
10
|
import numpy as np
|
|
@@ -310,8 +311,8 @@ def _output_mode_save(fig, filename):
|
|
|
310
311
|
|
|
311
312
|
import sys
|
|
312
313
|
|
|
313
|
-
script_name =
|
|
314
|
-
output_path =
|
|
314
|
+
script_name = Path(sys.argv[0]).stem
|
|
315
|
+
output_path = str(Path(os.getcwd()) / "output_mode" / script_name)
|
|
315
316
|
os.makedirs(output_path, exist_ok=True)
|
|
316
317
|
|
|
317
318
|
count = getattr(_output_mode_save, "_count", -1) + 1
|
|
@@ -319,7 +320,7 @@ def _output_mode_save(fig, filename):
|
|
|
319
320
|
|
|
320
321
|
try:
|
|
321
322
|
fig.savefig(
|
|
322
|
-
|
|
323
|
+
str(Path(output_path) / f"{count}_{filename}.png"),
|
|
323
324
|
dpi=150,
|
|
324
325
|
bbox_inches="tight",
|
|
325
326
|
pad_inches=0.1,
|
|
@@ -371,7 +372,7 @@ def subplot_save(fig, output_path, output_filename, output_format=None):
|
|
|
371
372
|
os.makedirs(output_path, exist_ok=True)
|
|
372
373
|
try:
|
|
373
374
|
fig.savefig(
|
|
374
|
-
|
|
375
|
+
str(Path(output_path) / f"{output_filename}.{output_format}"),
|
|
375
376
|
bbox_inches="tight",
|
|
376
377
|
pad_inches=0.1,
|
|
377
378
|
)
|
|
@@ -552,7 +553,7 @@ def save_figure(
|
|
|
552
553
|
continue
|
|
553
554
|
try:
|
|
554
555
|
fig.savefig(
|
|
555
|
-
|
|
556
|
+
str(Path(path) / f"{filename}.{fmt}"),
|
|
556
557
|
dpi=dpi,
|
|
557
558
|
bbox_inches="tight",
|
|
558
559
|
pad_inches=0.1,
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
SMALL_DATASETS_SHAPE_NATIVE = (15, 15)
|
|
7
|
+
SMALL_DATASETS_PIXEL_SCALES = 0.6
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def cap_array_2d_for_small_datasets(array_2d, pixel_scales):
|
|
11
|
+
"""
|
|
12
|
+
Center-crop a 2D autoarray to the small-datasets cap when
|
|
13
|
+
``PYAUTO_SMALL_DATASETS=1`` is active.
|
|
14
|
+
|
|
15
|
+
Returns ``(array_2d, pixel_scales)`` unchanged in any of these cases:
|
|
16
|
+
|
|
17
|
+
- ``PYAUTO_SMALL_DATASETS`` is not set to ``"1"``.
|
|
18
|
+
- ``array_2d.shape_native`` is already at-or-below the cap (15, 15).
|
|
19
|
+
|
|
20
|
+
When the env var is set and the input shape exceeds (15, 15), returns a
|
|
21
|
+
new ``Array2D`` center-cropped to (15, 15) with ``pixel_scales`` overridden
|
|
22
|
+
to 0.6 — matching the convention used by ``Mask2D.circular`` and
|
|
23
|
+
``Grid2D.uniform`` so the loaded dataset stays shape-consistent with masks
|
|
24
|
+
and grids built under the same env var.
|
|
25
|
+
|
|
26
|
+
The same env var is honoured for shape construction in
|
|
27
|
+
``Mask2D.circular`` and ``Grid2D.uniform`` (and by ``should_simulate``
|
|
28
|
+
for on-disk regeneration). This helper closes the gap for FITS loaders
|
|
29
|
+
that read pre-committed datasets larger than the cap, which would
|
|
30
|
+
otherwise broadcast-mismatch against capped masks/grids.
|
|
31
|
+
|
|
32
|
+
Center-cropping (rather than downsampling/resampling) is intentional:
|
|
33
|
+
smoke-mode tests don't require numerical correctness, and the simpler
|
|
34
|
+
op avoids interpolation artifacts and a scipy dependency at this layer.
|
|
35
|
+
"""
|
|
36
|
+
if os.environ.get("PYAUTO_SMALL_DATASETS") != "1":
|
|
37
|
+
return array_2d, pixel_scales
|
|
38
|
+
|
|
39
|
+
h, w = array_2d.shape_native
|
|
40
|
+
cap_h, cap_w = SMALL_DATASETS_SHAPE_NATIVE
|
|
41
|
+
if h <= cap_h and w <= cap_w:
|
|
42
|
+
return array_2d, pixel_scales
|
|
43
|
+
|
|
44
|
+
from autoarray.structures.arrays.uniform_2d import Array2D
|
|
45
|
+
|
|
46
|
+
h0, w0 = (h - cap_h) // 2, (w - cap_w) // 2
|
|
47
|
+
cropped = array_2d.native.array[h0:h0 + cap_h, w0:w0 + cap_w]
|
|
48
|
+
return (
|
|
49
|
+
Array2D.no_mask(values=cropped, pixel_scales=SMALL_DATASETS_PIXEL_SCALES),
|
|
50
|
+
SMALL_DATASETS_PIXEL_SCALES,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def should_simulate(dataset_path):
|
|
55
|
+
"""
|
|
56
|
+
Returns True if the dataset at ``dataset_path`` needs to be simulated.
|
|
57
|
+
|
|
58
|
+
When ``PYAUTO_SMALL_DATASETS=1`` is active, any existing dataset
|
|
59
|
+
is deleted so the simulator re-creates it at the reduced resolution. This
|
|
60
|
+
avoids shape mismatches between full-resolution FITS files on disk and the
|
|
61
|
+
15x15 mask/grid cap applied by the env var.
|
|
62
|
+
|
|
63
|
+
Use this as a drop-in replacement for ``not path.exists(dataset_path)`` in
|
|
64
|
+
the workspace auto-simulation pattern::
|
|
65
|
+
|
|
66
|
+
if aa.util.dataset.should_simulate(dataset_path):
|
|
67
|
+
subprocess.run([sys.executable, "scripts/.../simulator.py"], check=True)
|
|
68
|
+
"""
|
|
69
|
+
if os.environ.get("PYAUTO_SMALL_DATASETS") == "1":
|
|
70
|
+
if Path(dataset_path).exists():
|
|
71
|
+
shutil.rmtree(dataset_path)
|
|
72
|
+
|
|
73
|
+
return not Path(dataset_path).exists()
|
|
@@ -4,7 +4,7 @@ CONTRIBUTING.md
|
|
|
4
4
|
LICENSE
|
|
5
5
|
MANIFEST.in
|
|
6
6
|
PLAN.md
|
|
7
|
-
README.
|
|
7
|
+
README.md
|
|
8
8
|
eden.ini
|
|
9
9
|
pyproject.toml
|
|
10
10
|
readthedocs.yml
|
|
@@ -23,10 +23,10 @@ autoarray/numba_util.py
|
|
|
23
23
|
autoarray/settings.py
|
|
24
24
|
autoarray/type.py
|
|
25
25
|
autoarray/config/.gitignore
|
|
26
|
-
autoarray/config/README.
|
|
26
|
+
autoarray/config/README.md
|
|
27
27
|
autoarray/config/general.yaml
|
|
28
28
|
autoarray/config/logging.yaml
|
|
29
|
-
autoarray/config/visualize/README.
|
|
29
|
+
autoarray/config/visualize/README.md
|
|
30
30
|
autoarray/config/visualize/general.yaml
|
|
31
31
|
autoarray/config/visualize/plots.yaml
|
|
32
32
|
autoarray/dataset/__init__.py
|
|
@@ -235,7 +235,7 @@ autoarray/util/fnnls.py
|
|
|
235
235
|
autoarray/util/misc_util.py
|
|
236
236
|
docs/Makefile
|
|
237
237
|
docs/conf.py
|
|
238
|
-
docs/index.
|
|
238
|
+
docs/index.md
|
|
239
239
|
docs/make.bat
|
|
240
240
|
files/eden.ini
|
|
241
241
|
files/release.sh
|
|
@@ -10,11 +10,11 @@ import datetime
|
|
|
10
10
|
|
|
11
11
|
# If extensions (or modules to document with autodoc) are in another directory,
|
|
12
12
|
# add these directories to sys.path here. If the directory is relative to the
|
|
13
|
-
# documentation root, use
|
|
13
|
+
# documentation root, use Path(...).resolve() to make it absolute, like shown here.
|
|
14
14
|
#
|
|
15
|
-
# import os
|
|
16
15
|
# import sys
|
|
17
|
-
#
|
|
16
|
+
# from pathlib import Path
|
|
17
|
+
# sys.path.insert(0, str(Path(".").resolve()))
|
|
18
18
|
|
|
19
19
|
# -- Project information -----------------------------------------------------
|
|
20
20
|
|
|
@@ -39,6 +39,7 @@ extensions = [
|
|
|
39
39
|
"sphinx.ext.napoleon",
|
|
40
40
|
"sphinx.ext.extlinks",
|
|
41
41
|
"numpydoc",
|
|
42
|
+
"myst_parser",
|
|
42
43
|
]
|
|
43
44
|
|
|
44
45
|
## Generate autodoc stubs with summaries from code
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
name = "autoarray"
|
|
7
7
|
dynamic = ["version"]
|
|
8
8
|
description="PyAuto Data Structures"
|
|
9
|
-
readme = { file = "README.
|
|
9
|
+
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { text = "MIT" }
|
|
11
11
|
requires-python = ">=3.9"
|
|
12
12
|
authors = [
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
]
|
|
27
27
|
keywords = ["cli"]
|
|
28
28
|
dependencies = [
|
|
29
|
-
"autoconf==2026.5.
|
|
29
|
+
"autoconf==2026.5.8.2",
|
|
30
30
|
"astropy>=5.0,<=7.2.0",
|
|
31
31
|
"decorator>=4.0.0",
|
|
32
32
|
"dill>=0.3.1.1",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
The ``config`` folder contains configuration files which customize default **PyAutoLens**.
|
|
2
|
-
|
|
3
|
-
Folders
|
|
4
|
-
-------
|
|
5
|
-
|
|
6
|
-
- ``priors``: Configs defining default priors assumed on every model component and set of parameters.
|
|
7
|
-
- ``visualize``: Configs defining what images are output by a lens model fit.
|
|
8
|
-
|
|
9
|
-
Files
|
|
10
|
-
-----
|
|
11
|
-
|
|
12
|
-
- ``general.yaml``: Customizes general **PyAutoLens** settings.
|
|
13
|
-
- ``grids.yaml``: Customize default behaviour of grids when used for calculations.
|
|
14
|
-
- ``logging.yaml``: Customizes the logging behaviour.
|
|
15
|
-
- ``notation.yaml``: Configs defining labels and formatting of model parameters when used for visualization.
|
|
16
|
-
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
The ``config`` folder contains configuration files which customize default **PyAutoLens**.
|
|
2
|
-
|
|
3
|
-
Files
|
|
4
|
-
-----
|
|
5
|
-
|
|
6
|
-
- ``general.yaml``: Customizes general visualization settings (e.g. the matplotlib backend).
|
|
7
|
-
- ``include.yaml``: Customize features that appears on plotted images by default (e.g. a mask, a grid).
|
|
8
|
-
- ``plots.yaml``: Customize which figures are output during a model-fit.
|
|
9
|
-
- ``mat_wrap.yaml``: Specify the default matplotlib settings when figures and subplots are plotted.
|
|
10
|
-
- ``mat_wrap_1d.yaml``: Specify the default matplotlib settings when 1D figures and subplots are plotted.
|
|
11
|
-
- ``mat_wrap_2d.yaml``: Specify the default matplotlib settings when 2D figures and subplots are plotted.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import shutil
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def should_simulate(dataset_path):
|
|
6
|
-
"""
|
|
7
|
-
Returns True if the dataset at ``dataset_path`` needs to be simulated.
|
|
8
|
-
|
|
9
|
-
When ``PYAUTO_SMALL_DATASETS=1`` is active, any existing dataset
|
|
10
|
-
is deleted so the simulator re-creates it at the reduced resolution. This
|
|
11
|
-
avoids shape mismatches between full-resolution FITS files on disk and the
|
|
12
|
-
15x15 mask/grid cap applied by the env var.
|
|
13
|
-
|
|
14
|
-
Use this as a drop-in replacement for ``not path.exists(dataset_path)`` in
|
|
15
|
-
the workspace auto-simulation pattern::
|
|
16
|
-
|
|
17
|
-
if aa.util.dataset.should_simulate(dataset_path):
|
|
18
|
-
subprocess.run([sys.executable, "scripts/.../simulator.py"], check=True)
|
|
19
|
-
"""
|
|
20
|
-
if os.environ.get("PYAUTO_SMALL_DATASETS") == "1":
|
|
21
|
-
if os.path.exists(dataset_path):
|
|
22
|
-
shutil.rmtree(dataset_path)
|
|
23
|
-
|
|
24
|
-
return not os.path.exists(dataset_path)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.. include:: ../README.rst
|
|
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
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/interferometer_plots.py
RENAMED
|
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
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/fit_interferometer_plots.py
RENAMED
|
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
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/dataset_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/__init__.py
RENAMED
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/abstract.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/mapping.py
RENAMED
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/sparse.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/sparse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/sparse.py
RENAMED
|
File without changes
|
{autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/inversion_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|