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

Display pointing/field-of-view from information in catalog #31

Closed
ebuchlin opened this issue Sep 12, 2023 · 2 comments · Fixed by #36
Closed

Display pointing/field-of-view from information in catalog #31

ebuchlin opened this issue Sep 12, 2023 · 2 comments · Fixed by #36
Labels
enhancement New feature or request

Comments

@ebuchlin
Copy link
Collaborator

ebuchlin commented Sep 12, 2023

The idea is that:

  • The user extracts rows from the catalog (Catalog object, Catalog.find_files()...)
  • These rows each contain some WCS headers that should be sufficient to compute the edges of the FOV in Helioprojective coordinates as seen from Solar Orbiter
  • These FOVs are displayed on an existing sunpy.Map provided by the user, or on a blank map built from WCS headers (e.g. the result of sunpy.map.make_fitswcs_header()) of from simple frame parameters.

The background/blank map could be in any relevant coordinate frame (including Helioprojective from the same or different viewpoint/time, Carrington, Stonyhurst). The projection should take into account the possibly different point of view between Solar Orbiter and the background/blank map, as well as the time difference between each observation and the reference time for the background/blank map (change of Solar Orbiter's position on its orbit, solar (differential) rotation).

@ebuchlin
Copy link
Collaborator Author

ebuchlin commented Sep 13, 2023

A proposed interface, as part of the FileMetadata class (corresponding to 1 catalog row):

def plot_fov(self, background_map=None, background_wcs=None, differential_rotation=True):
    """
    Plot FOV and a background or blank map

    Parameters
    -----------------
    background_map: sunpy.map.Map
        A background map
    background_wcs: astropy.wcs.WCS
       WCS object to build a blank background map
    differential_rotation: bool
        Shift FOV edges taking into account differential rotation between background map reference time and SPICE observation

    Either background_map or background_wcs must be provided.
    """

Open questions:

  • Some users may want to have a simple default background map, without having to build a WCS object
  • Time difference between background map and observation is not only relevant for differential rotation, but also for solar solid rotation (in helioprojective coordinates) and for the change of position of Solar Orbiter on its orbit, how to take this into account?
  • Classical (non-synchronic) Carrington maps correspond to a different reference time in each column, how to take this into account?
  • Different points on the edge of the SPICE FOV correspond to different times. Their coordinates seem to be given in the FITS headers for the helioprojective coordinates at the middle of the observation duration (this has to be confirmed).

@ebuchlin ebuchlin assigned ebuchlin and unassigned ebuchlin Oct 16, 2023
@ebuchlin ebuchlin added the enhancement New feature or request label Oct 16, 2023
@ebuchlin ebuchlin linked a pull request Jan 9, 2024 that will close this issue
Merged
@ebuchlin
Copy link
Collaborator Author

ebuchlin commented Feb 1, 2024

Implemented, see PR #43. Remaining linked issues: #39, #40, #41.

@ebuchlin ebuchlin closed this as completed Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant