Skip to content

Roadmap #7

@nabobalis

Description

@nabobalis

From sunpy/sunkit-instruments#5

This issue proposes what the IRIS submodule of this package should look like.

  • This subpackage should replace the IRIS-specific functionality in sunraster with the exception of the spectrograph reader functions.
  • For raster data, it should NOT provide raster classes, but instead provide functions that act on sunraster objects.
  • The iris submodule should provide the following classes:
    • IRISMapCube
    • IRISMapCubeSequence (Consider renaming to IRISMapSequence?)
    • ObsId
  • iris submodule should NOT provide the following classes and functions:
    • IRISSpectrograph
    • IRISSpectrogramCubeSequence
    • IRISSpectrogramCube
    • calculate_exposure_time_correction and uncalculate_exposure_time_correction. (These are now handled by sunraster.)
    • _convert_iris_sequence (Not used anywhere. Double check this.)
  • The following methods from IRISMapCube/Sequence and IRISSpectrogramCube/Sequence classes should be provided as functions that take Raster and RasterSequence objects from sunraster:
    • IRISSpectrogramCube.convert_to() and IRISSpectrogramSequence.convert_to() -> convert_iris_spectrogram_to() (or better named function).
      • This function should accept an IRISSpectrogramCube or IRISSpectrogramSequence, convert the data, and return a new instance of the input class.
      • This will require private versions of the function of the Cube and Sequence cases.
    • IRISMapCube.convert_to() and IRISMapSequence.convert_to() -> convert_iris_map_to() (or better named function).
      • This function should accept an IRISMapCube or IRISMapSequence, convert the data, and return a new instance of the input class.
      • This will require private versions of the function of the Cube and Sequence cases.
  • iris subpackage should contain the following modules:
    • obsid.py
      • ObsId
    • spectrograph.py
      • convert_iris_spectrogram
      • calculate_orbital_wavelength_variation
      • FUV and NUV DN unit equivalencies
    • sji.py
      • convert_iris_map
      • apply_dust_mask
      • calculate_dust_mask
      • read_iris_sji_level2_fits
      • SJI DN unit equivalency
    • utils.py (for utils that are independent of whether data is from SJI or SG.)
      • get_iris_response
      • fit_iris_xput
      • get_detector_type
      • convert_between_DN_and_photons
      • convert_or_undo_photons_per_sec_to_radiance
      • calculate_uncertainty (Take a sunraster or IRISMap object and calculate the uncertainty based on the data and some detector properties. Attach to the input object's uncertainty attribute.

Some tools have not been mentioned here but should also be included in the most logical place if above functions depend on them. Any functions not used anywhere should be considered for deletion.

When this submodule or features within it can be deprecated once the instrument-team-backed IRISpy package is released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions