pyreduce-astro 0.6.0b1__py3-none-any.whl

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 (151) hide show
  1. pyreduce/__init__.py +58 -0
  2. pyreduce/__main__.py +106 -0
  3. pyreduce/clib/__init__.py +0 -0
  4. pyreduce/clib/_slitfunc_2d.cpython-313-darwin.so +0 -0
  5. pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so +0 -0
  6. pyreduce/clib/build_extract.py +75 -0
  7. pyreduce/clib/slit_func_2d_xi_zeta_bd.c +1313 -0
  8. pyreduce/clib/slit_func_2d_xi_zeta_bd.h +55 -0
  9. pyreduce/clib/slit_func_bd.c +362 -0
  10. pyreduce/clib/slit_func_bd.h +17 -0
  11. pyreduce/clipnflip.py +147 -0
  12. pyreduce/combine_frames.py +855 -0
  13. pyreduce/configuration.py +186 -0
  14. pyreduce/continuum_normalization.py +329 -0
  15. pyreduce/cwrappers.py +404 -0
  16. pyreduce/datasets.py +231 -0
  17. pyreduce/echelle.py +413 -0
  18. pyreduce/estimate_background_scatter.py +129 -0
  19. pyreduce/extract.py +1359 -0
  20. pyreduce/extraction_width.py +77 -0
  21. pyreduce/instruments/__init__.py +0 -0
  22. pyreduce/instruments/andes.json +59 -0
  23. pyreduce/instruments/andes.py +100 -0
  24. pyreduce/instruments/common.json +46 -0
  25. pyreduce/instruments/common.py +675 -0
  26. pyreduce/instruments/crires_plus.json +63 -0
  27. pyreduce/instruments/crires_plus.py +103 -0
  28. pyreduce/instruments/filters.py +195 -0
  29. pyreduce/instruments/harpn.json +136 -0
  30. pyreduce/instruments/harpn.py +201 -0
  31. pyreduce/instruments/harps.json +155 -0
  32. pyreduce/instruments/harps.py +310 -0
  33. pyreduce/instruments/instrument_info.py +140 -0
  34. pyreduce/instruments/instrument_schema.json +221 -0
  35. pyreduce/instruments/jwst_miri.json +53 -0
  36. pyreduce/instruments/jwst_miri.py +29 -0
  37. pyreduce/instruments/jwst_niriss.json +52 -0
  38. pyreduce/instruments/jwst_niriss.py +98 -0
  39. pyreduce/instruments/lick_apf.json +53 -0
  40. pyreduce/instruments/lick_apf.py +35 -0
  41. pyreduce/instruments/mcdonald.json +59 -0
  42. pyreduce/instruments/mcdonald.py +123 -0
  43. pyreduce/instruments/metis_ifu.json +63 -0
  44. pyreduce/instruments/metis_ifu.py +45 -0
  45. pyreduce/instruments/metis_lss.json +65 -0
  46. pyreduce/instruments/metis_lss.py +45 -0
  47. pyreduce/instruments/micado.json +53 -0
  48. pyreduce/instruments/micado.py +45 -0
  49. pyreduce/instruments/neid.json +51 -0
  50. pyreduce/instruments/neid.py +154 -0
  51. pyreduce/instruments/nirspec.json +56 -0
  52. pyreduce/instruments/nirspec.py +215 -0
  53. pyreduce/instruments/nte.json +47 -0
  54. pyreduce/instruments/nte.py +42 -0
  55. pyreduce/instruments/uves.json +59 -0
  56. pyreduce/instruments/uves.py +46 -0
  57. pyreduce/instruments/xshooter.json +66 -0
  58. pyreduce/instruments/xshooter.py +39 -0
  59. pyreduce/make_shear.py +606 -0
  60. pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
  61. pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
  62. pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
  63. pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
  64. pyreduce/masks/mask_elodie.fits.gz +0 -0
  65. pyreduce/masks/mask_feros3.fits.gz +0 -0
  66. pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
  67. pyreduce/masks/mask_harps_blue.fits.gz +0 -0
  68. pyreduce/masks/mask_harps_red.fits.gz +0 -0
  69. pyreduce/masks/mask_hds_blue.fits.gz +0 -0
  70. pyreduce/masks/mask_hds_red.fits.gz +0 -0
  71. pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
  72. pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
  73. pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
  74. pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
  75. pyreduce/masks/mask_mcdonald.fits.gz +0 -0
  76. pyreduce/masks/mask_nes.fits.gz +0 -0
  77. pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
  78. pyreduce/masks/mask_sarg.fits.gz +0 -0
  79. pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
  80. pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
  81. pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
  82. pyreduce/masks/mask_uves_blue.fits.gz +0 -0
  83. pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
  84. pyreduce/masks/mask_uves_middle.fits.gz +0 -0
  85. pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
  86. pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
  87. pyreduce/masks/mask_uves_red.fits.gz +0 -0
  88. pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
  89. pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
  90. pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
  91. pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
  92. pyreduce/rectify.py +138 -0
  93. pyreduce/reduce.py +2205 -0
  94. pyreduce/settings/settings_CRIRES_PLUS.json +89 -0
  95. pyreduce/settings/settings_HARPN.json +73 -0
  96. pyreduce/settings/settings_HARPS.json +69 -0
  97. pyreduce/settings/settings_JWST_MIRI.json +55 -0
  98. pyreduce/settings/settings_JWST_NIRISS.json +55 -0
  99. pyreduce/settings/settings_LICK_APF.json +62 -0
  100. pyreduce/settings/settings_MCDONALD.json +58 -0
  101. pyreduce/settings/settings_METIS_IFU.json +77 -0
  102. pyreduce/settings/settings_METIS_LSS.json +77 -0
  103. pyreduce/settings/settings_MICADO.json +78 -0
  104. pyreduce/settings/settings_NEID.json +73 -0
  105. pyreduce/settings/settings_NIRSPEC.json +58 -0
  106. pyreduce/settings/settings_NTE.json +60 -0
  107. pyreduce/settings/settings_UVES.json +54 -0
  108. pyreduce/settings/settings_XSHOOTER.json +78 -0
  109. pyreduce/settings/settings_pyreduce.json +178 -0
  110. pyreduce/settings/settings_schema.json +827 -0
  111. pyreduce/tools/__init__.py +0 -0
  112. pyreduce/tools/combine.py +117 -0
  113. pyreduce/trace_orders.py +645 -0
  114. pyreduce/util.py +1288 -0
  115. pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
  116. pyreduce/wavecal/atlas/thar.fits +4946 -13
  117. pyreduce/wavecal/atlas/thar_list.txt +4172 -0
  118. pyreduce/wavecal/atlas/une.fits +0 -0
  119. pyreduce/wavecal/convert.py +38 -0
  120. pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
  121. pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
  122. pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
  123. pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
  124. pyreduce/wavecal/harps_blue_2D.npz +0 -0
  125. pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
  126. pyreduce/wavecal/harps_red_2D.npz +0 -0
  127. pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
  128. pyreduce/wavecal/mcdonald.npz +0 -0
  129. pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
  130. pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
  131. pyreduce/wavecal/nirspec_K2.npz +0 -0
  132. pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
  133. pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
  134. pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
  135. pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
  136. pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
  137. pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
  138. pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
  139. pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
  140. pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
  141. pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
  142. pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
  143. pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
  144. pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
  145. pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
  146. pyreduce/wavecal/xshooter_nir.npz +0 -0
  147. pyreduce/wavelength_calibration.py +1873 -0
  148. pyreduce_astro-0.6.0b1.dist-info/METADATA +112 -0
  149. pyreduce_astro-0.6.0b1.dist-info/RECORD +151 -0
  150. pyreduce_astro-0.6.0b1.dist-info/WHEEL +4 -0
  151. pyreduce_astro-0.6.0b1.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,112 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyreduce-astro
3
+ Version: 0.6.0b1
4
+ Summary: A data reduction package for echelle spectrographs
5
+ Project-URL: Homepage, https://github.com/ivh/PyReduce
6
+ Project-URL: Documentation, https://pyreduce.readthedocs.io
7
+ Project-URL: Repository, https://github.com/ivh/PyReduce
8
+ Project-URL: Issues, https://github.com/ivh/PyReduce/issues
9
+ Author: Ansgar Wehrhahn, Nikolai Piskunov
10
+ Author-email: Thomas Marquart <thomas.marquart@astro.uu.se>
11
+ License: GPL-3.0-or-later
12
+ License-File: LICENSE
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
16
+ Classifier: Programming Language :: C
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Scientific/Engineering :: Astronomy
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: astropy>=5.3.0
24
+ Requires-Dist: cffi>=1.17.1
25
+ Requires-Dist: colorlog>=6.8.0
26
+ Requires-Dist: corner>=2.2.0
27
+ Requires-Dist: emcee>=3.1.0
28
+ Requires-Dist: joblib>=1.3.0
29
+ Requires-Dist: jsonschema>=4.20.0
30
+ Requires-Dist: matplotlib>=3.8.0
31
+ Requires-Dist: numpy>=1.26.0
32
+ Requires-Dist: pillow>=10.0.0
33
+ Requires-Dist: python-dateutil>=2.8.0
34
+ Requires-Dist: scikit-image>=0.22.0
35
+ Requires-Dist: scipy>=1.11.0
36
+ Requires-Dist: spectres>=2.2.0
37
+ Requires-Dist: tqdm>=4.66.0
38
+ Requires-Dist: wget>=3.2
39
+ Provides-Extra: dev
40
+ Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
41
+ Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
42
+ Requires-Dist: pytest>=7.4.0; extra == 'dev'
43
+ Requires-Dist: ruff>=0.8.0; extra == 'dev'
44
+ Requires-Dist: sphinx>=7.2.0; extra == 'dev'
45
+ Description-Content-Type: text/markdown
46
+
47
+ [![CI](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml/badge.svg)](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml)
48
+ [![Documentation Status](https://readthedocs.org/projects/pyreduce-astro/badge/?version=latest)](https://pyreduce-astro.readthedocs.io/en/latest/?badge=latest)
49
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
50
+
51
+ # PyReduce
52
+
53
+ PyReduce is a port of the [REDUCE](http://www.astro.uu.se/~piskunov/RESEARCH/REDUCE/) package to Python.
54
+ It is a complete data reduction pipeline for the echelle spectrographs, e.g. HARPS or UVES.
55
+
56
+ The methods are descibed in the papers
57
+ * Original REDUCE: Piskunov & Valenti (2001) [doi:10.1051/0004-6361:20020175](https://doi.org/10.1051/0004-6361:20020175)
58
+ * Updates to curved slit extraction and PyReduce: Piskunov, Wehrhahn & Marquart (2021) [10.1051/0004-6361/202038293](https://doi.org/10.1051/0004-6361/202038293)
59
+
60
+ Some documentation on how to use PyReduce is available at [ReadTheDocs](https://pyreduce-astro.readthedocs.io/en/latest/index.html).
61
+
62
+ Installation
63
+ ------------
64
+
65
+ ### For Users
66
+
67
+ The latest version can be installed with pip:
68
+
69
+ ```bash
70
+ pip install git+https://github.com/ivh/PyReduce
71
+ ```
72
+
73
+ The version available from PyPI is slightly outdated, but functional: ``pip install pyreduce-astro``.
74
+
75
+ ### For Development
76
+
77
+ If you foresee making changes to PyReduce itself, clone the repository and use [uv](https://docs.astral.sh/uv/) for fast, modern package management:
78
+
79
+ ```bash
80
+ git clone <your fork url>
81
+ cd PyReduce/
82
+ uv sync
83
+ ```
84
+
85
+ This will automatically:
86
+ - Create a virtual environment
87
+ - Install all dependencies
88
+ - Build the CFFI C extensions
89
+ - Install PyReduce in editable mode
90
+
91
+ To run commands, use `uv run`:
92
+ ```bash
93
+ uv run pytest # Run tests
94
+ uv run python examples/uves_example.py # Run example
95
+ ```
96
+
97
+ **Note:** PyReduce uses CFFI to link to C code. On non-Linux platforms you might need to install libffi.
98
+ See https://cffi.readthedocs.io/en/latest/installation.html#platform-specific-instructions for details.
99
+
100
+ Output Format
101
+ -------------
102
+ PyReduce will create ``.ech`` files when run. Despite the name those are just regular ``.fits`` files and can be opened with any programm that can read ``.fits``. The data is contained in a table extension. The header contains all the keywords of the input science file, plus some extra PyReduce specific keyword, all of which start with ``e_``.
103
+
104
+ How To
105
+ ------
106
+ PyReduce is designed to be easy to use, but still be flexible.
107
+ ``examples/uves_example.py`` is a good starting point, to understand how it works.
108
+ First we define the instrument, target, night, and instrument mode (if applicable) of our reduction. Then we tell PyReduce where to find the data, and lastly we define all the specific settings of the reduction (e.g. polynomial degrees of various fits) in a json configuration file.
109
+ We also define which steps of the reduction to perform. Steps that are not specified, but are still required, will be loaded from previous runs if possible, or executed otherwise.
110
+ All of this is then passed to pyreduce.reduce.main to start the reduction.
111
+
112
+ In this example, PyReduce will plot all intermediary results, and also plot the progres during some of the steps. Close them to continue calculations, if it seems nothing is happening. Once you are statisified with the results you can disable them in settings_UVES.json (with "plot":false in each step) to speed up the computation.
@@ -0,0 +1,151 @@
1
+ pyreduce/__init__.py,sha256=1ggVdMOf-WNDYTuMNdiogv0C2lotFXsX433wJdJgigU,1421
2
+ pyreduce/__main__.py,sha256=x59nq52i35-56M-4crL97XNnpCsMD6HwbWwUni4SXfI,3095
3
+ pyreduce/clipnflip.py,sha256=yL_ESobmpVopzEG_jGXeXu63MKnQGSyEW1uAGl7inFE,5557
4
+ pyreduce/combine_frames.py,sha256=xPG-k_Z5Bf7bL6Io3OuHHlsVVlb95wU-QKggXB7RpJo,29196
5
+ pyreduce/configuration.py,sha256=cUjMBobsgxA_Q4DRWzhsYEOirkrNcRLV3fpgx8DI03U,5826
6
+ pyreduce/continuum_normalization.py,sha256=upC1mIict1QuB_pYSQZLOMBhhDFBcgxNsqItXgcFgJQ,11316
7
+ pyreduce/cwrappers.py,sha256=_LHLMxPvWDigkcgJIY-U1_NY021ElK9VyN6vrHYnPuw,13590
8
+ pyreduce/datasets.py,sha256=RpP9kSGDlih0jvXvz6ab8Otad74IzmGW5Q44wwa3mPc,5105
9
+ pyreduce/echelle.py,sha256=JgSex9nW3pl9h73qy8jcr0rE6FEK_O9oVjn8HfceHoo,12275
10
+ pyreduce/estimate_background_scatter.py,sha256=QVY1kpqirdZQr_tKWhbVocX2LnvDkVj30iAz7hQRpy0,3871
11
+ pyreduce/extract.py,sha256=K8e_XMRtw7CEQHDFZ-0vvqvNBTkB64yrhKlzx6Dy0uY,44883
12
+ pyreduce/extraction_width.py,sha256=71_wRtXJ5WaCR48WWemGS-FgDtrFCf1HGIPQskT3LI0,2308
13
+ pyreduce/make_shear.py,sha256=hIiNKBkAgUiT29lO9xT5KA2PwCmE75J7ToeZYB8GFtw,20129
14
+ pyreduce/rectify.py,sha256=2l8h8tU0dFD4uv5o4SlqrrIIxVj-RU2Q4aQj7yRNvkk,5025
15
+ pyreduce/reduce.py,sha256=A8icegJtJyqAbM4Oj2_hQe1Gvmysz6V4sXQcESSM-vc,76294
16
+ pyreduce/trace_orders.py,sha256=DxSvWA2rMjxYhyxwtF1AFmKcUGarsZ0ic0Sq-gqMExg,20672
17
+ pyreduce/util.py,sha256=xu41l56zMVjuP9129dU45L05UHGXph9DtpIdUyB7VYY,37188
18
+ pyreduce/wavelength_calibration.py,sha256=GNHTOUoGjk5l0TJ7ggaPX5fxZLBPJxuXEjcV3sTJuRs,68564
19
+ pyreduce/clib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ pyreduce/clib/_slitfunc_2d.cpython-313-darwin.so,sha256=IFT6wVAmX_DzcZ0RxxuNig1d-WAdmGnrz1jGrMB68kQ,69872
21
+ pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so,sha256=FdHME472kNtjPtu7bItmem5HFQmlXXlyb2Lt3LFgC5I,52240
22
+ pyreduce/clib/build_extract.py,sha256=Jf1nqWUIR_fnlnUrwpiWJd-sNP6Yq2WZPC5mKqCOUbY,1945
23
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.c,sha256=o_R_3hq0tX2ZdaCRxJjY2mXQf4RaYENcVKVn2OZR_Rk,51279
24
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.h,sha256=vQkOPIzNzOa32D-iW1_qoQDp4jtaKjSHUYCiDMIIcq4,1512
25
+ pyreduce/clib/slit_func_bd.c,sha256=i_nLyO-5PDZdNZyJKUk3oR_tCYZqVsYKrvQmhwQBxTg,11466
26
+ pyreduce/clib/slit_func_bd.h,sha256=Dx9dBmk4xYiqK44Ak5lxI9JJTkxagKdKa-rOItiTpCE,1326
27
+ pyreduce/instruments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ pyreduce/instruments/andes.json,sha256=7qVfw54J3f95JGNkVF0NSWafST-Yp-OMWNgu3rqttgw,1826
29
+ pyreduce/instruments/andes.py,sha256=J5G_-D659FHSrDiQf12Rn2gjddXZqCYtEHJDzYsvOr4,3363
30
+ pyreduce/instruments/common.json,sha256=ypTnKwF5ZT629RUwJa4zXQuBH5DXk2asSGcttQHwzGM,1134
31
+ pyreduce/instruments/common.py,sha256=IE7R67gWA2BFRzu_akdqkUpC6scvoK0A2_hEsOES3E4,22316
32
+ pyreduce/instruments/crires_plus.json,sha256=6WBw8hOkYvvAftxrC31tKHFKd5gUsmOAhctfgh-b1cI,2137
33
+ pyreduce/instruments/crires_plus.py,sha256=rzGmDwDg8he9Jbz8pDi-RJsglJSsg8xxqXU9kTo5oTU,3451
34
+ pyreduce/instruments/filters.py,sha256=H8ss5qcMoaaeGCzYIxXFLAqqY6Tpxg_mPKirBQL5AJg,5604
35
+ pyreduce/instruments/harpn.json,sha256=AGOYxXx9953q1dczoDP_tP_whpoU92BJA_GleLpcrA8,4090
36
+ pyreduce/instruments/harpn.py,sha256=p5hQ2muEYVMbDNRqMnr4bI2_t_FMOSeBsVrjHe3rkK4,6506
37
+ pyreduce/instruments/harps.json,sha256=x3sE0GYUVqZ59KmY-7cSx4tG6w9FWnXyUegqmw7KLms,4215
38
+ pyreduce/instruments/harps.py,sha256=dsUyz8QEnojTjqyPfpUj-9lRN7Pf2hm7zaj1-XE63vY,10588
39
+ pyreduce/instruments/instrument_info.py,sha256=LlrHxpOF8FRl4n2EA4JbfGDczvZyuEO_oZxl8NmTSBE,3638
40
+ pyreduce/instruments/instrument_schema.json,sha256=LF1hthYpYu8wRdPmjI1YR5xa2IGd3Rb2ZfDdMsZdW20,7540
41
+ pyreduce/instruments/jwst_miri.json,sha256=CwG3dkt1wjHTikscCKFt_ykC774RMjvxWmcdoggUibA,1142
42
+ pyreduce/instruments/jwst_miri.py,sha256=9zomwYwPKbE3k8AnUhPTmlagy2X0gSS4u2iOh7B2Ci4,986
43
+ pyreduce/instruments/jwst_niriss.json,sha256=Twh_Y18gXC_VrDuB2t5CDobjgZ7AQydilnMXiUW6Kbw,1426
44
+ pyreduce/instruments/jwst_niriss.py,sha256=QHAYa6hAhTl8Vph_EUqpcEaR-nxBRZ2luW7trfemrbU,3287
45
+ pyreduce/instruments/lick_apf.json,sha256=YdRz17lDeDOsNikdCGjuw1-rAFycnCCnrZZFvMRhCNk,1347
46
+ pyreduce/instruments/lick_apf.py,sha256=FHzLmvP0wRMX-_Z-kKuWQvKExNQqBGBfbe0SPtZ-qOY,1162
47
+ pyreduce/instruments/mcdonald.json,sha256=w-pmd4tDh91RHrxuvTCRBCOIvMesyU83Hk7Iwc3GHwY,1369
48
+ pyreduce/instruments/mcdonald.py,sha256=Pd1kJHLoaKg8VBTG-PGCzZFa9yKSRr5RKYbzmzzekGc,3907
49
+ pyreduce/instruments/metis_ifu.json,sha256=IVG4Iak_hn_-J-l-qPYrHdM-2jXlR9Nh3k6m7B83e1A,1542
50
+ pyreduce/instruments/metis_ifu.py,sha256=S4xGp5AHO3jbMutmBU0TBheY1vVkeVAjDIGAqYZd9as,1435
51
+ pyreduce/instruments/metis_lss.json,sha256=mMwwr-wZHi-reTw9iYyFGDXu4yPhykP5qy0M_mnO-u0,1545
52
+ pyreduce/instruments/metis_lss.py,sha256=drNFC89LLXFZFtGaMzBi8YpTfn_JPsGaty83xKmpeIw,1435
53
+ pyreduce/instruments/micado.json,sha256=XjFOvXTNI_Z9FROe9wPNXizhU0JOkEqiJE4rYT1OhWg,1447
54
+ pyreduce/instruments/micado.py,sha256=RcQj_T13bK3vIxqgixgbwk7roXnF0za4qDOOsKoNP9A,1408
55
+ pyreduce/instruments/neid.json,sha256=NomBe8rCfYt4t2mhlydSpTKqgN9KLlmvzd1DBiHgGBw,1535
56
+ pyreduce/instruments/neid.py,sha256=ForuqQCLg2UfBWMW3F7IhknVdagcjDJXJwU0lorkfvU,4849
57
+ pyreduce/instruments/nirspec.json,sha256=i9q_3-luNXfREpT3srx1dCWphy_mwtox_zxyVEOeax8,1234
58
+ pyreduce/instruments/nirspec.py,sha256=wDqgekxArL7F3NGs5lmtVRPh8EV4DnOuTUYE1ICbxmA,7855
59
+ pyreduce/instruments/nte.json,sha256=BP1CjT_VoxxyVONoqLCd7vlgQ1wi1253T8xhKNoZCTk,1155
60
+ pyreduce/instruments/nte.py,sha256=3tx6ZTJfGTr0PdSFdYVotnM6yqQT-fyEbuq_yMgDkp4,1353
61
+ pyreduce/instruments/uves.json,sha256=p71VuTwZ1lqxxLs8aQpKY-RHJM1IVS_2PvZ-pl_73DY,1742
62
+ pyreduce/instruments/uves.py,sha256=NONVIqz80-IoFNR17t2_O4befSg7SoHs3zAs_7H3weM,1513
63
+ pyreduce/instruments/xshooter.json,sha256=MfVQiZLg8VGWbh9VcsxJwV4oB_Zz8xNrRJeJU0PAHL8,1771
64
+ pyreduce/instruments/xshooter.py,sha256=eg6xBmmBsnL2WlX2PrtLA2yZch09i4QvKYUvE45foLE,1227
65
+ pyreduce/masks/mask_crires_plus_det1.fits.gz,sha256=qZdr3GyvEqh38Wv7QwPS7et_spu2Hd7lMvYfHR21Zmc,116600
66
+ pyreduce/masks/mask_crires_plus_det2.fits.gz,sha256=5cDvtSWBF-AryyCL5ynd4KHmoo2HfolCzfkjhIb709I,149290
67
+ pyreduce/masks/mask_crires_plus_det3.fits.gz,sha256=QXr9osxy7yOmvNIpzxgOIJ92DI0AY8YfrpV4x5GTWIg,149290
68
+ pyreduce/masks/mask_ctio_chiron.fits.gz,sha256=DJzpUxJ7_YjGTw26eAqpd4ewoThG4SRggtbw68_o4HQ,11280
69
+ pyreduce/masks/mask_elodie.fits.gz,sha256=3EyeN0AjmjDwHQghS5OAfVpSGq_QTk5cHdTyANJLDRQ,5871
70
+ pyreduce/masks/mask_feros3.fits.gz,sha256=CX76NtGNBoTcxF8uaEwjRJhRpkvpDnK6acmQQMA5ma4,61414
71
+ pyreduce/masks/mask_flames_giraffe.fits.gz,sha256=FcSRlH0kvAkAv808frj49Mrqw6UqFSG6ABmBqbNrjkc,19740
72
+ pyreduce/masks/mask_harps_blue.fits.gz,sha256=O5ghje-FidZz5ggOvUJJ3pf5GpblZDHjlsPT66rG5Q8,24105
73
+ pyreduce/masks/mask_harps_red.fits.gz,sha256=uUFdORzafXtePfmsMyfur0DK-rtwxJvTA1hPhKlz1EI,24835
74
+ pyreduce/masks/mask_hds_blue.fits.gz,sha256=d_5vJe8l4rU0cpN-Uu7SKOlcpH2qNuSEwKV-ECutAYc,15587
75
+ pyreduce/masks/mask_hds_red.fits.gz,sha256=F1a-4-2Z1ZyvOWzJD2cOApWWwzW5cnVEkFDg0KckIF0,11402
76
+ pyreduce/masks/mask_het_hrs_2x5.fits.gz,sha256=NiwsH2qwuF1I-PP3VGjvgRSKJQ-91gs3L-4NEJtwS88,2515
77
+ pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz,sha256=WWcXMmdk2aYueMURjCSBuJ0md-IPQ3nYRxhX3KLF43g,2536
78
+ pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz,sha256=nIhqp0kEb3W_5wy8B-dhJGNxrPIk3iSdu2dR0LaupKs,4994
79
+ pyreduce/masks/mask_lick_apf_.fits.gz,sha256=u4a_DCpmBVH354W08kNLPRJrLt3_Mhy_6eA0T-zoQHg,23847
80
+ pyreduce/masks/mask_mcdonald.fits.gz,sha256=fX0fl69Gipedk_by3dvGzriSr24fRNMRGjcllj-6o-w,51295
81
+ pyreduce/masks/mask_nes.fits.gz,sha256=LwPxBKjlGJ8zzvsUTYN4B43FHB-Nd6c49AKBpiZegu8,24057
82
+ pyreduce/masks/mask_nirspec_nirspec.fits.gz,sha256=Y1eExU_7vD_zsVIYB17sZONGvHUYw9OIqe54IstKx4A,9466
83
+ pyreduce/masks/mask_sarg.fits.gz,sha256=UeR22NrEvcuVwRgTXxbq_rJYfv03PSkQx77MUMtDMa0,97348
84
+ pyreduce/masks/mask_sarg_2x2a.fits.gz,sha256=nP71dP5wfr13ENnxmQg0p4eQMwDPJJt7OlIs-z4Xn5s,21718
85
+ pyreduce/masks/mask_sarg_2x2b.fits.gz,sha256=pLu2Vwtp__7aoLFfGYOwTI5BUIuIP65um_NXSc8IjLk,23078
86
+ pyreduce/masks/mask_subaru_hds_red.fits.gz,sha256=BGMe2TXZRLSwE_GOPzz_3IweBzElumMndwIDz219F7E,28440
87
+ pyreduce/masks/mask_uves_blue.fits.gz,sha256=BQ4-XZqdRkE8Obr5RoDwZIXKo-kAuj3MBP_siV7kp10,13763
88
+ pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz,sha256=onSOSqiwe_4DR7soRbg2rlGdEYgBhaFus91fe00vWrY,7590
89
+ pyreduce/masks/mask_uves_middle.fits.gz,sha256=xeEg3Xy3xZJEkFxXUgs2cUj7bOQ82BtA1rSTZDcO-fU,21652
90
+ pyreduce/masks/mask_uves_middle_2x2_split.fits.gz,sha256=mjLfUFDfxzOvRTxTwZJS7kkzYTWjR-TbaxARIZTL7wQ,9930
91
+ pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz,sha256=mZHL4fD9NwKVNjgsKI_YNws-5b7X83AdaQkjJJ1SVl4,10409
92
+ pyreduce/masks/mask_uves_red.fits.gz,sha256=k7yTcCtvYcJqVuTZs6cKjNH5Q1n2YhNyC_SYdpq-5WI,33317
93
+ pyreduce/masks/mask_uves_red_2x2.fits.gz,sha256=rE-DhRuGKshYFpmjYDO9H6_7JHOb4GGUqvnIqGhuBww,14620
94
+ pyreduce/masks/mask_uves_red_2x2_split.fits.gz,sha256=dJ7XlP_VHF_s6mlaG-vFc4o9mhlt29B6lLpkRb085jM,9959
95
+ pyreduce/masks/mask_uves_red_binned_2_2.fits.gz,sha256=rKmu5FQx2H-h7PDRg36sQJd20kVfiz4igP-5nqy32tE,13277
96
+ pyreduce/masks/mask_xshooter_nir.fits.gz,sha256=ZyG6yKkYLb3FnOWlmTvbKzjEhv2PctvBGyq2TkfuiF4,28155
97
+ pyreduce/settings/settings_CRIRES_PLUS.json,sha256=JEf1Ja5yv2boCuZx__XlNoBVSli-oKudRb4hix5Io00,2161
98
+ pyreduce/settings/settings_HARPN.json,sha256=37Ya6unViL5Pocgih9FCRZ4VtlnQ-n-LScqzwMEHtds,1579
99
+ pyreduce/settings/settings_HARPS.json,sha256=WcizGTYG5Tw5UQSuUB8MDbUPs909eDPtvCtefIWB7uI,1445
100
+ pyreduce/settings/settings_JWST_MIRI.json,sha256=AF68wV4JNDmx21gipoyBlLrNboa_pAo9cIzR1hg4TH4,1227
101
+ pyreduce/settings/settings_JWST_NIRISS.json,sha256=hRvo-gMsZd054PksdUsoH_0MbfHH2h2TqekCp8PYAPE,1236
102
+ pyreduce/settings/settings_LICK_APF.json,sha256=GAisZ-QrFVMYWREgQPbpTXsOvZsJ9yFxHmkJNnWk3vo,1340
103
+ pyreduce/settings/settings_MCDONALD.json,sha256=MiaktItczNFiBtoxY6yxeabBvqkoRrjL-5iw4GEwvN8,1337
104
+ pyreduce/settings/settings_METIS_IFU.json,sha256=5V_uEK6CH6XLuvEX45LFQexEh-nyMHJ9ax2l9qcbpxk,2014
105
+ pyreduce/settings/settings_METIS_LSS.json,sha256=5V_uEK6CH6XLuvEX45LFQexEh-nyMHJ9ax2l9qcbpxk,2014
106
+ pyreduce/settings/settings_MICADO.json,sha256=lz-7cNajEOj0R5iHrtOFpE-71jSBVX80B2VbusEXNM4,1991
107
+ pyreduce/settings/settings_NEID.json,sha256=37Ya6unViL5Pocgih9FCRZ4VtlnQ-n-LScqzwMEHtds,1579
108
+ pyreduce/settings/settings_NIRSPEC.json,sha256=YX1U97acKcg_8O4wGBUFViQNSkV8VFSmjaKgszOaCH0,1483
109
+ pyreduce/settings/settings_NTE.json,sha256=mAY0A-cy3UYKmoe_6AVJDm5oWbYZzk2WvfQNMOsyutA,1428
110
+ pyreduce/settings/settings_UVES.json,sha256=lVVddsOUekHkUDC4J56-G8hL51p2Vklj1dqHCfVH7ZU,1176
111
+ pyreduce/settings/settings_XSHOOTER.json,sha256=xZy8FGcSJhISebj0Jl1Gw3PnhHDz5JdEmbMEYLMaaMw,1773
112
+ pyreduce/settings/settings_pyreduce.json,sha256=1BG0E_EMowNHVjqJ5yJ0AH4yw5PVsOZt85g_HKINZdA,4720
113
+ pyreduce/settings/settings_schema.json,sha256=Y67Jxx4TAjUNi5iTYa-hrjMWSw7i0cvPu4sU1de1Pdg,33925
114
+ pyreduce/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
+ pyreduce/tools/combine.py,sha256=ETAq15r3PfuqcP_yD7zKfWsU3rrIDI10MEeOTLa_5YE,3956
116
+ pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz,sha256=bmYZ1nXFur_qXPLvfeeBaowXurgFn5gGftV5sC2VHAY,1604
117
+ pyreduce/wavecal/convert.py,sha256=kNp9vl1ml6Mx2Cd1Pi3Yi1W3-Z1M3Yahg8VK0W6Q7HE,817
118
+ pyreduce/wavecal/crires_plus_J1228_Open_det1.npz,sha256=olE9CLc0tbmW8FwqxLbGBiDZgZD1tTTzAaMTSpW_td4,9508
119
+ pyreduce/wavecal/crires_plus_J1228_Open_det2.npz,sha256=KuxhYVBYCKC-Ov3BBsBp0_BCEfJtypdH7lFYBiZor8w,7976
120
+ pyreduce/wavecal/crires_plus_J1228_Open_det3.npz,sha256=x-xQM5uUCbtGw4frENtkYhaY55rsSLP5EkQRfWPnEkY,5788
121
+ pyreduce/wavecal/harpn_harpn_2D.npz,sha256=yYnqgJi1RCpsd0xTi5Ms2LMhSI0RdZFQzMKa6qBeDG4,268060
122
+ pyreduce/wavecal/harps_blue_2D.npz,sha256=jyiBRlE7eWlOWuKBiD3wrAvmlJvA7jb4ByynRAeIZig,190128
123
+ pyreduce/wavecal/harps_blue_pol_2D.npz,sha256=igJS5gB6_PngiXx8fyBq-ECeh8dkZcWxaG1SMPUpplQ,377987
124
+ pyreduce/wavecal/harps_red_2D.npz,sha256=spVxwfZzD4G2ELk4nBRWkYltFCgDKGfB9JmImdHW2y8,74679
125
+ pyreduce/wavecal/harps_red_pol_2D.npz,sha256=9XFkZZwQlCPbech3_m3IIS5ghxmnwlZmV-4FNxsBdOQ,147107
126
+ pyreduce/wavecal/mcdonald.npz,sha256=YEB8oaeYB-UgO64psXtAbGLnmZZ3nCcgmDhnWEbaCvk,227121
127
+ pyreduce/wavecal/metis_lss_l_2D.npz,sha256=e_lIoswQhh8G6EC19m9RbLdHAhE-4yRrTi2VX6s2044,204191
128
+ pyreduce/wavecal/metis_lss_m_2D.npz,sha256=rs-5VJeYz6ERAIY62wrKcghmPm7rScZoBaz6Wg_Sq90,80056
129
+ pyreduce/wavecal/nirspec_K2.npz,sha256=0LwqPyO3iOqkB-HOME5_HR5Cv4X2chdBFlU_FuPKNrk,2588
130
+ pyreduce/wavecal/uves_blue_360nm_2D.npz,sha256=hQvWWy6sA4l-DlV9wttpawHXHEPC5U5xlcSGKuz2ad8,62739
131
+ pyreduce/wavecal/uves_blue_390nm_2D.npz,sha256=tGe07byH0jxqVPA-gAgMSRN1qR4uu2y4TTRxabGRgMQ,130256
132
+ pyreduce/wavecal/uves_blue_437nm_2D.npz,sha256=_WaHZRIiQ9DqfqWDVj0ak6tZDoDzBNmhgWsSybZAMrs,96818
133
+ pyreduce/wavecal/uves_middle_2x2_2D.npz,sha256=RpoS4NPBob39gAvyMDFbAoGZfox1m4qE_zRab20mlnE,66037
134
+ pyreduce/wavecal/uves_middle_565nm_2D.npz,sha256=L1_kUQtw7ym460bTD1P7ahdYOPknwbPx-tUZZJ78UEw,75994
135
+ pyreduce/wavecal/uves_middle_580nm_2D.npz,sha256=EAwuO7ozbcsPUWzSa-oEas4vACsvbPVDM3X5U4CX9Nw,28986
136
+ pyreduce/wavecal/uves_middle_600nm_2D.npz,sha256=y1GimameWtSiB5Aqlv5uzQcHnV5cOq74cNtbG9bKdkU,87881
137
+ pyreduce/wavecal/uves_middle_665nm_2D.npz,sha256=b60CAzYLQz2Dyj1Fnct8Z52todIo1FcOdKN6tRDpP0U,56251
138
+ pyreduce/wavecal/uves_middle_860nm_2D.npz,sha256=Boeaz2DVgx9Sm-xzkJ4DkndaXE3cfN7H3W7ToyLu47I,50889
139
+ pyreduce/wavecal/uves_red_580nm_2D.npz,sha256=i8S_TPB4Y4WACXQPXnn2rRV3Gk7KjaNoiGwoUmS8Kuw,26742
140
+ pyreduce/wavecal/uves_red_600nm_2D.npz,sha256=rVI28O0ZR35vv-zT3v3EHPzP0cAswN5oFEKJduuyyX8,45163
141
+ pyreduce/wavecal/uves_red_665nm_2D.npz,sha256=t8Y_6BX2hersnADGHAKgJbX26D6sLgyw3Ge-2kVmWTk,27599
142
+ pyreduce/wavecal/uves_red_760nm_2D.npz,sha256=NWUk-lwmlVC1Ta5LSrT6hQt8L14AqYz9ouLHsp3BGhM,35978
143
+ pyreduce/wavecal/uves_red_860nm_2D.npz,sha256=jqp4390I3MgdZTJ6fm3HiiSNswOLrA7P6_YhvarnaD0,10321
144
+ pyreduce/wavecal/xshooter_nir.npz,sha256=0Fu5wxWutc8072n8Hk2AZAWSlyT4WdhJuhh0OzUI6e4,21198
145
+ pyreduce/wavecal/atlas/thar.fits,sha256=nPPNStZ281iPUNsOXu3YJfHNlnHBd1CWMLwTuZL8vvo,1529218
146
+ pyreduce/wavecal/atlas/thar_list.txt,sha256=saK3YW1slxlXGeulZDdILWf952XOWToJcUULVSHMe6k,63515
147
+ pyreduce/wavecal/atlas/une.fits,sha256=egHlchdM4AN9MSksEI5MlHkmB3g1G1VhEdzhUG3XU8I,2949057
148
+ pyreduce_astro-0.6.0b1.dist-info/METADATA,sha256=j2O8O0lc40yEVEcosX4geRp0oNjHE8fhoNuL_ThVMwM,5267
149
+ pyreduce_astro-0.6.0b1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
150
+ pyreduce_astro-0.6.0b1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
151
+ pyreduce_astro-0.6.0b1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any