Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #7

Open
nabobalis opened this issue May 22, 2020 · 0 comments
Open

Roadmap #7

nabobalis opened this issue May 22, 2020 · 0 comments

Comments

@nabobalis
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant