NEID
Level 2
- class rvdata.instruments.neid.level2.NEIDRV2
Bases:
RV2Read a NEID Level 2 file and convert it to the EPRV L2 standard format Python object.
This class extends the RV2 base class to handle the reading of NEID Level 2 files and converts them into a standardized EPRV Level 2 data format. Relevant extensions are taken from the NEID FITS file and stored as attributes of the data standard Python object.
- _read(hdul: fits.HDUList) None
Reads the input FITS HDU list, extracts specific extensions related to the science data for different chips and fibers, and stores them in a standardized format.
The method processes data from different fibers depending on the NEID observation mode. There are three traces (SCI/SKY/CAL) for HR mode and two traces (SCI/SKY) for HE mode.
- extensions
A dictionary containing all the created extensions (e.g., INSTRUMENT_HEADER, TRACE1_FLUX, EXPMETER) where the keys are the extension names and the values are the data type (e.g., ImageHDU, BinTableHDU).
- Type:
dict
- headers
A dictionary containing metadata headers relevant for each extension. These are largely taken from the input NEID FITS file, but some metadata is added in the translator (e.g., the instrument RV era).
- Type:
dict
- data
A dictionary containing the data entries for each extension. These are largely directly taken from the input NEID FITS file, but some are reorganized (e.g., exposure meter data).
- Type:
dict
Notes
To construct an RVData Level 2 object, only a NEID Level 2 FITS file is required. The classmethod from_fits should be used to instantiate the object from these files. The _read method is not intended to be called directly by users.
Example
>>> from rvdata.instruments.neid.level2 import NEIDRV2 >>> hdul = fits.open('neidL2_YYYYMMDDTHHMMSS.fits') >>> neid_rv2_obj = NEIDRV2.from_fits("neidL2_YYYYMMDDTHHMMSS.fits", instrument="NEID") >>> neid_rv2_obj.to_fits("neid_L2_standard.fits")
Level 3
- class rvdata.instruments.neid.level3.NEIDRV3
Bases:
RV3Data model and reader for RVData Level 3 (RV) data constructed from NEID Level 2 data.
This class extends the RV3 base class to handle NEID data. It reads the relevant science and calibration extensions from a NEID Level 2 file and organizes them into a standardized format.
:param Inherits all parameters from
RV3.:- extensions
Dictionary of all created extensions (e.g., ‘STITCHED_CORR_SCI_FLUX’, ‘STITCHED_CORR_SCI_WAVE’, etc.), mapping extension names to their data arrays.
- Type:
dict
- headers
Dictionary of headers for each extension, mapping extension names to their FITS headers.
- Type:
dict
- data
Dictionary of data arrays for each extension.
- Type:
dict
Notes
To construct an RVData Level 3 object, a NEID Level 2 FITS file is required. The classmethod from_fits should be used to instantiate the object from these files. The _read method is not intended to be called directly by users.
Example
>>> from rvdata.instruments.neid.level3 import NEIDRV3 >>> obj = NEIDRV3.from_fits("neid_L2.fits"") >>> obj.to_fits("neid_L3_standard.fits")
Level 4
- class rvdata.instruments.neid.level4.NEIDRV4
Bases:
RV4Data model and reader for RVData Level 4 (RV) data constructed from NEID Level 2 pipeline products.
This class extends the RV4 base class to handle NEID data. It reads the relevant extensions from a NEID Level 2 FITS file and organizes them into a standardized format.
:param Inherits all parameters from
RV4.:- extensions
Dictionary of all created extensions (e.g., ‘RV1’, ‘CCF1’, etc.), mapping extension names to their data arrays.
- Type:
dict
- headers
Dictionary of headers for each extension, mapping extension names to their FITS headers.
- Type:
dict
- data
Dictionary of data arrays for each extension.
- Type:
dict
Notes
To construct an RVData Level 4 object, a NEID Level 2 FITS file is required. The classmethod from_fits should be used to instantiate the object from these files. The _read method is not intended to be called directly by users.
Example
>>> from rvdata.instruments.neid.level4 import NEIDRV4 >>> neid_rv4_obj = NEIDRV4.from_fits("neidL2_YYYYMMDDTHHMMSS.fits", instrument="NEID") >>> neid_rv4_obj.to_fits("neid_L4_standard.fits")