Open nabobalis opened 6 years ago
Rebrand sunkit-image
as sunkit-analysis
. This becomes a package for applying analysis functions to any/all SunPy data objects. Then sunpy
core can become mainly about data objects and their fundamental functionality: manipulating (e.g. slicing); visualization; data read in (?); metadata handling; etc.
An intermediate step suggested by @ehsteve is that we create a sunkit-analysis
module within sunpy-core and move methods like resample
etc. there. That way they are still within sunpy-core reducing the workload of maintaining another package. Then as that module grows, it can be moved into its own package once/if it reaches a critical mass.
So the original objective of sunkit-image was to have more complex and non-unique algorithms implemented independently of core, things like LCT, MGN norm, OCCULT etc. I think we can easily extend this to the peak finding work @Alex-Ian-Hamilton has been doing.
I do think there is a place for some "analysis" routines in core, I am thinking here of map rotate especially. I really don't think moving that out into a second package would be a win for our users. Probably the same goes for resample and some of the other things that Map currently does.
I wonder if the correct answer is to have both an analysis subpacakge in core and sunkit-analysis
for more complex / or niche algorithms?
I think that could work. Whichever way we go, I still like separating analysis tools from data objects, whether or not that's via a separate package or separate module.
I agree on that.
The problem is defining the dividing line between what should be in core and what should be in sunkit-analysis/sunkit-image.
What are the purposes of map rotate, resample and solar de-rotate? How do they differ from LCT, MGN, OCCULT, etc?
One way to think about LCT, MGN and OCCULT is that they produce data products that derive new information from existing data. I don't think map rotate, resample or solar de-rotate produce any new information. Maybe we can use something like this to decide what goes where?
I vote that this should be moved to a discussion on the roadmap repo. It is more of a meta discussion.
I vote that this should be moved to a discussion on the roadmap repo. It is more of a meta discussion.
Agreed, can you move it across @ehsteve ?
The original issue brought up a long discussion about the use of methods on the data objects we have in SunPy that store the data.
Question 1: Do we want methods that do any analysis or any permanent change to the original data/object?
E.g. Resample, rotate on Map or FFT/Peak Fitting on TimeSeries.
Question 1b: If yes to Question 1, what API from Map do we want to move out of Map?
Question 2: Do we rebrand Sunkit-Image to Sunkit-Analysis that either becomes an Affiliated Package or something at the level of core SunPy?
(Hypocritically pinging) @sunpy/sunpy-maintainers @sunpy/sunpy-board @sunpy/sunpy-developers