-
Notifications
You must be signed in to change notification settings - Fork 7
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
Multi-Plane and Multi-Channel Support for ScanImage #241
Conversation
…y rather than using a separate class
So for Bruker we have an extractor for the single channel - single plane, then another for single plane and then one that gets everything. But here, you are changing the single extractor that we have and adding al the functionality, right? Is this because the tiff files sometimes come with only (time, rows columns) but other times come with everything included (time, row, columns, depth, channel)? Looking at your code it seems that this still only reads one file so probably yes? |
Yes, that is how it's currently implemented. But, I am still playing around with the structure to see how it can best represent the data (still in draft). I am still planning on incorporating the concept of streams, but also toying around with the idea of a base
The .tiff files are always structured (time, rows, columns) BUT if they contain multi-plane and/or multi-channel data, they cycle round-robin in the 'time' dimension ex.
Whether or not they contain multiple planes or multiple channels is fully specified by the file metadata, so I figured I could read everything with one class. |
Thanks for your explanation, @pauladkisson. |
…sing from metadata to support old testing file
…ideo -- added channel_names
…cy scanimage to keep backwards compatibility
@CodyCBakerPhD, This is ready for some feedback. I plan on moving the MultiPlaneImagingExtractor to a different file and a different PR, but I included it to give a sense of how I see the ScanImageExtractors working with the inheritance structure. I also played around with incorporating support for the old Last but not least, I still need to set up a testing structure, but I figured it would be good to get some feedback first. |
First pass looks good! I'll dig in deeper over next few days while you add tests
Sounds good for retiring the class itself - can you add a That said, supporting multiple versions of metadata is actually something we should generally strive to support for any example files we have on the testing repo - you never know what version people are using on older (and still valuable) data or rigs that just haven't been updated. Perhaps a routing function to multiple metadata extraction methods could lessen the complexity of that step? Granted, ROIExtractors doesn't concern itself too much with metadata, more of a problem for NeuroConv side |
…eImagingExtractor
Yes and no. I am using those for some of the tests. But they don't have enough frames (only 1 or 2/plane) to really check |
Co-authored-by: Cody Baker <51133164+CodyCBakerPhD@users.noreply.github.com>
…in parse_metadata for various types of activeChannels
@CodyCBakerPhD See gin PR #18 |
Codecov Report
@@ Coverage Diff @@
## volumetric #241 +/- ##
==============================================
+ Coverage 76.98% 77.83% +0.85%
==============================================
Files 37 38 +1
Lines 2724 2964 +240
==============================================
+ Hits 2097 2307 +210
- Misses 627 657 +30
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Continued on #253. |
Fixes #240.