Allow volume loaders to parse sources directly #298
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Feature
Allows a third way to load volumes: by directly providing the source data.
Why
I need to load volumes files from a secured server that requires authentification (so custom headers on HTTP requests). The BrainBrowser.loader:loadFromURL does not allow me to modify request headers easily.
So I'd rather handle the downloading on volumes files myself, and rely on the volumes loaders for their core feature: parsing and manipulating the data.
Implementation
The implementation is quite simple, generic and non-intrusive:
source
(ornii_source
for nifti files andheader_source
andraw_data_source
for minc files, to follow their respective naming pattern).Questions
I'm not sure whether or not I should commit the following built files:
Final thoughts
I would have used
parseNifti1Header
andcreateNifti1Volume
but they're scoped and inaccessible.