-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
SJICube Refactor #66
Comments
@BaptistePellorceAstro: I think the first stage of this effort is to write a reader function to read in the SJI data into an |
@BaptistePellorceAstro, well done for writing the new SJI reader function in PR #67. I think the next step should be create a new SJICube class. For now let's call it For the first version of
The methods that you should include explicitly include in
Then I think it would be a good time to have a conversation about what else is needed of |
@DanRyanIrish, I had a chat with Baptiste about If I understand correctly, under the old A related question: is there an |
Hi @tiagopereira. Yes you're right. Regarding |
There isn't an equivalent of |
Now that @BaptistePellorceAstro is making great progress, I'd like to suggest revisit the roadmap agreed upon at the top of this issue. I have thought of two very important features that I think are very important for handling SJI and IRIS data at large. Depending on how much time @BaptistePellorceAstro has to go in his internship, we should consider working them into our roadmap. First, Second, in order to facilitate going from an Thirdly, IRISpy desperately needs the ability to return the time-dependent response function. It can currently get the pre-launch response function but cannot do the necessary fitting/interpolation to get it based on a date. People at LMSAL said they would do this but there has been no progress for months. I'll look into whether work is in fact still going on. If not, we should consider adding this to our roadmap. I believe that these three actions items are more important than those still on our roadmap with the exception of the dust mask. |
Nice ! My internship will end at the end of June so I did the first half of my internship. Tell me on what you want I work and I will doing it ! I will take a view on |
Sounds like you're enthusiastic for this way forwards, @BaptistePellorceAstro! Great. I'll alter the roadmap at the top of this issue accordingly and also inquire about what if any work has been done on the response function fitting. |
Roadmap updated. |
SJICube
was the first working data object in IRISpy and played an important role in proving that Python could be used to handle IRIS data well. Since then, however, there has been a lot of work done and SJICube is now due a refactor.SJICube
should be rewritten to inherit fromndcube.NDCube
and many of the attributes should be pruned. In order to start the discussion on this topic I will outline some suggestion for the refactor.SJICube
should be a subclass ofndcube.NDCube
, thereby inheriting its slicing, plotting, WCS, extra coordinate, etc. capabilities.SJIMap
should be removed as it will no longer be needed ifSJICube
inherits fromndcube.NDCube
.SJICube
's initialization should not depend on FITS but rather take SJI data already put into Python objects like numpy arrays. A separate FITS SJI reader function should then be written to take data from the file and put it into anSJICube
. This would makeSJICube
independent of the file type and make it more flexible for users and testing..meta
dictionary. However, some methods should remain, e.g..draw_slit()
. Further discussion is required to decide which should go and which should stay.Since opening this issue, @BaptistePellorceAstro has been working to refactor
SJICube
has has/will pursue the following workflow:Completed
NDCube
object. [Done in Reading FITS function added to sji.py #67]new_sji.py
which will eventually replacesji.py
[Done in Adding SJICube class using NDCube #68]SJICube
class, subclassed fromNDCube
. [Done in Adding SJICube class using NDCube #68]SJICube
rather than anNDCube
. [Done in Adding SJICube class using NDCube #68]__init__
function of the oldSJICube
did. This will also require the identification of the bad pixels to be done/bad pixel value defined based on whether memory mapping is turned on or off. [Done in Adding SJICube class using NDCube #68 except that mask and uncertainty are disabled whenmemmap is True
.]NDCube.crop_by_coords
when data is rotated. See crop_by_coords is broken when data is rotated ndcube#100 [Done in Solving crop_by_coord problem when data are rotated ndcube#113]apply_exposure_time_correction
method toSJICube
based onIRISSpectrogram.apply_time_correction
(https://github.com/sunpy/irispy/blob/master/irispy/spectrograph.py#L383) [Done in Adding a time correction function to SJICube #71]SJICubeSequence
/IRISMapCubeSequence
class that can combine data from different files of the same OBS number. See Issue New SJICubeSequence Class #72. [Done in Creation of IRISMapCubeSequence class #83]explode_along_axis
method toNDCube
to return anNDCubeSequence
ofN-1DCubes
. Similar to the method that exists inNDCubeSequence
already. [Done in Adding a new explode_along_axis function inside NDCube ndcube#118]apply_exposure_time_correction
method toIRISMapCubeSequence
. [Done in PR Add apply exposure time correction method to IRISMapCubeSequence #88]To Do
SJICube
instance. See PR Creation of dust mask function #74NDCube
can inherit thewrite
method inastropy.nddata
. See Add Save Method to NDCube ndcube#111For extra optional credit (challenging):
SJICube
plotting routines to enable the slit to be drawn on the images/animations.The text was updated successfully, but these errors were encountered: