io
io
Classes
| Name | Description |
|---|---|
| EUV_CDF | EUV NetCDF reader class. |
| FUV_CDF | FUV NetCDF reader class. |
| HSP | Class for reading NetCDF UVIS HSP data files. |
| PDSReader | Class to support the correct binary reading of the PDS DAT files. |
| UVPDS | Class to manage a PDS product. |
EUV_CDF
io.EUV_CDF(fname, freq='1s')EUV NetCDF reader class.
Methods
| Name | Description |
|---|---|
| save_spectrums | plotting spectrums over time summing all pixels |
save_spectrums
io.EUV_CDF.save_spectrums()plotting spectrums over time summing all pixels
FUV_CDF
io.FUV_CDF(fname, freq='1s')FUV NetCDF reader class.
Parameters
fname: str or pathlib.Path Path to file to read freq: str String indicating the sampling frequency, e.g. ‘1s’, ‘2s’
Examples
fuv = FUV_CDF(‘path’, ‘1s’)
Methods
| Name | Description |
|---|---|
| save_spectrums | plotting spectrums over time summing all pixels |
save_spectrums
io.FUV_CDF.save_spectrums()plotting spectrums over time summing all pixels
HSP
io.HSP(fname, freq)Class for reading NetCDF UVIS HSP data files.
Parameters
fname: {str, pathlib.Path} Path to file to read freq: str String indicating the sampling frequency, e.g. ‘1ms’, ‘2ms’
Examples
hsp = hsp(‘path’, ‘1ms’)
Attributes
| Name | Description |
|---|---|
| cleaned_data_copy | Filtering out 0.5, 99.5 % outliers. |
| times | HSP times are different in that one needs to stack all rows. |
PDSReader
io.PDSReader(datapath)Class to support the correct binary reading of the PDS DAT files.
This class focuses on reading the DAT files. For a more complete reader, look below at the UVPDS
UVPDS
io.UVPDS(uvis_id, skip_download=False)Class to manage a PDS product.
One PDS product has a PRODUCT_ID like FUV2003_358_05_59 and hence provides either EUV or FUV data.
If the calibration matrix PDS file is available, the wavelengths are being read from the calmatrix label file, correctly binned for BAND_BIN, if required, otherwise default wavelengths are being assumed, as given per UVIS manual.
See UVISOBS for a class that manages all data related to one observation, i.e. both EUV and FUV, and also HDAC and HSP data.
Attributes
| Name | Description |
|---|---|
| calibrated | Following the instructions in self.caliblabel.QUBE.DESCRIPTION |
| n_integrations | last item of the CORE_ITEMS label field is number of integrations. |
Methods
| Name | Description |
|---|---|
| plot | Create default hvplot for the data. |
| set_cal_wavelengths | Retrieve the wavelengths for this observation, in nm, using cal_matrix |
| set_default_wavelengths | If calibration matrix is not present, set to default wavelengths. |
plot
io.UVPDS.plot(
precise=False,
percentiles=(0.5, 99.5),
clim=None,
cmap='viridis',
calibrated=False,
)Create default hvplot for the data.
Due to non-equidistant wavelengths, one should use the quadmesh plot, but that is less performant than a constant raster and creates an annoying aliasing structure when zoomed out (however correct, though).
I am investigating if that aliasing can be avoided, it might come from gridlines. So I leave it to the user to switch to the raster plot using the precise switch.
set_cal_wavelengths
io.UVPDS.set_cal_wavelengths()Retrieve the wavelengths for this observation, in nm, using cal_matrix
Sets wavelengths to np.array of np.double values in nanometers (nm) The wavelengths for each spectral bin of the QUBE observation
set_default_wavelengths
io.UVPDS.set_default_wavelengths()If calibration matrix is not present, set to default wavelengths.