# SunPy Roadmap Draft ## Documentation / Learning * Project wide gallery * Project wide search * Tutorials and training materials * More examples for not-core * Examples of building non-FITS WCS (i.e. gwcs) for solar cases * e.g. overlappograms * time varying WCSes ## Improved Support for Spectral Data * Calculate moments * Support for X-ray spectral fitting: sunkit-spex * Irregular coordinate grid support in NDCube/ExtraCoords * Coordinate bin edges in NDCube/ExtraCoords * Support for atomic databases fitting templates (astropy models) (i.e. expected line positions) * Documenting how to serialize models (e.g. to asdf) * Address needs of in situ spectra ## World coordinate specific API on NDCube * Rewrite maputils to support NDCube objects with at least 2 celestial axes * Perform operations which require spatital axes on a higherD cube, like draw_limb on a SPICE cube. * Access world coordinate specific metadata (such as reference_coordinate) on higherD cubes. * Example use case: be able to treat a space-space slice of an IRIS cube like a Map. * Extract 1-D paths or regions through world space into a 1-d NDCube. * Provide views into the cube where all the other pixel dimensions are flattened (i.e. fitting all spectra or tracing a SkyCoord through all non-celestial axes) ## Other things * Time-varying WCSes (dkist -> gwcs?) * Drop world axes in ndcube slicing while a pixel axis exists (i.e. ignore degenerate dimensions) * i.e a 2D cube from a rastering spectrograph (sliced at a wavelength) doing a pixel_to_world still needs time. ### affiliated package work * Generalized package for doing inversions * i.e. **sunkit-dem** but generalized to more complicated coupling of axes, e.g. inverting overlappograms * sunkit-dem... * radiospectra * More extrapolation methods in sunkit-magex * Proper support for spectral data * Accurately represents the data/wcs * spectral fitting support * SST and VISP support * * Make all WCS-based data classes backed by NDCube. * No NDCube subclasses - Replace all data classes with a single class * Richer world coordinate specific API on NDCube * SM - load any dimension cube into a sunpy class and have the existing ndcube methods work (ref pixel, rebin, draw limb, etc.) * Agreed upon vocabularly for instrument-specific metadata classes * Metadata is instrument-specific mixin - Coronagraph focused tools (e.g. PUNCH + Proba3 + Metis onboard Solar Orbiter)