Firelfy-838: Extraction of data from a FITS image#1136
Conversation
- Cube z-axis extraction - Line extraction across an imagae - Points extraction by click on points - Direct extraction from fits file, no extra data read into memory - UI syncing the images, charts and tables together after extraction - New icons for all three extractions types - All images are now uncompressed - Create a spectral data model for cube extraction with wavelength data - If there is a HDU name that begin with ERR use that for spectrum error - Improved Catalog drawing layer to handle catalogs of image pt
|
Do you have sample FITS files for us to try? |
|
Sent |
|
Vandana is collecting CCB-D samples here https://confluence.ipac.caltech.edu/display/FIREFLY/Example+MEF%2C+Cube%2C+Spectral+Image+FITS+Files |
|
Wow, this is really cool.
I haven't tried anything other than the "drill" icon tool yet. More later. |
I would have to see this one, I though it gave you the error indicator. It does for me, maybe you are doing something different. UPDATE: After watching @lrebull 's movie... It is an existing behavior, so it is of scope for this PR.
Details: The markings are the point that was extracted. They are on the bottom left of the pixel. I will make them center on the pixel. You will see this again at other times like line extraction. This is pretty standard for fits viewers. If I plot the point 5,5 on a image with a zoom level of like 20 you will see them on the bottom left corner. To center them I have to make the point 5.5,5.5. That is fine for the markers. However, line extraction that shows up in the table will plot them on the bottom left, because it is plotting the table data. The jumping is the image repositioning itself. Sometime it is slow enough to see. I think it ends up in the right place. So, for now at least, I am not going to do anything about it. |
|
video demonstrating my #3 which you said you couldn't reproduce |
|
checking new version from slack. markers still seem to me to be offset but maybe it's just the big pixels ? Ooh, a help anchor has appeared! I need to spend some time figuring out what the docs framework needs to be - i may very have to reorganize substantially to accomodate the rework (not just the new toolbar stuff but the reorg may mean the docs need to be comprehensively changed). I'm not sure I'll really be able to "see" the new org until i see more of the new tool, but i can try. |
|
@lrebull thanks for the video. This is out of scope for this ticket. It has been the existing behavior for over a year, maybe two. Right now I am not inclined make a ticket to change it. If you feel very strongly that the behavior is wrong I suppose you can make a ticket. It just seems very low priority for something that is not really a bug. |
loitly
left a comment
There was a problem hiding this comment.
Great PR. Lots of features added. I do like you to reconsider using the existing
defaultChartDef(MetaConst.DEFAULT_CHART_DEF) feature instead of creating the new method. It's allow you to do what you want to do, plus more without much complexity.
| List<FitsReadUtil.ExtractionResults> results, | ||
| String wavelengthColName, String fluxColName) { | ||
|
|
||
| dataGroup.getTableMeta().addKeyword("utype", "spec:Spectrum"); |
There was a problem hiding this comment.
Use constant TableMeta.UTYPE instead.
| TableMeta meta= dataGroup.getTableMeta(); | ||
| meta.addKeyword(MetaConst.DEFAULT_CHART_X_COL, xColName); | ||
| meta.addKeyword(MetaConst.DEFAULT_CHART_Y_COL, defYCol); | ||
| dataGroup.trimToSize(); |
There was a problem hiding this comment.
I don't think trimToSize is needed. You did not touch the data.
| isTableLoaded, | ||
| stripColumnNameQuotes, | ||
| watchTableChanges | ||
| } from '../tables/TableUtil.js'; |
There was a problem hiding this comment.
You mentioned in the past that you would revisit this auto style's option.
| // test to see if meta set the default x and y coloumns | ||
| const additionalChartDef= getMetaEntry(tblModel,MetaConst.ADDITIONAL_CHART_DEF); | ||
| let xCol= getMetaEntry(tblModel,MetaConst.DEFAULT_CHART_X_COL); | ||
| let yCol= getMetaEntry(tblModel,MetaConst.DEFAULT_CHART_Y_COL); | ||
| if (xCol) { | ||
| return genericXYChart({tbl_id, xCol, yCol:yCol||xCol, additionalChartDef}); | ||
| } |
There was a problem hiding this comment.
I am not sure this is the best approach. It's very specific to scatter plot and yet genericXYChart can create a Histogram. It also relies on additionalChartDef which is also JSON based.
Have you looked into using defaultChartDef(MetaConst.DEFAULT_CHART_DEF) instead?
It can be as simple as this javacript equivalent, yet allow you to make it as complex as you like.
META_INFO: {defaultChartDef: JSON.stringify({data: [{x: 'tables::w1mpro', y: 'tables::w2mpro', mode: 'markers'}]})}
There was a problem hiding this comment.
I have thought about this this a lot. I think we need to specify the columns. Now maybe we could use one instead of two such as wmpro1;wmpro2 using DEFAULT_CHART_DEF is very complex to every use case. The ADDITIONAL_CHART_DEF was an experiment that I am not using, I meant to take out. I will do that. But we need a way to just specify the columns.
…esponded to feedback - added a download chart - made cube not reposition when extraction table is loaded - make z-axis markers center on image point - removed additionalChartsDef
1304c8b to
870b3f5
Compare
|
I know it was merged, but i'd like to give my notes here for the records i couldn't comment before as i was on vacation. Layer settings?
Pop up dialog
Note: Found very useful that the dot in the chart is connected to the plane index. |
Firelfy-838: Extraction of data from a FITS image
ticket: https://jira.ipac.caltech.edu/browse/FIREFLY-838
Testing