guruando con Borja `PfsSimpleSpectrum` - https://github.com/Subaru-PFS/datamodel/blob/master/python/pfs/datamodel/pfsSimpleSpectrum.py `Target` - https://github.com/Subaru-PFS/datamodel/blob/master/python/pfs/datamodel/target.py `MaskHelper` - https://github.com/Subaru-PFS/datamodel/blob/master/python/pfs/datamodel/masks.py (usada para las flags) ```python from pfs.datamodel import Target, MaskHelper, PfsSimpleSpectrum import numpy as np flux = np.arange(300) wave = np.linspace(178, 186, num=300) # ya tienes model.wave, model.flux # Define el target my_target = Target(0, #catId, # 0 0, #tract, # 0 '0', patch,# '0' 0, #objId,# ObjId, 0 ra=23, # np.nan, # no pude ser nan! Fallara al escribir el fits. dec=12, # np.nan, # no puede ser nan! ) #targetType=TargetType.UNASSIGNED, #fiberFlux=None,) ## O lo puedes leer de otro archivo # hdu = fits.read('other_spectrum.fits') # my_target = Target().fromFits(hdu) my_mask = (flux * 0).astype(np.int8) flags = MaskHelper() # FIXME - Parece que así funciona bien. my_header = { "fiberFlux": 44, "psfFlux": 100, "totalFlux": 235, "fiberFluxErr": 3, "psfFluxErr": 23, "totalFluxErr": 15 } my_spectrum = PfsSimpleSpectrum(my_target, wave, flux, my_mask, flags, my_header) my_spectrum.writeFits('my_spectrum.fits') from astropy.io import fits my_example = fits.open('my_spectrum.fits') [m.header for m in my_example] ``` Dependencies - astropy - scipy