pyreduce-astro 0.6.0b1__tar.gz → 0.6.0b3__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.
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/PKG-INFO +2 -1
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyproject.toml +9 -2
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/__init__.py +12 -3
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/extract.py +6 -4
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/andes.json +2 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/andes.py +3 -1
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/reduce.py +1 -1
- pyreduce_astro-0.6.0b3/pyreduce/settings/settings_ANDES.json +89 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/.gitignore +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/LICENSE +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/README.md +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/hatch_build.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/__main__.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/__init__.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/build_extract.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/slit_func_2d_xi_zeta_bd.c +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/slit_func_2d_xi_zeta_bd.h +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/slit_func_bd.c +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clib/slit_func_bd.h +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/clipnflip.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/combine_frames.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/configuration.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/continuum_normalization.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/cwrappers.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/datasets.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/echelle.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/estimate_background_scatter.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/extraction_width.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/__init__.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/common.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/common.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/crires_plus.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/crires_plus.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/filters.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/harpn.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/harpn.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/harps.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/harps.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/instrument_info.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/instrument_schema.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/jwst_miri.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/jwst_miri.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/jwst_niriss.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/jwst_niriss.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/lick_apf.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/lick_apf.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/mcdonald.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/mcdonald.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/metis_ifu.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/metis_ifu.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/metis_lss.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/metis_lss.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/micado.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/micado.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/neid.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/neid.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/nirspec.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/nirspec.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/nte.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/nte.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/uves.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/uves.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/xshooter.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/xshooter.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/make_shear.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_elodie.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_feros3.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_harps_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_harps_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_hds_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_hds_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_mcdonald.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_nes.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_sarg.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_middle.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/rectify.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_CRIRES_PLUS.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_HARPN.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_HARPS.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_JWST_MIRI.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_JWST_NIRISS.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_LICK_APF.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_MCDONALD.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_METIS_IFU.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_METIS_LSS.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_MICADO.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_NEID.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_NIRSPEC.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_NTE.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_UVES.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_XSHOOTER.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_pyreduce.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_schema.json +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/tools/__init__.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/tools/combine.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/trace_orders.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/util.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/atlas/thar.fits +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/atlas/thar_list.txt +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/atlas/une.fits +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/convert.py +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/harps_blue_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/harps_red_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/mcdonald.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/nirspec_K2.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/xshooter_nir.npz +0 -0
- {pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavelength_calibration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyreduce-astro
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.0b3
|
|
4
4
|
Summary: A data reduction package for echelle spectrographs
|
|
5
5
|
Project-URL: Homepage, https://github.com/ivh/PyReduce
|
|
6
6
|
Project-URL: Documentation, https://pyreduce.readthedocs.io
|
|
@@ -41,6 +41,7 @@ Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
|
|
|
41
41
|
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
|
|
42
42
|
Requires-Dist: pytest>=7.4.0; extra == 'dev'
|
|
43
43
|
Requires-Dist: ruff>=0.8.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: setuptools; extra == 'dev'
|
|
44
45
|
Requires-Dist: sphinx>=7.2.0; extra == 'dev'
|
|
45
46
|
Description-Content-Type: text/markdown
|
|
46
47
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyreduce-astro"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.0b3"
|
|
8
8
|
requires-python = ">=3.11"
|
|
9
9
|
description = "A data reduction package for echelle spectrographs"
|
|
10
10
|
readme = "README.md"
|
|
@@ -52,6 +52,7 @@ dev = [
|
|
|
52
52
|
"pytest>=7.4.0",
|
|
53
53
|
"pytest-cov>=4.1.0",
|
|
54
54
|
"sphinx>=7.2.0",
|
|
55
|
+
"setuptools", # Required for CFFI compilation in tests (Python 3.12+)
|
|
55
56
|
]
|
|
56
57
|
|
|
57
58
|
[project.urls]
|
|
@@ -147,10 +148,16 @@ known-first-party = ["pyreduce"]
|
|
|
147
148
|
[tool.pytest.ini_options]
|
|
148
149
|
minversion = "7.0"
|
|
149
150
|
addopts = "-ra -q --strict-markers"
|
|
150
|
-
testpaths = ["
|
|
151
|
+
testpaths = ["test"]
|
|
151
152
|
python_files = ["test_*.py", "*_test.py"]
|
|
152
153
|
python_classes = ["Test*"]
|
|
153
154
|
python_functions = ["test_*"]
|
|
155
|
+
markers = [
|
|
156
|
+
"unit: Fast unit tests with synthetic data (no downloads)",
|
|
157
|
+
"instrument: Integration tests using real instrument datasets",
|
|
158
|
+
"slow: Tests taking >5 seconds",
|
|
159
|
+
"downloads: Tests that download sample datasets",
|
|
160
|
+
]
|
|
154
161
|
|
|
155
162
|
# Coverage configuration
|
|
156
163
|
[tool.coverage.run]
|
|
@@ -4,7 +4,7 @@ except ImportError: # for Python<3.8
|
|
|
4
4
|
from importlib_metadata import PackageNotFoundError, version
|
|
5
5
|
|
|
6
6
|
try:
|
|
7
|
-
__version__ = version(
|
|
7
|
+
__version__ = version("pyreduce-astro")
|
|
8
8
|
except PackageNotFoundError:
|
|
9
9
|
__version__ = "unknown"
|
|
10
10
|
|
|
@@ -54,5 +54,14 @@ logger.addHandler(console)
|
|
|
54
54
|
del logging
|
|
55
55
|
# do not del tqdm, it is needed in the Log Handler
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
|
|
58
|
+
# Lazy loading for faster imports
|
|
59
|
+
def __getattr__(name):
|
|
60
|
+
"""Lazy load submodules on first access."""
|
|
61
|
+
if name in ("configuration", "datasets", "reduce", "util"):
|
|
62
|
+
import importlib
|
|
63
|
+
|
|
64
|
+
module = importlib.import_module(f".{name}", __name__)
|
|
65
|
+
globals()[name] = module
|
|
66
|
+
return module
|
|
67
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
@@ -405,6 +405,8 @@ def fix_column_range(column_range, orders, extraction_width, nrow, ncol):
|
|
|
405
405
|
-------
|
|
406
406
|
column_range : array[nord, 2]
|
|
407
407
|
updated column range
|
|
408
|
+
orders : array[nord, degree]
|
|
409
|
+
order tracing coefficients (may have rows removed if no valid pixels)
|
|
408
410
|
"""
|
|
409
411
|
|
|
410
412
|
ix = np.arange(ncol)
|
|
@@ -426,7 +428,7 @@ def fix_column_range(column_range, orders, extraction_width, nrow, ncol):
|
|
|
426
428
|
|
|
427
429
|
if len(points_in_image) == 0:
|
|
428
430
|
# print(y_bot, y_top,nrow, ncol, points_in_image)
|
|
429
|
-
logger.
|
|
431
|
+
logger.warning(
|
|
430
432
|
f"No pixels are completely within the extraction width for order {i}, removing it."
|
|
431
433
|
)
|
|
432
434
|
to_remove += [i]
|
|
@@ -452,9 +454,9 @@ def fix_column_range(column_range, orders, extraction_width, nrow, ncol):
|
|
|
452
454
|
column_range[0] = column_range[1]
|
|
453
455
|
column_range[-1] = column_range[-2]
|
|
454
456
|
|
|
455
|
-
|
|
456
|
-
np.delete(column_range,
|
|
457
|
-
np.delete(orders,
|
|
457
|
+
if to_remove:
|
|
458
|
+
column_range = np.delete(column_range, to_remove, axis=0)
|
|
459
|
+
orders = np.delete(orders, to_remove, axis=0)
|
|
458
460
|
|
|
459
461
|
return column_range, orders
|
|
460
462
|
|
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
"date_format": "fits",
|
|
9
9
|
"id_mode": "ESO INS MODE",
|
|
10
10
|
"id_band": "ESO INS WLEN ID",
|
|
11
|
+
"id_decker": "ESO INS OPTI8 ID",
|
|
11
12
|
"id_lamp": "ESO INS1 LAMP? ID",
|
|
12
13
|
"modes": ["SL", "IFU"],
|
|
14
|
+
"deckers": ["Open", "pos1", "pos2"],
|
|
13
15
|
"bands": ["UBV", "RIZ", "YJH", "K"],
|
|
14
16
|
"settings": ["B", "V", "R", "IZ", "Y", "J", "H", "K"],
|
|
15
17
|
"chips": ["det1"],
|
|
@@ -45,8 +45,10 @@ class ANDES(Instrument):
|
|
|
45
45
|
return modes
|
|
46
46
|
|
|
47
47
|
def parse_mode(self, mode):
|
|
48
|
-
pattern = r"([
|
|
48
|
+
pattern = r"([A-Z]+)(_(Open|pos1|pos2))?_det(\d)"
|
|
49
49
|
match = re.match(pattern, mode, flags=re.IGNORECASE)
|
|
50
|
+
if not match:
|
|
51
|
+
raise ValueError(f"Invalid mode format: {mode}")
|
|
50
52
|
band = match.group(1).upper()
|
|
51
53
|
if match.group(3) is not None:
|
|
52
54
|
decker = match.group(3).lower().capitalize()
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"__instrument__": "ANDES",
|
|
3
|
+
"instrument": {},
|
|
4
|
+
"bias": {
|
|
5
|
+
"degree": 1
|
|
6
|
+
},
|
|
7
|
+
"flat": {
|
|
8
|
+
"bias_scaling": "exposure_time"
|
|
9
|
+
},
|
|
10
|
+
"orders": {
|
|
11
|
+
"degree": 3,
|
|
12
|
+
"degree_before_merge": 1,
|
|
13
|
+
"filter_size": 100,
|
|
14
|
+
"min_cluster": 200000,
|
|
15
|
+
"border_width": 0,
|
|
16
|
+
"noise": 0,
|
|
17
|
+
"manual": false,
|
|
18
|
+
"auto_merge_threshold": 1,
|
|
19
|
+
"merge_min_threshold": 0.9,
|
|
20
|
+
"bias_scaling": "exposure_time"
|
|
21
|
+
},
|
|
22
|
+
"scatter": {
|
|
23
|
+
"extraction_width": 0.45,
|
|
24
|
+
"border_width": 50,
|
|
25
|
+
"bias_scaling": "exposure_time"
|
|
26
|
+
},
|
|
27
|
+
"norm_flat": {
|
|
28
|
+
"smooth_slitfunction": 2,
|
|
29
|
+
"smooth_spectrum": 0,
|
|
30
|
+
"extraction_width": 100,
|
|
31
|
+
"oversampling": 12,
|
|
32
|
+
"swath_width": 200,
|
|
33
|
+
"threshold": 1000
|
|
34
|
+
},
|
|
35
|
+
"wavecal_master": {
|
|
36
|
+
"extraction_method": "optimal",
|
|
37
|
+
"extraction_width": 100,
|
|
38
|
+
"oversampling": 5,
|
|
39
|
+
"swath_width": 2000,
|
|
40
|
+
"smooth_slitfunction": 1,
|
|
41
|
+
"smooth_spectrum": 1e-7,
|
|
42
|
+
"extraction_cutoff": 20,
|
|
43
|
+
"bias_scaling": "exposure_time"
|
|
44
|
+
},
|
|
45
|
+
"wavecal_init": {
|
|
46
|
+
"element": "UNe",
|
|
47
|
+
"medium": "vac",
|
|
48
|
+
"cutoff": 5,
|
|
49
|
+
"smoothing": 1
|
|
50
|
+
},
|
|
51
|
+
"wavecal": {
|
|
52
|
+
"threshold": 100,
|
|
53
|
+
"closing": 0,
|
|
54
|
+
"dimensionality": "2D",
|
|
55
|
+
"element": null,
|
|
56
|
+
"degree": [5,5],
|
|
57
|
+
"manual": false
|
|
58
|
+
},
|
|
59
|
+
"freq_comb_master": {
|
|
60
|
+
"extraction_width": 10,
|
|
61
|
+
"bias_scaling": "exposure_time"
|
|
62
|
+
},
|
|
63
|
+
"freq_comb": {
|
|
64
|
+
"threshold": 100,
|
|
65
|
+
"dimensionality": "2D",
|
|
66
|
+
"degree": [8, 8]
|
|
67
|
+
},
|
|
68
|
+
"curvature": {
|
|
69
|
+
"peak_threshold": 1,
|
|
70
|
+
"window_width": 15,
|
|
71
|
+
"extraction_width": 100,
|
|
72
|
+
"dimensionality": "2D",
|
|
73
|
+
"degree": [
|
|
74
|
+
1,
|
|
75
|
+
1
|
|
76
|
+
],
|
|
77
|
+
"curv_degree": 1,
|
|
78
|
+
"peak_function": "lorentzian",
|
|
79
|
+
"bias_scaling": "exposure_time"
|
|
80
|
+
},
|
|
81
|
+
"science": {
|
|
82
|
+
"oversampling": 1,
|
|
83
|
+
"extraction_width": 10,
|
|
84
|
+
"swath_width": 300,
|
|
85
|
+
"smooth_slitfunction": 0.1,
|
|
86
|
+
"smooth_spectrum": 0,
|
|
87
|
+
"bias_scaling": "exposure_time"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/instruments/instrument_schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det1.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det2.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_crires_plus_det3.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_flames_giraffe.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_nirspec_nirspec.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_subaru_hds_red.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_middle_2x2_split.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red_2x2_split.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/masks/mask_uves_red_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_CRIRES_PLUS.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/settings/settings_JWST_NIRISS.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det1.npz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det2.npz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b1 → pyreduce_astro-0.6.0b3}/pyreduce/wavecal/crires_plus_J1228_Open_det3.npz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|