pyreduce-astro 0.6.0b2__tar.gz → 0.6.0b5__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.0b2 → pyreduce_astro-0.6.0b5}/PKG-INFO +4 -3
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/hatch_build.py +6 -2
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyproject.toml +28 -7
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/__init__.py +1 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/extract.py +6 -4
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/andes.json +2 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/andes.py +3 -1
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/reduce.py +1 -1
- pyreduce_astro-0.6.0b5/pyreduce/settings/settings_ANDES.json +89 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/.gitignore +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/LICENSE +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/README.md +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/__main__.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/__init__.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/build_extract.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/slit_func_2d_xi_zeta_bd.c +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/slit_func_2d_xi_zeta_bd.h +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/slit_func_bd.c +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clib/slit_func_bd.h +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/clipnflip.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/combine_frames.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/configuration.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/continuum_normalization.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/cwrappers.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/datasets.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/echelle.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/estimate_background_scatter.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/extraction_width.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/__init__.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/common.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/common.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/crires_plus.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/crires_plus.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/filters.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/harpn.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/harpn.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/harps.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/harps.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/instrument_info.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/instrument_schema.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/jwst_miri.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/jwst_miri.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/jwst_niriss.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/jwst_niriss.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/lick_apf.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/lick_apf.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/mcdonald.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/mcdonald.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/metis_ifu.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/metis_ifu.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/metis_lss.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/metis_lss.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/micado.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/micado.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/neid.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/neid.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/nirspec.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/nirspec.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/nte.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/nte.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/uves.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/uves.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/xshooter.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/instruments/xshooter.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/make_shear.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_elodie.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_feros3.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_harps_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_harps_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_hds_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_hds_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_mcdonald.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_nes.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_sarg.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_blue.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_middle.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/rectify.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_CRIRES_PLUS.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_HARPN.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_HARPS.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_JWST_MIRI.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_JWST_NIRISS.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_LICK_APF.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_MCDONALD.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_METIS_IFU.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_METIS_LSS.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_MICADO.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_NEID.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_NIRSPEC.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_NTE.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_UVES.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_XSHOOTER.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_pyreduce.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_schema.json +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/tools/__init__.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/tools/combine.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/trace_orders.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/util.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/atlas/thar.fits +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/atlas/thar_list.txt +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/atlas/une.fits +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/convert.py +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/harps_blue_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/harps_red_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/mcdonald.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/nirspec_K2.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/xshooter_nir.npz +0 -0
- {pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavelength_calibration.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyreduce-astro
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.0b5
|
|
4
4
|
Summary: A data reduction package for echelle spectrographs
|
|
5
5
|
Project-URL: Homepage, https://github.com/ivh/PyReduce
|
|
6
|
-
Project-URL: Documentation, https://pyreduce.readthedocs.io
|
|
6
|
+
Project-URL: Documentation, https://pyreduce-astro.readthedocs.io
|
|
7
7
|
Project-URL: Repository, https://github.com/ivh/PyReduce
|
|
8
8
|
Project-URL: Issues, https://github.com/ivh/PyReduce/issues
|
|
9
|
-
Author:
|
|
9
|
+
Author: Nikolai Piskunov, Ansgar Wehrhahn
|
|
10
10
|
Author-email: Thomas Marquart <thomas.marquart@astro.uu.se>
|
|
11
11
|
License: GPL-3.0-or-later
|
|
12
12
|
License-File: LICENSE
|
|
@@ -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
|
|
|
@@ -21,6 +21,10 @@ class CustomBuildHook(BuildHookInterface):
|
|
|
21
21
|
|
|
22
22
|
This method is called by hatchling during the build process.
|
|
23
23
|
"""
|
|
24
|
+
# Mark wheel as platform-specific (not py3-none-any)
|
|
25
|
+
build_data["pure_python"] = False
|
|
26
|
+
build_data["infer_tag"] = True
|
|
27
|
+
|
|
24
28
|
print("=" * 60)
|
|
25
29
|
print("Building CFFI extensions for PyReduce")
|
|
26
30
|
print("=" * 60)
|
|
@@ -56,7 +60,7 @@ class CustomBuildHook(BuildHookInterface):
|
|
|
56
60
|
try:
|
|
57
61
|
os.chdir(clib_dir)
|
|
58
62
|
ffibuilder_vertical.compile(verbose=True)
|
|
59
|
-
print("
|
|
63
|
+
print("[OK] Vertical extraction extension built successfully\n")
|
|
60
64
|
finally:
|
|
61
65
|
os.chdir(old_cwd)
|
|
62
66
|
|
|
@@ -79,7 +83,7 @@ class CustomBuildHook(BuildHookInterface):
|
|
|
79
83
|
try:
|
|
80
84
|
os.chdir(clib_dir)
|
|
81
85
|
ffibuilder_curved.compile(verbose=True)
|
|
82
|
-
print("
|
|
86
|
+
print("[OK] Curved extraction extension built successfully\n")
|
|
83
87
|
finally:
|
|
84
88
|
os.chdir(old_cwd)
|
|
85
89
|
|
|
@@ -4,14 +4,14 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyreduce-astro"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.0b5"
|
|
8
8
|
requires-python = ">=3.11"
|
|
9
9
|
description = "A data reduction package for echelle spectrographs"
|
|
10
10
|
readme = "README.md"
|
|
11
11
|
authors = [
|
|
12
|
-
{name = "Ansgar Wehrhahn"},
|
|
13
12
|
{name = "Thomas Marquart", email = "thomas.marquart@astro.uu.se"},
|
|
14
|
-
{name = "Nikolai Piskunov"}
|
|
13
|
+
{name = "Nikolai Piskunov"},
|
|
14
|
+
{name = "Ansgar Wehrhahn"}
|
|
15
15
|
]
|
|
16
16
|
license = {text = "GPL-3.0-or-later"}
|
|
17
17
|
classifiers = [
|
|
@@ -52,11 +52,12 @@ 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]
|
|
58
59
|
Homepage = "https://github.com/ivh/PyReduce"
|
|
59
|
-
Documentation = "https://pyreduce.readthedocs.io"
|
|
60
|
+
Documentation = "https://pyreduce-astro.readthedocs.io"
|
|
60
61
|
Repository = "https://github.com/ivh/PyReduce"
|
|
61
62
|
Issues = "https://github.com/ivh/PyReduce/issues"
|
|
62
63
|
|
|
@@ -79,13 +80,15 @@ include = [
|
|
|
79
80
|
"pyreduce/**/*.py",
|
|
80
81
|
"pyreduce/**/*.c",
|
|
81
82
|
"pyreduce/**/*.h",
|
|
82
|
-
"pyreduce/**/*.so",
|
|
83
|
+
"pyreduce/**/*.so", # Linux/macOS compiled extensions
|
|
84
|
+
"pyreduce/**/*.pyd", # Windows compiled extensions
|
|
83
85
|
"pyreduce/**/*.json",
|
|
84
86
|
"pyreduce/**/*.npz",
|
|
85
87
|
"pyreduce/**/*.sav",
|
|
86
88
|
]
|
|
87
89
|
artifacts = [
|
|
88
|
-
"pyreduce/clib/*.so",
|
|
90
|
+
"pyreduce/clib/*.so", # Linux/macOS compiled extensions
|
|
91
|
+
"pyreduce/clib/*.pyd", # Windows compiled extensions
|
|
89
92
|
]
|
|
90
93
|
|
|
91
94
|
# Build CFFI extensions via build hook
|
|
@@ -147,10 +150,16 @@ known-first-party = ["pyreduce"]
|
|
|
147
150
|
[tool.pytest.ini_options]
|
|
148
151
|
minversion = "7.0"
|
|
149
152
|
addopts = "-ra -q --strict-markers"
|
|
150
|
-
testpaths = ["
|
|
153
|
+
testpaths = ["test"]
|
|
151
154
|
python_files = ["test_*.py", "*_test.py"]
|
|
152
155
|
python_classes = ["Test*"]
|
|
153
156
|
python_functions = ["test_*"]
|
|
157
|
+
markers = [
|
|
158
|
+
"unit: Fast unit tests with synthetic data (no downloads)",
|
|
159
|
+
"instrument: Integration tests using real instrument datasets",
|
|
160
|
+
"slow: Tests taking >5 seconds",
|
|
161
|
+
"downloads: Tests that download sample datasets",
|
|
162
|
+
]
|
|
154
163
|
|
|
155
164
|
# Coverage configuration
|
|
156
165
|
[tool.coverage.run]
|
|
@@ -178,3 +187,15 @@ dev = [
|
|
|
178
187
|
"pytest-cov>=4.1.0",
|
|
179
188
|
"sphinx>=7.2.0",
|
|
180
189
|
]
|
|
190
|
+
|
|
191
|
+
# cibuildwheel configuration for building platform-specific wheels
|
|
192
|
+
[tool.cibuildwheel]
|
|
193
|
+
# Build for Python 3.11, 3.12, 3.13 on common platforms
|
|
194
|
+
build = "cp311-* cp312-* cp313-*"
|
|
195
|
+
|
|
196
|
+
# Skip musllinux (use manylinux instead) and 32-bit builds
|
|
197
|
+
skip = "*-musllinux_* *-win32 *-manylinux_i686"
|
|
198
|
+
|
|
199
|
+
# Test the built wheels
|
|
200
|
+
test-command = "pytest {project}/test -m unit"
|
|
201
|
+
test-requires = ["pytest"]
|
|
@@ -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
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_crires_plus_det1.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_crires_plus_det2.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_nirspec_nirspec.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_subaru_hds_red.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_middle_2x2_split.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red_2x2_split.fits.gz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/masks/mask_uves_red_binned_2_2.fits.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/settings/settings_CRIRES_PLUS.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/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.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/crires_plus_J1228_Open_det1.npz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/pyreduce/wavecal/crires_plus_J1228_Open_det2.npz
RENAMED
|
File without changes
|
{pyreduce_astro-0.6.0b2 → pyreduce_astro-0.6.0b5}/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
|