lezargus 0.0.4.dev44__tar.gz → 0.0.4.dev51__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.
- lezargus-0.0.4.dev51/.vscode/settings.json +2 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/PKG-INFO +1 -1
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/conf.py +0 -1
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/pyproject.toml +6 -5
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/__version__.py +1 -1
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/__init__.py +13 -6
- lezargus-0.0.4.dev51/src/lezargus/container/atmosphere.py +128 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/broadcast.py +82 -74
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/parent.py +2 -4
- lezargus-0.0.4.dev44/src/lezargus/container/spectra.py → lezargus-0.0.4.dev51/src/lezargus/container/spectrum.py +191 -159
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/initialize.py +32 -160
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/__init__.py +1 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/array.py +0 -111
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/atmosphere.py +5 -5
- lezargus-0.0.4.dev51/src/lezargus/library/conversion.py +110 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/data.py +3 -3
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/fits.py +3 -3
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/hint.py +1 -1
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/interpolate.py +214 -23
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/logging.py +9 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/math.py +45 -3
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/path.py +1 -1
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/photometry.py +12 -12
- lezargus-0.0.4.dev51/src/lezargus/library/sanitize.py +220 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/stitch.py +43 -24
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/simulation/spectre.py +43 -43
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/conftest.py +6 -4
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_init.py +2 -4
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_library_config.py +16 -10
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_library_logging.py +8 -3
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_library_path.py +22 -19
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_library_wrapper.py +21 -17
- lezargus-0.0.4.dev44/src/lezargus/library/conversion.py +0 -201
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.gitattributes +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.github/workflows/format.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.github/workflows/lint.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.github/workflows/publish.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.github/workflows/tests.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/.gitignore +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/CONTRIBUTING.md +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/README.md +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/SECURITY.md +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/.nojekyll +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/Makefile +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.buildinfo +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.__main__.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.__version__.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.broadcast.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.cube.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.image.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.mosaic.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.parent.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.spectra.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.initialize.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.array.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.atmosphere.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.config.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.conversion.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.convolution.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.data.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.fits.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.flags.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.hint.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.interpolate.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.logging.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.math.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.path.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.photometry.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.stitch.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.temporary.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.uncertainty.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.wrapper.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.simulation.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.simulation.spectre.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/modules.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/environment.pickle +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/index.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/contributing.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/convention.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/index.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/photometry.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/synthetic_photometry.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/uncertainty.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/user/index.doctree +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/.nojekyll +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/index.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/broadcast.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/cube.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/image.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/mosaic.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/parent.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/spectra.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/initialize.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/array.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/atmosphere.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/config.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/conversion.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/convolution.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/data.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/fits.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/flags.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/interpolate.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/logging.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/math.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/path.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/photometry.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/stitch.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/temporary.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/uncertainty.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/wrapper.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/simulation/spectre.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.__main__.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.__version__.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.broadcast.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.cube.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.image.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.mosaic.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.parent.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.spectra.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.initialize.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.array.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.atmosphere.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.config.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.conversion.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.convolution.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.data.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.fits.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.flags.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.hint.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.interpolate.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.logging.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.math.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.path.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.photometry.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.stitch.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.temporary.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.uncertainty.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.wrapper.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.simulation.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.simulation.spectre.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/modules.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/contributing.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/convention.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/photometry.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/synthetic_photometry.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/uncertainty.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_sources/user/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/basic.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/doctools.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/documentation_options.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/file.png +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_binder.svg +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_colab.png +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_deepnote.svg +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_jupyterhub.svg +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/language_data.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ar/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/bg/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/bn/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ca/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/cs/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/da/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/de/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/el/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/eo/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/es/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/et/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/fi/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/fr/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/hr/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/id/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/it/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/iw/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ja/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ko/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/lt/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/lv/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ml/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/mr/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ms/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/nl/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/no/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/pl/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/pt/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ro/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ru/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sk/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sl/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sr/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sv/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ta/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/te/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tg/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/th/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tl/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tr/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/uk/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ur/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/vi/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/zh_CN/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/zh_TW/LC_MESSAGES/booktheme.po +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/minus.png +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/plus.png +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/pygments.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/sbt-webpack-macros.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js.map +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/pydata-sphinx-theme.js.map +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/sphinx-book-theme.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/sphinx-book-theme.js.map +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/searchtools.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/bootstrap.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/bootstrap.css.map +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/pydata-sphinx-theme.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/pydata-sphinx-theme.css.map +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/sphinx-book-theme.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/theme.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/css/all.min.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/js/all.min.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/js/all.min.js.LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/css/all.min.css +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/js/all.min.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/js/all.min.js.LICENSE.txt +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.ttf +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.woff2 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/_static/webpack-macros.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.__main__.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.__version__.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.broadcast.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.cube.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.image.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.mosaic.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.parent.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.spectra.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.initialize.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.array.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.atmosphere.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.config.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.conversion.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.convolution.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.data.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.fits.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.flags.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.hint.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.interpolate.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.logging.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.math.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.path.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.photometry.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.stitch.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.temporary.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.uncertainty.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.wrapper.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.simulation.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.simulation.spectre.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/code/modules.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/genindex.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/index.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/objects.inv +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/py-modindex.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/search.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/searchindex.js +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/contributing.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/convention.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/index.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/photometry.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/synthetic_photometry.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/technical/uncertainty.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/build/html/user/index.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/index.html +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/make.bat +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.__main__.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.__version__.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.broadcast.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.cube.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.image.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.mosaic.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.parent.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.spectra.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.initialize.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.array.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.atmosphere.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.config.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.conversion.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.convolution.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.data.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.fits.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.flags.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.hint.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.interpolate.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.logging.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.math.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.path.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.photometry.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.stitch.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.temporary.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.wrapper.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.simulation.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.simulation.spectre.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/code/modules.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/atmosphere.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/contributing.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/convention.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/photometry.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/technical/uncertainty.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/docs/source/user/index.rst +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/rebuild.ps1 +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/__init__.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/__main__.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/configuration.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/cube.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/image.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/container/mosaic.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za0.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za30.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za45.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za60.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za0.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za30.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za45.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za60.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_H_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_H_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_J_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_J_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_Ks_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_Ks_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GB_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GB_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GG_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GG_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GR_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GR_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_B_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_B_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_U_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_U_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_V_energy.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_V_photon.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/gem_atm_ir_rad.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/gem_atm_opt_rad.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za0.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za30.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za45.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za60.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za0.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za30.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za45.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za60.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_109Vir.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_16CygB.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_A0V.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_Sun.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_Vega.fits +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/config.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/convolution.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/flags.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/temporary.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/library/wrapper.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/src/lezargus/simulation/__init__.py +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_configuration_overrides.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_files/config_filename_not_flat_configuration.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/tests/test_files/config_filename_with_lowercase_keys.yaml +0 -0
- {lezargus-0.0.4.dev44 → lezargus-0.0.4.dev51}/workspace.code-workspace +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: lezargus
|
|
3
|
-
Version: 0.0.4.
|
|
3
|
+
Version: 0.0.4.dev51
|
|
4
4
|
Summary: The accompanying data software package to the IRTF SPECTRE Spectrograph.
|
|
5
5
|
Project-URL: Homepage, http://irtfweb.ifa.hawaii.edu/~spectre/
|
|
6
6
|
Project-URL: Documentation, https://psmd-iberutaru.github.io/Lezargus/
|
|
@@ -57,10 +57,10 @@ exclude = [
|
|
|
57
57
|
dependencies = [
|
|
58
58
|
"pyinstaller",
|
|
59
59
|
"coverage[toml]>=7.3.4",
|
|
60
|
-
"pytest>=
|
|
61
|
-
"black[jupyter]>=
|
|
62
|
-
"pylint[spelling]>=3.
|
|
63
|
-
"ruff>=0.
|
|
60
|
+
"pytest>=8.1.0",
|
|
61
|
+
"black[jupyter]>=24.4.0",
|
|
62
|
+
"pylint[spelling]>=3.1.0",
|
|
63
|
+
"ruff>=0.3.7",
|
|
64
64
|
"sphinx>=7.2.6",
|
|
65
65
|
"sphinx-book-theme>=1.1.0",
|
|
66
66
|
]
|
|
@@ -183,12 +183,13 @@ good-names-rgxs = [
|
|
|
183
183
|
]
|
|
184
184
|
disable = [
|
|
185
185
|
"R0801", # (duplicate-code)
|
|
186
|
+
"R0401", # (cyclic-import)
|
|
186
187
|
"R0902", # (too-many-instance-attributes)
|
|
187
188
|
"R0903", # (too-few-public-methods)
|
|
188
189
|
"R0913", # (too-many-arguments)
|
|
189
190
|
"R0914", # (too-many-locals)
|
|
190
|
-
"R0401", # (cyclic-import)
|
|
191
191
|
"C0302", # (too-many-lines)
|
|
192
|
+
"C0413", # (wrong-import-position) - Let Ruff and isort handle imports.
|
|
192
193
|
]
|
|
193
194
|
extension-pkg-allow-list = [
|
|
194
195
|
"PySide6",
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
"""Containers for data.
|
|
2
2
|
|
|
3
|
-
This module contains the containers
|
|
4
|
-
broken into different files for ease.
|
|
5
|
-
to define connivent arithmetic.
|
|
3
|
+
This module contains the containers to hold different data. We have 4 major
|
|
4
|
+
classes for <=3-dimensional data, broken into different files for ease.
|
|
5
|
+
There is a parent class which we use to define connivent arithmetic.
|
|
6
|
+
|
|
7
|
+
Aside from the 4 major classes, there are other minor containers with more
|
|
8
|
+
specific purposes.
|
|
6
9
|
"""
|
|
7
10
|
|
|
8
|
-
# The parent class used to properly handle the arithmetic of
|
|
11
|
+
# The parent class used to properly handle the arithmetic of spectrum
|
|
9
12
|
# and data cubes.
|
|
10
13
|
from lezargus.container.parent import LezargusContainerArithmetic
|
|
11
14
|
|
|
12
15
|
# isort: split
|
|
13
16
|
|
|
14
|
-
#
|
|
17
|
+
# The major classes for dimensional data.
|
|
15
18
|
from lezargus.container.cube import LezargusCube
|
|
16
19
|
from lezargus.container.image import LezargusImage
|
|
17
20
|
from lezargus.container.mosaic import LezargusMosaic
|
|
18
|
-
from lezargus.container.
|
|
21
|
+
from lezargus.container.spectrum import LezargusSpectrum
|
|
19
22
|
|
|
20
23
|
# isort: split
|
|
21
24
|
|
|
25
|
+
# The minor classes for dimensional data, with a very specific implementation
|
|
26
|
+
# details.
|
|
27
|
+
|
|
28
|
+
|
|
22
29
|
# Other inner packages. Although easily accessible by the user, the depth of
|
|
23
30
|
# these packages and functions, compared to the main containers, implies that
|
|
24
31
|
# we should still abstract it away from the end-user.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"""Container classes to hold both atmospheric transmission and radiance.
|
|
2
|
+
|
|
3
|
+
We define small wrappers to hold atmospheric transmission and radiance data
|
|
4
|
+
so that it can be used more easily. The data itself usually has been derived
|
|
5
|
+
from PSG. These container classes are just intuitive wrappers around
|
|
6
|
+
interpolation.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import lezargus
|
|
10
|
+
from lezargus.library import hint
|
|
11
|
+
from lezargus.library import logging
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AtmosphereSpectrumGenerator:
|
|
15
|
+
"""Atmospheric spectrum generator/interpolator.
|
|
16
|
+
|
|
17
|
+
This class generates, via interpolation of a pre-computed grid,
|
|
18
|
+
atmospheric transmission and radiance spectrum.
|
|
19
|
+
|
|
20
|
+
Attributes
|
|
21
|
+
----------
|
|
22
|
+
wavelength : ndarray
|
|
23
|
+
The wavelength axis of the grid data we are interpolating over.
|
|
24
|
+
zenith_angle : ndarray
|
|
25
|
+
The zenith angle axis of the grid data we are interpolating over.
|
|
26
|
+
The actual interpolation uses airmass instead of zenith angle.
|
|
27
|
+
airmass : ndarray
|
|
28
|
+
The calculated airmass axis of the grid data we are interpolating over.
|
|
29
|
+
pwv : ndarray
|
|
30
|
+
The precipitable water vapor axis of the grid data we are interpolating
|
|
31
|
+
over.
|
|
32
|
+
transmission : ndarray
|
|
33
|
+
The transmission data grid, axes defined by other attributes.
|
|
34
|
+
radiance : ndarray
|
|
35
|
+
The radiance data grid, axes defined by other attributes.
|
|
36
|
+
_transmission_interpolator : RegularNDInterpolator
|
|
37
|
+
The interpolator class for the transmission data which we use as the
|
|
38
|
+
backbone of this generator.
|
|
39
|
+
_radiance_interpolator : RegularNDInterpolator
|
|
40
|
+
The interpolator class for the transmission data which we use as the
|
|
41
|
+
backbone of this generator.
|
|
42
|
+
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
def __init__(
|
|
46
|
+
self: "AtmosphereSpectrumGenerator",
|
|
47
|
+
wavelength: hint.ndarray,
|
|
48
|
+
zenith_angle: hint.ndarray,
|
|
49
|
+
pwv: hint.ndarray,
|
|
50
|
+
transmission: hint.ndarray,
|
|
51
|
+
radiance: hint.ndarray,
|
|
52
|
+
) -> None:
|
|
53
|
+
"""Initialize the atmospheric transmission and radiance container.
|
|
54
|
+
|
|
55
|
+
Parameters
|
|
56
|
+
----------
|
|
57
|
+
wavelength : ndarray
|
|
58
|
+
The wavelength axis of the grid data that defines the transmission
|
|
59
|
+
and radiance data.
|
|
60
|
+
zenith_angle : ndarray
|
|
61
|
+
The zenith angle axis of the grid data that defines the
|
|
62
|
+
transmission and radiance data.
|
|
63
|
+
pwv : ndarray
|
|
64
|
+
The precipitable water vapor axis of the grid data that defines
|
|
65
|
+
the transmission and radiance data.
|
|
66
|
+
transmission : ndarray
|
|
67
|
+
The transmission data grid, axes defined by other attributes.
|
|
68
|
+
radiance : ndarray
|
|
69
|
+
The radiance data grid, axes defined by other attributes.
|
|
70
|
+
|
|
71
|
+
"""
|
|
72
|
+
# Interpolation using airmass over zenith angle makes more sense as
|
|
73
|
+
# airmass has a linear response.
|
|
74
|
+
airmass = lezargus.library.atmosphere.airmass(zenith_angle=zenith_angle)
|
|
75
|
+
|
|
76
|
+
# We check that the shape provided by the defining axes matches the
|
|
77
|
+
# data shape. The provided axis order is reversed of Numpy's
|
|
78
|
+
# conventions.
|
|
79
|
+
domain = (wavelength, airmass, pwv)
|
|
80
|
+
domain_shape = tuple(domaindex.size for domaindex in domain)
|
|
81
|
+
if (
|
|
82
|
+
reversed(domain_shape) != transmission.shape
|
|
83
|
+
or reversed(domain_shape) != radiance.shape
|
|
84
|
+
):
|
|
85
|
+
logging.error(
|
|
86
|
+
error_type=logging.InputError,
|
|
87
|
+
message=(
|
|
88
|
+
f"The shape of transmission {transmission.shape} or"
|
|
89
|
+
f" radiance {radiance.shape} does not match the expected"
|
|
90
|
+
f" shape of {domain_shape} from the input axes."
|
|
91
|
+
),
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
# We can properly build our class.
|
|
95
|
+
self.wavelength = wavelength
|
|
96
|
+
self.zenith_angle = zenith_angle
|
|
97
|
+
self.airmass = airmass
|
|
98
|
+
self.pwv = pwv
|
|
99
|
+
self.transmission = transmission
|
|
100
|
+
self.radiance = radiance
|
|
101
|
+
|
|
102
|
+
# Building the interpolators.
|
|
103
|
+
self._transmission_interpolator = (
|
|
104
|
+
lezargus.library.interpolate.RegularNDInterpolate(
|
|
105
|
+
domain=domain,
|
|
106
|
+
v=self.transmission,
|
|
107
|
+
)
|
|
108
|
+
)
|
|
109
|
+
self._radiance_interpolator = (
|
|
110
|
+
lezargus.library.interpolate.RegularNDInterpolate(
|
|
111
|
+
domain=domain,
|
|
112
|
+
v=self.radiance,
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
def generate_transmission_spectra(
|
|
117
|
+
self: hint.Self,
|
|
118
|
+
zenith_angle: float,
|
|
119
|
+
pwv: float,
|
|
120
|
+
) -> hint.LezargusSpectrum:
|
|
121
|
+
"""TODO."""
|
|
122
|
+
|
|
123
|
+
def generate_radiance_spectra(
|
|
124
|
+
self: hint.Self,
|
|
125
|
+
zenith_angle: float,
|
|
126
|
+
pwv: float,
|
|
127
|
+
) -> hint.LezargusSpectrum:
|
|
128
|
+
"""TODO."""
|
|
@@ -7,64 +7,70 @@ the internal conversions (such as the flags, mask, wavelength, etc) as well
|
|
|
7
7
|
based on the input template structure broadcasting to.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
#
|
|
11
|
-
# type
|
|
10
|
+
# isort: split
|
|
11
|
+
# Import required to remove circular dependencies from type checking.
|
|
12
12
|
from __future__ import annotations
|
|
13
13
|
|
|
14
|
+
from typing import TYPE_CHECKING
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from lezargus.library import hint
|
|
18
|
+
# isort: split
|
|
19
|
+
|
|
20
|
+
|
|
14
21
|
import numpy as np
|
|
15
22
|
|
|
16
23
|
import lezargus
|
|
17
|
-
from lezargus.library import hint
|
|
18
24
|
from lezargus.library import logging
|
|
19
25
|
|
|
20
26
|
|
|
21
|
-
def
|
|
22
|
-
|
|
27
|
+
def broadcast_spectrum_to_cube_uniform(
|
|
28
|
+
input_spectrum: hint.LezargusSpectrum,
|
|
23
29
|
template_cube: hint.LezargusCube,
|
|
24
30
|
wavelength_mode: str = "error",
|
|
25
31
|
) -> hint.LezargusCube:
|
|
26
|
-
"""Make a LezargusCube from a
|
|
32
|
+
"""Make a LezargusCube from a LezargusSpectrum via uniform broadcasting.
|
|
27
33
|
|
|
28
34
|
We make a LezargusCube, from a provided template, using uniform
|
|
29
35
|
broadcasting. Uniform broadcasting is where all spectral slices, within
|
|
30
36
|
the cube, are all the same for a uniform spatial distribution of the
|
|
31
|
-
|
|
37
|
+
spectrum, which is in this case the provided input spectrum.
|
|
32
38
|
|
|
33
|
-
In the case of both the input
|
|
39
|
+
In the case of both the input spectrum and provided template cube having
|
|
34
40
|
different wavelength arrays, we follow the provided mode to handle the
|
|
35
41
|
different cases. The input template cube only provides the array shapes and
|
|
36
42
|
the wavelength axis (dependant on the mode); the rest comes from the
|
|
37
|
-
input
|
|
43
|
+
input spectrum.
|
|
38
44
|
|
|
39
45
|
Parameters
|
|
40
46
|
----------
|
|
41
|
-
|
|
42
|
-
The input
|
|
47
|
+
input_spectrum : LezargusSpectrum
|
|
48
|
+
The input spectrum which will be broadcasted to fit the input template
|
|
43
49
|
cube.
|
|
44
50
|
template_cube : LezargusCube
|
|
45
51
|
The template cube which will serve as a template to determine the
|
|
46
52
|
dimensional properties of the resulting broadcasting cube.
|
|
47
53
|
wavelength_mode : str, default = "error"
|
|
48
54
|
The mode to handle possible wavelength array conflicts between the
|
|
49
|
-
|
|
55
|
+
spectrum and the cube. The available options are:
|
|
50
56
|
|
|
51
|
-
- "
|
|
57
|
+
- "spectrum" : Prefer the spectrum's wavelength array; the cube's
|
|
52
58
|
wavelength is ignored.
|
|
53
|
-
- "cube" : Prefer the cube's wavelength array; the
|
|
59
|
+
- "cube" : Prefer the cube's wavelength array; the spectrum is
|
|
54
60
|
interpolated to align to the new wavelength.
|
|
55
61
|
- "error" : We log an error. We still attempt to figure it out,
|
|
56
|
-
defaulting to the
|
|
62
|
+
defaulting to the spectrum's wavelength array.
|
|
57
63
|
|
|
58
64
|
Returns
|
|
59
65
|
-------
|
|
60
66
|
broadcast_cube : LezargusCube
|
|
61
|
-
The LezargusCube after the
|
|
62
|
-
Any header information came from first the
|
|
67
|
+
The LezargusCube after the spectrum was uniformly broadcast spatially.
|
|
68
|
+
Any header information came from first the spectrum then the cube.
|
|
63
69
|
|
|
64
70
|
"""
|
|
65
71
|
# First thing is first, type check the input.
|
|
66
72
|
if not (
|
|
67
|
-
isinstance(
|
|
73
|
+
isinstance(input_spectrum, lezargus.container.LezargusSpectrum)
|
|
68
74
|
and isinstance(template_cube, lezargus.container.LezargusCube)
|
|
69
75
|
):
|
|
70
76
|
# The objects are not the proper type so broadcasting them might go
|
|
@@ -72,9 +78,9 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
72
78
|
logging.error(
|
|
73
79
|
error_type=logging.InputError,
|
|
74
80
|
message=(
|
|
75
|
-
f"The input
|
|
81
|
+
f"The input spectrum type {type(input_spectrum)} and template"
|
|
76
82
|
f" cube type {type(template_cube)} are not instances of the"
|
|
77
|
-
" expected
|
|
83
|
+
" expected LezargusSpectrum and LezargusCube types"
|
|
78
84
|
" respectively. Broadcasting may fail."
|
|
79
85
|
),
|
|
80
86
|
)
|
|
@@ -82,22 +88,23 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
82
88
|
# Now, we need to determine the definitive wavelength array based on the
|
|
83
89
|
# provided wavelength mode. However, the two wavelength units might be
|
|
84
90
|
# different, this is problem that we ought to warn.
|
|
85
|
-
if
|
|
91
|
+
if input_spectrum.wavelength_unit != template_cube.wavelength_unit:
|
|
86
92
|
logging.warning(
|
|
87
93
|
warning_type=logging.AccuracyWarning,
|
|
88
94
|
message=(
|
|
89
|
-
"The input
|
|
90
|
-
f" {
|
|
91
|
-
|
|
95
|
+
"The input spectrum wavelength unit is"
|
|
96
|
+
f" {input_spectrum.wavelength_unit}, different from the "
|
|
97
|
+
" template cube wavelength unit "
|
|
98
|
+
f" {template_cube.wavelength_unit}"
|
|
92
99
|
),
|
|
93
100
|
)
|
|
94
101
|
# Regardless of the unit situation, we try our best to determine the
|
|
95
102
|
# the preferred wavelength.
|
|
96
103
|
wavelength_mode = wavelength_mode.casefold()
|
|
97
|
-
if wavelength_mode == "
|
|
98
|
-
# We rely on the
|
|
99
|
-
broadcast_wavelength =
|
|
100
|
-
broadcast_wavelength_unit =
|
|
104
|
+
if wavelength_mode == "spectrum":
|
|
105
|
+
# We rely on the spectrum's wavelength.
|
|
106
|
+
broadcast_wavelength = input_spectrum.wavelength
|
|
107
|
+
broadcast_wavelength_unit = input_spectrum.wavelength_unit
|
|
101
108
|
elif wavelength_mode == "cube":
|
|
102
109
|
# We rely on the cube's wavelength.
|
|
103
110
|
broadcast_wavelength = template_cube.wavelength
|
|
@@ -105,19 +112,19 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
105
112
|
elif wavelength_mode == "error":
|
|
106
113
|
# If the wavelengths differ, we raise an error on their mismatch.
|
|
107
114
|
if not np.all(
|
|
108
|
-
np.isclose(
|
|
115
|
+
np.isclose(input_spectrum.wavelength, template_cube.wavelength),
|
|
109
116
|
):
|
|
110
117
|
logging.error(
|
|
111
118
|
error_type=logging.InputError,
|
|
112
119
|
message=(
|
|
113
|
-
"Input
|
|
120
|
+
"Input spectrum and template cube wavelength arrays do not"
|
|
114
121
|
" match; wavelength mode is `error`; returning None."
|
|
115
122
|
),
|
|
116
123
|
)
|
|
117
|
-
# Regardless if the error was logged or not, we use the input
|
|
124
|
+
# Regardless if the error was logged or not, we use the input spectrum
|
|
118
125
|
# as the broadcast.
|
|
119
|
-
broadcast_wavelength =
|
|
120
|
-
broadcast_wavelength_unit =
|
|
126
|
+
broadcast_wavelength = input_spectrum.wavelength
|
|
127
|
+
broadcast_wavelength_unit = input_spectrum.wavelength_unit
|
|
121
128
|
else:
|
|
122
129
|
# The input parameter is not a given parameter.
|
|
123
130
|
logging.critical(
|
|
@@ -128,23 +135,23 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
128
135
|
),
|
|
129
136
|
)
|
|
130
137
|
|
|
131
|
-
# Finally, we determine the appropriate data based on the
|
|
138
|
+
# Finally, we determine the appropriate data based on the spectrum and
|
|
132
139
|
# the preferred wavelength array.
|
|
133
140
|
(
|
|
134
141
|
interpolated_data,
|
|
135
142
|
interpolated_uncertainty,
|
|
136
143
|
interpolated_mask,
|
|
137
144
|
interpolated_flags,
|
|
138
|
-
) =
|
|
145
|
+
) = input_spectrum.interpolate(
|
|
139
146
|
wavelength=broadcast_wavelength,
|
|
140
147
|
skip_mask=False,
|
|
141
148
|
skip_flags=False,
|
|
142
149
|
)
|
|
143
150
|
# The data unit for the data and the like.
|
|
144
|
-
broadcast_data_unit =
|
|
151
|
+
broadcast_data_unit = input_spectrum.data_unit
|
|
145
152
|
|
|
146
153
|
# Now, we assemble the cube. We only need the spatial coverage of the cube
|
|
147
|
-
# and broadcast our 1D
|
|
154
|
+
# and broadcast our 1D spectrum to the spatial dimensions. We do not
|
|
148
155
|
# really care for the wavelength shape of the cube.
|
|
149
156
|
x_dim, y_dim, __ = template_cube.data.shape
|
|
150
157
|
wave_dim = broadcast_wavelength.shape[0]
|
|
@@ -173,9 +180,9 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
173
180
|
|
|
174
181
|
# Finally, we reconstruct the cube. We work on copies of the headers
|
|
175
182
|
# just in case.
|
|
176
|
-
|
|
183
|
+
spectrum_header = input_spectrum.header.copy()
|
|
177
184
|
cube_header = template_cube.header.copy()
|
|
178
|
-
broadcast_header = cube_header.update(
|
|
185
|
+
broadcast_header = cube_header.update(spectrum_header)
|
|
179
186
|
|
|
180
187
|
# Building the new broadcasted cube. We use the template's cube's class
|
|
181
188
|
# just in case it has been subclassed or something.
|
|
@@ -196,13 +203,13 @@ def broadcast_spectra_to_cube_uniform(
|
|
|
196
203
|
return broadcast_cube
|
|
197
204
|
|
|
198
205
|
|
|
199
|
-
def
|
|
200
|
-
|
|
206
|
+
def broadcast_spectrum_to_cube_center(
|
|
207
|
+
input_spectrum: hint.LezargusSpectrum,
|
|
201
208
|
template_cube: hint.LezargusCube,
|
|
202
209
|
wavelength_mode: str = "error",
|
|
203
210
|
allow_even_center: bool = True,
|
|
204
211
|
) -> hint.LezargusCube:
|
|
205
|
-
"""Make a LezargusCube from a
|
|
212
|
+
"""Make a LezargusCube from a LezargusSpectrum via center broadcasting.
|
|
206
213
|
|
|
207
214
|
We make a LezargusCube, from a provided template, using center
|
|
208
215
|
broadcasting. Center broadcasting is the provided spectral slice is
|
|
@@ -211,45 +218,45 @@ def broadcast_spectra_to_cube_center(
|
|
|
211
218
|
is even, we can still try to place the image in the center, biasing it
|
|
212
219
|
towards the lower value corner.
|
|
213
220
|
|
|
214
|
-
In the case of both the input
|
|
221
|
+
In the case of both the input spectrum and provided template cube having
|
|
215
222
|
different wavelength arrays, we follow the provided mode to handle the
|
|
216
223
|
different cases. The input template cube only provides the array shapes and
|
|
217
224
|
the wavelength axis (dependant on the mode); the rest comes from the
|
|
218
|
-
input
|
|
225
|
+
input spectrum.
|
|
219
226
|
|
|
220
227
|
Parameters
|
|
221
228
|
----------
|
|
222
|
-
|
|
223
|
-
The input
|
|
229
|
+
input_spectrum : LezargusSpectrum
|
|
230
|
+
The input spectrum which will be broadcasted to fit the input template
|
|
224
231
|
cube.
|
|
225
232
|
template_cube : LezargusCube
|
|
226
233
|
The template cube which will serve as a template to determine the
|
|
227
234
|
dimensional properties of the resulting broadcasting cube.
|
|
228
235
|
wavelength_mode : str, default = "error"
|
|
229
236
|
The mode to handle possible wavelength array conflicts between the
|
|
230
|
-
|
|
237
|
+
spectrum and the cube. The available options are:
|
|
231
238
|
|
|
232
|
-
- "
|
|
239
|
+
- "spectrum" : Prefer the spectrum's wavelength array; the cube's
|
|
233
240
|
wavelength is ignored.
|
|
234
|
-
- "cube" : Prefer the cube's wavelength array; the
|
|
241
|
+
- "cube" : Prefer the cube's wavelength array; the spectrum is
|
|
235
242
|
interpolated to align to the new wavelength.
|
|
236
243
|
- "error" : We log an error and return None.
|
|
237
244
|
|
|
238
245
|
allow_even_center : bool, default = True
|
|
239
246
|
If True, and if any axis of an image slice is even, a warning is
|
|
240
|
-
logged and the
|
|
247
|
+
logged and the spectrum is put it as close to the center as possible.
|
|
241
248
|
If False, instead, an exception is raised.
|
|
242
249
|
|
|
243
250
|
Returns
|
|
244
251
|
-------
|
|
245
252
|
broadcast_cube : LezargusCube
|
|
246
|
-
The LezargusCube after the
|
|
247
|
-
Any header information came from first the
|
|
253
|
+
The LezargusCube after the spectrum was center broadcast spatially.
|
|
254
|
+
Any header information came from first the spectrum then the cube.
|
|
248
255
|
|
|
249
256
|
"""
|
|
250
257
|
# First thing is first, type check the input.
|
|
251
258
|
if not (
|
|
252
|
-
isinstance(
|
|
259
|
+
isinstance(input_spectrum, lezargus.container.LezargusSpectrum)
|
|
253
260
|
and isinstance(template_cube, lezargus.container.LezargusCube)
|
|
254
261
|
):
|
|
255
262
|
# The objects are not the proper type so broadcasting them might go
|
|
@@ -257,9 +264,9 @@ def broadcast_spectra_to_cube_center(
|
|
|
257
264
|
logging.error(
|
|
258
265
|
error_type=logging.InputError,
|
|
259
266
|
message=(
|
|
260
|
-
f"The input
|
|
267
|
+
f"The input spectrum type {type(input_spectrum)} and template"
|
|
261
268
|
f" cube type {type(template_cube)} are not instances of the"
|
|
262
|
-
" expected
|
|
269
|
+
" expected LezargusSpectrum and LezargusCube types"
|
|
263
270
|
" respectively. Broadcasting may fail."
|
|
264
271
|
),
|
|
265
272
|
)
|
|
@@ -267,22 +274,23 @@ def broadcast_spectra_to_cube_center(
|
|
|
267
274
|
# Now, we need to determine the definitive wavelength array based on the
|
|
268
275
|
# provided wavelength mode. However, the two wavelength units might be
|
|
269
276
|
# different, this is problem that we ought to warn.
|
|
270
|
-
if
|
|
277
|
+
if input_spectrum.wavelength_unit != template_cube.wavelength_unit:
|
|
271
278
|
logging.warning(
|
|
272
279
|
warning_type=logging.AccuracyWarning,
|
|
273
280
|
message=(
|
|
274
|
-
"The input
|
|
275
|
-
f" {
|
|
276
|
-
|
|
281
|
+
"The input spectrum wavelength unit is"
|
|
282
|
+
f" {input_spectrum.wavelength_unit}, different from the "
|
|
283
|
+
" template cube wavelength unit "
|
|
284
|
+
f" {template_cube.wavelength_unit}"
|
|
277
285
|
),
|
|
278
286
|
)
|
|
279
287
|
# Regardless of the unit situation, we try our best to determine the
|
|
280
288
|
# the preferred wavelength.
|
|
281
289
|
wavelength_mode = wavelength_mode.casefold()
|
|
282
|
-
if wavelength_mode == "
|
|
283
|
-
# We rely on the
|
|
284
|
-
broadcast_wavelength =
|
|
285
|
-
broadcast_wavelength_unit =
|
|
290
|
+
if wavelength_mode == "spectrum":
|
|
291
|
+
# We rely on the spectrum's wavelength.
|
|
292
|
+
broadcast_wavelength = input_spectrum.wavelength
|
|
293
|
+
broadcast_wavelength_unit = input_spectrum.wavelength_unit
|
|
286
294
|
elif wavelength_mode == "cube":
|
|
287
295
|
# We rely on the cube's wavelength.
|
|
288
296
|
broadcast_wavelength = template_cube.wavelength
|
|
@@ -290,12 +298,12 @@ def broadcast_spectra_to_cube_center(
|
|
|
290
298
|
elif wavelength_mode == "error":
|
|
291
299
|
# If the wavelengths differ, we raise an error on their mismatch.
|
|
292
300
|
if not np.all(
|
|
293
|
-
np.isclose(
|
|
301
|
+
np.isclose(input_spectrum.wavelength, template_cube.wavelength),
|
|
294
302
|
):
|
|
295
303
|
logging.error(
|
|
296
304
|
error_type=logging.InputError,
|
|
297
305
|
message=(
|
|
298
|
-
"Input
|
|
306
|
+
"Input spectrum and template cube wavelength arrays do not"
|
|
299
307
|
" match; wavelength mode is `error`; returning None."
|
|
300
308
|
),
|
|
301
309
|
)
|
|
@@ -303,8 +311,8 @@ def broadcast_spectra_to_cube_center(
|
|
|
303
311
|
broadcast_wavelength_unit = None
|
|
304
312
|
return None
|
|
305
313
|
# Otherwise, if they do match, we can continue with the broadcasting.
|
|
306
|
-
broadcast_wavelength =
|
|
307
|
-
broadcast_wavelength_unit =
|
|
314
|
+
broadcast_wavelength = input_spectrum.wavelength
|
|
315
|
+
broadcast_wavelength_unit = input_spectrum.wavelength_unit
|
|
308
316
|
else:
|
|
309
317
|
# The input parameter is not a given parameter.
|
|
310
318
|
logging.critical(
|
|
@@ -315,23 +323,23 @@ def broadcast_spectra_to_cube_center(
|
|
|
315
323
|
),
|
|
316
324
|
)
|
|
317
325
|
|
|
318
|
-
# Finally, we determine the appropriate data based on the
|
|
326
|
+
# Finally, we determine the appropriate data based on the spectrum and
|
|
319
327
|
# the preferred wavelength array.
|
|
320
328
|
(
|
|
321
329
|
interpolated_data,
|
|
322
330
|
interpolated_uncertainty,
|
|
323
331
|
interpolated_mask,
|
|
324
332
|
interpolated_flags,
|
|
325
|
-
) =
|
|
333
|
+
) = input_spectrum.interpolate(
|
|
326
334
|
wavelength=broadcast_wavelength,
|
|
327
335
|
skip_mask=False,
|
|
328
336
|
skip_flags=False,
|
|
329
337
|
)
|
|
330
338
|
# The data unit for the data and the like.
|
|
331
|
-
broadcast_data_unit =
|
|
339
|
+
broadcast_data_unit = input_spectrum.data_unit
|
|
332
340
|
|
|
333
341
|
# Now, we assemble the cube. We only need the spatial coverage of the cube
|
|
334
|
-
# and broadcast our 1D
|
|
342
|
+
# and broadcast our 1D spectrum to the spatial dimensions. We do not
|
|
335
343
|
# really care for the wavelength shape of the cube.
|
|
336
344
|
x_dim, y_dim, __ = template_cube.data.shape
|
|
337
345
|
wave_dim = broadcast_wavelength.shape[0]
|
|
@@ -347,7 +355,7 @@ def broadcast_spectra_to_cube_center(
|
|
|
347
355
|
warning_type=logging.AccuracyWarning,
|
|
348
356
|
message=(
|
|
349
357
|
f"The image slice of the template cube is even: ({x_dim},"
|
|
350
|
-
f" {y_dim}). A best attempt at putting the
|
|
358
|
+
f" {y_dim}). A best attempt at putting the spectrum in the"
|
|
351
359
|
" center is attempted."
|
|
352
360
|
),
|
|
353
361
|
)
|
|
@@ -388,9 +396,9 @@ def broadcast_spectra_to_cube_center(
|
|
|
388
396
|
|
|
389
397
|
# Finally, we reconstruct the cube. We work on copies of the headers
|
|
390
398
|
# just in case.
|
|
391
|
-
|
|
399
|
+
spectrum_header = input_spectrum.header.copy()
|
|
392
400
|
cube_header = template_cube.header.copy()
|
|
393
|
-
cube_header.update(
|
|
401
|
+
cube_header.update(spectrum_header)
|
|
394
402
|
broadcast_header = cube_header
|
|
395
403
|
|
|
396
404
|
# Building the new broadcasted cube. We use the template's cube's class
|
|
@@ -19,12 +19,10 @@ from lezargus.library import logging
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class LezargusContainerArithmetic:
|
|
22
|
-
"""Lezargus wavelength-aware arithmetic.
|
|
22
|
+
"""Lezargus wavelength-aware arithmetic for the major containers.
|
|
23
23
|
|
|
24
24
|
This is the class which allows for the arithmetic behind the scenes to
|
|
25
|
-
work with wavelength knowledge.
|
|
26
|
-
arithmetic functions to perform wavelength checks and pass it through
|
|
27
|
-
without wavelength issues.
|
|
25
|
+
work with wavelength knowledge.
|
|
28
26
|
|
|
29
27
|
Attributes
|
|
30
28
|
----------
|