lezargus 0.0.4.dev42__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.
Files changed (400) hide show
  1. lezargus-0.0.4.dev51/.vscode/settings.json +2 -0
  2. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/PKG-INFO +1 -1
  3. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/conf.py +0 -1
  4. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/pyproject.toml +6 -5
  5. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/__version__.py +1 -1
  6. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/__init__.py +13 -6
  7. lezargus-0.0.4.dev51/src/lezargus/container/atmosphere.py +128 -0
  8. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/broadcast.py +82 -74
  9. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/parent.py +2 -4
  10. lezargus-0.0.4.dev42/src/lezargus/container/spectra.py → lezargus-0.0.4.dev51/src/lezargus/container/spectrum.py +191 -159
  11. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/initialize.py +32 -160
  12. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/__init__.py +1 -0
  13. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/array.py +0 -111
  14. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/atmosphere.py +5 -5
  15. lezargus-0.0.4.dev51/src/lezargus/library/conversion.py +110 -0
  16. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/data.py +3 -3
  17. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/fits.py +3 -3
  18. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/hint.py +1 -1
  19. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/interpolate.py +229 -34
  20. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/logging.py +9 -0
  21. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/math.py +45 -3
  22. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/path.py +1 -1
  23. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/photometry.py +12 -12
  24. lezargus-0.0.4.dev51/src/lezargus/library/sanitize.py +220 -0
  25. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/stitch.py +43 -24
  26. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/simulation/spectre.py +43 -43
  27. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/conftest.py +6 -4
  28. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_init.py +2 -4
  29. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_library_config.py +16 -10
  30. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_library_logging.py +8 -3
  31. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_library_path.py +22 -19
  32. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_library_wrapper.py +21 -17
  33. lezargus-0.0.4.dev42/src/lezargus/library/conversion.py +0 -201
  34. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.gitattributes +0 -0
  35. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.github/workflows/format.yaml +0 -0
  36. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.github/workflows/lint.yaml +0 -0
  37. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.github/workflows/publish.yaml +0 -0
  38. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.github/workflows/tests.yaml +0 -0
  39. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/.gitignore +0 -0
  40. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/CONTRIBUTING.md +0 -0
  41. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/LICENSE.txt +0 -0
  42. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/README.md +0 -0
  43. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/SECURITY.md +0 -0
  44. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/.nojekyll +0 -0
  45. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/Makefile +0 -0
  46. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.buildinfo +0 -0
  47. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.__main__.doctree +0 -0
  48. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.__version__.doctree +0 -0
  49. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.broadcast.doctree +0 -0
  50. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.cube.doctree +0 -0
  51. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.doctree +0 -0
  52. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.image.doctree +0 -0
  53. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.mosaic.doctree +0 -0
  54. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.parent.doctree +0 -0
  55. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.container.spectra.doctree +0 -0
  56. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.doctree +0 -0
  57. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.initialize.doctree +0 -0
  58. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.array.doctree +0 -0
  59. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.atmosphere.doctree +0 -0
  60. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.config.doctree +0 -0
  61. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.conversion.doctree +0 -0
  62. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.convolution.doctree +0 -0
  63. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.data.doctree +0 -0
  64. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.doctree +0 -0
  65. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.fits.doctree +0 -0
  66. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.flags.doctree +0 -0
  67. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.hint.doctree +0 -0
  68. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.interpolate.doctree +0 -0
  69. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.logging.doctree +0 -0
  70. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.math.doctree +0 -0
  71. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.path.doctree +0 -0
  72. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.photometry.doctree +0 -0
  73. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.stitch.doctree +0 -0
  74. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.temporary.doctree +0 -0
  75. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.uncertainty.doctree +0 -0
  76. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.library.wrapper.doctree +0 -0
  77. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.simulation.doctree +0 -0
  78. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/lezargus.simulation.spectre.doctree +0 -0
  79. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/code/modules.doctree +0 -0
  80. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/environment.pickle +0 -0
  81. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/index.doctree +0 -0
  82. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/contributing.doctree +0 -0
  83. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/convention.doctree +0 -0
  84. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/index.doctree +0 -0
  85. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/photometry.doctree +0 -0
  86. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/synthetic_photometry.doctree +0 -0
  87. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/technical/uncertainty.doctree +0 -0
  88. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.doctrees/user/index.doctree +0 -0
  89. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/.nojekyll +0 -0
  90. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/index.html +0 -0
  91. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/broadcast.html +0 -0
  92. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/cube.html +0 -0
  93. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/image.html +0 -0
  94. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/mosaic.html +0 -0
  95. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/parent.html +0 -0
  96. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/container/spectra.html +0 -0
  97. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/initialize.html +0 -0
  98. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/array.html +0 -0
  99. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/atmosphere.html +0 -0
  100. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/config.html +0 -0
  101. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/conversion.html +0 -0
  102. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/convolution.html +0 -0
  103. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/data.html +0 -0
  104. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/fits.html +0 -0
  105. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/flags.html +0 -0
  106. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/interpolate.html +0 -0
  107. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/logging.html +0 -0
  108. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/math.html +0 -0
  109. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/path.html +0 -0
  110. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/photometry.html +0 -0
  111. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/stitch.html +0 -0
  112. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/temporary.html +0 -0
  113. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/uncertainty.html +0 -0
  114. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/library/wrapper.html +0 -0
  115. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_modules/lezargus/simulation/spectre.html +0 -0
  116. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.__main__.rst +0 -0
  117. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.__version__.rst +0 -0
  118. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.broadcast.rst +0 -0
  119. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.cube.rst +0 -0
  120. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.image.rst +0 -0
  121. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.mosaic.rst +0 -0
  122. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.parent.rst +0 -0
  123. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.rst +0 -0
  124. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.container.spectra.rst +0 -0
  125. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.initialize.rst +0 -0
  126. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.array.rst +0 -0
  127. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.atmosphere.rst +0 -0
  128. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.config.rst +0 -0
  129. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.conversion.rst +0 -0
  130. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.convolution.rst +0 -0
  131. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.data.rst +0 -0
  132. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.fits.rst +0 -0
  133. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.flags.rst +0 -0
  134. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.hint.rst +0 -0
  135. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.interpolate.rst +0 -0
  136. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.logging.rst +0 -0
  137. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.math.rst +0 -0
  138. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.path.rst +0 -0
  139. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.photometry.rst +0 -0
  140. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.rst +0 -0
  141. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.stitch.rst +0 -0
  142. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.temporary.rst +0 -0
  143. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.uncertainty.rst +0 -0
  144. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.library.wrapper.rst +0 -0
  145. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.rst +0 -0
  146. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.simulation.rst +0 -0
  147. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/lezargus.simulation.spectre.rst +0 -0
  148. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/code/modules.rst +0 -0
  149. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/index.rst +0 -0
  150. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/contributing.rst +0 -0
  151. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/convention.rst +0 -0
  152. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/index.rst +0 -0
  153. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/photometry.rst +0 -0
  154. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/synthetic_photometry.rst +0 -0
  155. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/technical/uncertainty.rst +0 -0
  156. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_sources/user/index.rst +0 -0
  157. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/basic.css +0 -0
  158. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/doctools.js +0 -0
  159. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/documentation_options.js +0 -0
  160. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/file.png +0 -0
  161. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_binder.svg +0 -0
  162. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_colab.png +0 -0
  163. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_deepnote.svg +0 -0
  164. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/images/logo_jupyterhub.svg +0 -0
  165. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/language_data.js +0 -0
  166. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ar/LC_MESSAGES/booktheme.po +0 -0
  167. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/bg/LC_MESSAGES/booktheme.po +0 -0
  168. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/bn/LC_MESSAGES/booktheme.po +0 -0
  169. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ca/LC_MESSAGES/booktheme.po +0 -0
  170. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/cs/LC_MESSAGES/booktheme.po +0 -0
  171. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/da/LC_MESSAGES/booktheme.po +0 -0
  172. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/de/LC_MESSAGES/booktheme.po +0 -0
  173. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/el/LC_MESSAGES/booktheme.po +0 -0
  174. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/eo/LC_MESSAGES/booktheme.po +0 -0
  175. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/es/LC_MESSAGES/booktheme.po +0 -0
  176. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/et/LC_MESSAGES/booktheme.po +0 -0
  177. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/fi/LC_MESSAGES/booktheme.po +0 -0
  178. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/fr/LC_MESSAGES/booktheme.po +0 -0
  179. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/hr/LC_MESSAGES/booktheme.po +0 -0
  180. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/id/LC_MESSAGES/booktheme.po +0 -0
  181. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/it/LC_MESSAGES/booktheme.po +0 -0
  182. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/iw/LC_MESSAGES/booktheme.po +0 -0
  183. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ja/LC_MESSAGES/booktheme.po +0 -0
  184. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ko/LC_MESSAGES/booktheme.po +0 -0
  185. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/lt/LC_MESSAGES/booktheme.po +0 -0
  186. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/lv/LC_MESSAGES/booktheme.po +0 -0
  187. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ml/LC_MESSAGES/booktheme.po +0 -0
  188. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/mr/LC_MESSAGES/booktheme.po +0 -0
  189. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ms/LC_MESSAGES/booktheme.po +0 -0
  190. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/nl/LC_MESSAGES/booktheme.po +0 -0
  191. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/no/LC_MESSAGES/booktheme.po +0 -0
  192. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/pl/LC_MESSAGES/booktheme.po +0 -0
  193. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/pt/LC_MESSAGES/booktheme.po +0 -0
  194. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ro/LC_MESSAGES/booktheme.po +0 -0
  195. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ru/LC_MESSAGES/booktheme.po +0 -0
  196. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sk/LC_MESSAGES/booktheme.po +0 -0
  197. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sl/LC_MESSAGES/booktheme.po +0 -0
  198. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sr/LC_MESSAGES/booktheme.po +0 -0
  199. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/sv/LC_MESSAGES/booktheme.po +0 -0
  200. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ta/LC_MESSAGES/booktheme.po +0 -0
  201. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/te/LC_MESSAGES/booktheme.po +0 -0
  202. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tg/LC_MESSAGES/booktheme.po +0 -0
  203. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/th/LC_MESSAGES/booktheme.po +0 -0
  204. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tl/LC_MESSAGES/booktheme.po +0 -0
  205. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/tr/LC_MESSAGES/booktheme.po +0 -0
  206. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/uk/LC_MESSAGES/booktheme.po +0 -0
  207. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/ur/LC_MESSAGES/booktheme.po +0 -0
  208. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/vi/LC_MESSAGES/booktheme.po +0 -0
  209. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/zh_CN/LC_MESSAGES/booktheme.po +0 -0
  210. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/locales/zh_TW/LC_MESSAGES/booktheme.po +0 -0
  211. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/minus.png +0 -0
  212. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/plus.png +0 -0
  213. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/pygments.css +0 -0
  214. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/sbt-webpack-macros.html +0 -0
  215. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js +0 -0
  216. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  217. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/bootstrap.js.map +0 -0
  218. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
  219. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/pydata-sphinx-theme.js.map +0 -0
  220. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/sphinx-book-theme.js +0 -0
  221. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/scripts/sphinx-book-theme.js.map +0 -0
  222. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/searchtools.js +0 -0
  223. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/sphinx_highlight.js +0 -0
  224. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/bootstrap.css +0 -0
  225. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/bootstrap.css.map +0 -0
  226. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/pydata-sphinx-theme.css +0 -0
  227. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/pydata-sphinx-theme.css.map +0 -0
  228. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/sphinx-book-theme.css +0 -0
  229. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/styles/theme.css +0 -0
  230. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/LICENSE.txt +0 -0
  231. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/css/all.min.css +0 -0
  232. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/js/all.min.js +0 -0
  233. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/js/all.min.js.LICENSE.txt +0 -0
  234. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf +0 -0
  235. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2 +0 -0
  236. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf +0 -0
  237. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2 +0 -0
  238. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf +0 -0
  239. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2 +0 -0
  240. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf +0 -0
  241. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2 +0 -0
  242. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/LICENSE.txt +0 -0
  243. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/css/all.min.css +0 -0
  244. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/js/all.min.js +0 -0
  245. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/js/all.min.js.LICENSE.txt +0 -0
  246. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.ttf +0 -0
  247. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2 +0 -0
  248. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.ttf +0 -0
  249. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2 +0 -0
  250. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.ttf +0 -0
  251. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2 +0 -0
  252. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.ttf +0 -0
  253. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.woff2 +0 -0
  254. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/_static/webpack-macros.html +0 -0
  255. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.__main__.html +0 -0
  256. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.__version__.html +0 -0
  257. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.broadcast.html +0 -0
  258. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.cube.html +0 -0
  259. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.html +0 -0
  260. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.image.html +0 -0
  261. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.mosaic.html +0 -0
  262. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.parent.html +0 -0
  263. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.container.spectra.html +0 -0
  264. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.html +0 -0
  265. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.initialize.html +0 -0
  266. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.array.html +0 -0
  267. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.atmosphere.html +0 -0
  268. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.config.html +0 -0
  269. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.conversion.html +0 -0
  270. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.convolution.html +0 -0
  271. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.data.html +0 -0
  272. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.fits.html +0 -0
  273. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.flags.html +0 -0
  274. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.hint.html +0 -0
  275. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.html +0 -0
  276. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.interpolate.html +0 -0
  277. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.logging.html +0 -0
  278. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.math.html +0 -0
  279. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.path.html +0 -0
  280. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.photometry.html +0 -0
  281. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.stitch.html +0 -0
  282. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.temporary.html +0 -0
  283. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.uncertainty.html +0 -0
  284. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.library.wrapper.html +0 -0
  285. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.simulation.html +0 -0
  286. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/lezargus.simulation.spectre.html +0 -0
  287. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/code/modules.html +0 -0
  288. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/genindex.html +0 -0
  289. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/index.html +0 -0
  290. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/objects.inv +0 -0
  291. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/py-modindex.html +0 -0
  292. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/search.html +0 -0
  293. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/searchindex.js +0 -0
  294. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/contributing.html +0 -0
  295. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/convention.html +0 -0
  296. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/index.html +0 -0
  297. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/photometry.html +0 -0
  298. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/synthetic_photometry.html +0 -0
  299. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/technical/uncertainty.html +0 -0
  300. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/build/html/user/index.html +0 -0
  301. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/index.html +0 -0
  302. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/make.bat +0 -0
  303. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.__main__.rst +0 -0
  304. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.__version__.rst +0 -0
  305. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.broadcast.rst +0 -0
  306. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.cube.rst +0 -0
  307. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.image.rst +0 -0
  308. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.mosaic.rst +0 -0
  309. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.parent.rst +0 -0
  310. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.rst +0 -0
  311. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.container.spectra.rst +0 -0
  312. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.initialize.rst +0 -0
  313. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.array.rst +0 -0
  314. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.atmosphere.rst +0 -0
  315. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.config.rst +0 -0
  316. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.conversion.rst +0 -0
  317. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.convolution.rst +0 -0
  318. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.data.rst +0 -0
  319. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.fits.rst +0 -0
  320. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.flags.rst +0 -0
  321. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.hint.rst +0 -0
  322. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.interpolate.rst +0 -0
  323. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.logging.rst +0 -0
  324. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.math.rst +0 -0
  325. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.path.rst +0 -0
  326. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.photometry.rst +0 -0
  327. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.rst +0 -0
  328. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.stitch.rst +0 -0
  329. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.temporary.rst +0 -0
  330. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.library.wrapper.rst +0 -0
  331. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.rst +0 -0
  332. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.simulation.rst +0 -0
  333. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/lezargus.simulation.spectre.rst +0 -0
  334. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/code/modules.rst +0 -0
  335. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/index.rst +0 -0
  336. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/atmosphere.rst +0 -0
  337. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/contributing.rst +0 -0
  338. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/convention.rst +0 -0
  339. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/index.rst +0 -0
  340. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/photometry.rst +0 -0
  341. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/technical/uncertainty.rst +0 -0
  342. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/docs/source/user/index.rst +0 -0
  343. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/rebuild.ps1 +0 -0
  344. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/__init__.py +0 -0
  345. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/__main__.py +0 -0
  346. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/configuration.yaml +0 -0
  347. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/cube.py +0 -0
  348. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/image.py +0 -0
  349. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/container/mosaic.py +0 -0
  350. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za0.fits +0 -0
  351. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za30.fits +0 -0
  352. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za45.fits +0 -0
  353. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_rad_za60.fits +0 -0
  354. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za0.fits +0 -0
  355. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za30.fits +0 -0
  356. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za45.fits +0 -0
  357. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/atm_trans_za60.fits +0 -0
  358. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_H_energy.fits +0 -0
  359. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_H_photon.fits +0 -0
  360. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_J_energy.fits +0 -0
  361. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_J_photon.fits +0 -0
  362. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_Ks_energy.fits +0 -0
  363. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_2MASS_Ks_photon.fits +0 -0
  364. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GB_energy.fits +0 -0
  365. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GB_photon.fits +0 -0
  366. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GG_energy.fits +0 -0
  367. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GG_photon.fits +0 -0
  368. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GR_energy.fits +0 -0
  369. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Gaia_GR_photon.fits +0 -0
  370. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_B_energy.fits +0 -0
  371. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_B_photon.fits +0 -0
  372. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_U_energy.fits +0 -0
  373. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_U_photon.fits +0 -0
  374. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_V_energy.fits +0 -0
  375. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/filter_Johnson_V_photon.fits +0 -0
  376. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/gem_atm_ir_rad.fits +0 -0
  377. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/gem_atm_opt_rad.fits +0 -0
  378. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za0.fits +0 -0
  379. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za30.fits +0 -0
  380. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za45.fits +0 -0
  381. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_rad_za60.fits +0 -0
  382. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za0.fits +0 -0
  383. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za30.fits +0 -0
  384. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za45.fits +0 -0
  385. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/psg_atm_trans_za60.fits +0 -0
  386. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_109Vir.fits +0 -0
  387. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_16CygB.fits +0 -0
  388. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_A0V.fits +0 -0
  389. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_Sun.fits +0 -0
  390. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/data/star_spectra_Vega.fits +0 -0
  391. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/config.py +0 -0
  392. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/convolution.py +0 -0
  393. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/flags.py +0 -0
  394. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/temporary.py +0 -0
  395. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/library/wrapper.py +0 -0
  396. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/src/lezargus/simulation/__init__.py +0 -0
  397. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_configuration_overrides.yaml +0 -0
  398. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_files/config_filename_not_flat_configuration.yaml +0 -0
  399. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/tests/test_files/config_filename_with_lowercase_keys.yaml +0 -0
  400. {lezargus-0.0.4.dev42 → lezargus-0.0.4.dev51}/workspace.code-workspace +0 -0
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lezargus
3
- Version: 0.0.4.dev42
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/
@@ -5,7 +5,6 @@
5
5
 
6
6
  import os
7
7
  import sys
8
- import sphinx_book_theme
9
8
 
10
9
  # For the Python code itself.
11
10
  sys.path.insert(0, os.path.abspath(os.path.join("..", "..", "src")))
@@ -57,10 +57,10 @@ exclude = [
57
57
  dependencies = [
58
58
  "pyinstaller",
59
59
  "coverage[toml]>=7.3.4",
60
- "pytest>=7.4.0",
61
- "black[jupyter]>=23.12.0",
62
- "pylint[spelling]>=3.0.0",
63
- "ruff>=0.1.13",
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",
@@ -4,4 +4,4 @@ Please do not manually edit this value.
4
4
  """
5
5
 
6
6
  # DO NOT EDIT MANUALLY.
7
- __version__ = "0.0.4.dev42"
7
+ __version__ = "0.0.4.dev51"
@@ -1,24 +1,31 @@
1
1
  """Containers for data.
2
2
 
3
- This module contains the containers for spectral data. We have 4 main classes,
4
- broken into different files for ease. There is a parent class which we use
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 spectra
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
- # And all of the following data structures for any given N-dimensional data.
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.spectra import LezargusSpectra
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
- # This is a last resort solution to fixing the recursive import of the
11
- # type hints here.
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 broadcast_spectra_to_cube_uniform(
22
- input_spectra: hint.LezargusSpectra,
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 LezargusSpectra via uniform broadcasting.
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
- spectra, which is in this case the provided input spectra.
37
+ spectrum, which is in this case the provided input spectrum.
32
38
 
33
- In the case of both the input spectra and provided template cube having
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 spectra.
43
+ input spectrum.
38
44
 
39
45
  Parameters
40
46
  ----------
41
- input_spectra : LezargusSpectra
42
- The input spectra which will be broadcasted to fit the input template
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
- spectra and the cube. The available options are:
55
+ spectrum and the cube. The available options are:
50
56
 
51
- - "spectra" : Prefer the spectra's wavelength array; the cube's
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 spectra is
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 spectra's wavelength array.
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 spectra was uniformly broadcast spatially.
62
- Any header information came from first the spectra then the cube.
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(input_spectra, lezargus.container.LezargusSpectra)
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 spectra type {type(input_spectra)} and template"
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 LezargusSpectra and LezargusCube types"
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 input_spectra.wavelength_unit != template_cube.wavelength_unit:
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 spectra wavelength unit is"
90
- f" {input_spectra.wavelength_unit}, different from the template"
91
- f" cube wavelength unit {template_cube.wavelength_unit}"
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 == "spectra":
98
- # We rely on the spectra's wavelength.
99
- broadcast_wavelength = input_spectra.wavelength
100
- broadcast_wavelength_unit = input_spectra.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(input_spectra.wavelength, template_cube.wavelength),
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 spectra and template cube wavelength arrays do not"
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 spectra
124
+ # Regardless if the error was logged or not, we use the input spectrum
118
125
  # as the broadcast.
119
- broadcast_wavelength = input_spectra.wavelength
120
- broadcast_wavelength_unit = input_spectra.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 spectra and
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
- ) = input_spectra.interpolate(
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 = input_spectra.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 spectra to the spatial dimensions. We do not
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
- spectra_header = input_spectra.header.copy()
183
+ spectrum_header = input_spectrum.header.copy()
177
184
  cube_header = template_cube.header.copy()
178
- broadcast_header = cube_header.update(spectra_header)
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 broadcast_spectra_to_cube_center(
200
- input_spectra: hint.LezargusSpectra,
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 LezargusSpectra via center broadcasting.
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 spectra and provided template cube having
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 spectra.
225
+ input spectrum.
219
226
 
220
227
  Parameters
221
228
  ----------
222
- input_spectra : LezargusSpectra
223
- The input spectra which will be broadcasted to fit the input template
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
- spectra and the cube. The available options are:
237
+ spectrum and the cube. The available options are:
231
238
 
232
- - "spectra" : Prefer the spectra's wavelength array; the cube's
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 spectra is
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 spectra is put it as close to the center as possible.
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 spectra was center broadcast spatially.
247
- Any header information came from first the spectra then the cube.
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(input_spectra, lezargus.container.LezargusSpectra)
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 spectra type {type(input_spectra)} and template"
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 LezargusSpectra and LezargusCube types"
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 input_spectra.wavelength_unit != template_cube.wavelength_unit:
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 spectra wavelength unit is"
275
- f" {input_spectra.wavelength_unit}, different from the template"
276
- f" cube wavelength unit {template_cube.wavelength_unit}"
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 == "spectra":
283
- # We rely on the spectra's wavelength.
284
- broadcast_wavelength = input_spectra.wavelength
285
- broadcast_wavelength_unit = input_spectra.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(input_spectra.wavelength, template_cube.wavelength),
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 spectra and template cube wavelength arrays do not"
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 = input_spectra.wavelength
307
- broadcast_wavelength_unit = input_spectra.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 spectra and
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
- ) = input_spectra.interpolate(
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 = input_spectra.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 spectra to the spatial dimensions. We do not
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 spectra in 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
- spectra_header = input_spectra.header.copy()
399
+ spectrum_header = input_spectrum.header.copy()
392
400
  cube_header = template_cube.header.copy()
393
- cube_header.update(spectra_header)
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. All we do is overwrite the NDDataArray
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
  ----------