Comments (3)
Some of the issues with the current implementation should be solved by the attribute caching. For Paintera
, I think we'll additionally want:
- access to
attributes.json
of a group/non-dataset - move
getAttributes()
into aN5DatasetMetadata
interface which inherits fromN5Metadata
- If we do this, maybe could get rid of
isDataset
in favor of a type check for implementingN5DatasetMetadata
, unless we expect it could still be null
- If we do this, maybe could get rid of
- If we want
Paintera
to depend on the existing metadata parsers here (for COSEM, for example) they would need to not implementImagePlus
directly, but maybe have an ImagePlus compliant subclass specific ton5-ij
?
The last point brings up the question of where the metadata API will reside, or if we just duplicate it in Paintera
from n5-ij.
Working in the cache-attrs
branch:
move getAttributes() into a N5DatasetMetadata interface which inherits from N5Metadata
I agree that this is sensible and have done it. Have not yet made N5DatasetMetadata
, but I'm open to it. Let's discuss more.
Also have not yet split parsing and metadata storage objects, but think that's likely worth doing. But will put that off for now.
Main progress so far is separation of discovery and parsing as shown here. So (for n5-ij
) the code looks like this:
// find a set of paths
String[] datasetPaths = n5.deepList( base, executor );
// build a tree from the paths
N5TreeNode root = N5TreeNode.fromFlatList( base, datasetPaths, groupSeparator );
// parse metadata and groups
parseMetadataRecursive( root );
parseGroupsRecursive( root );
where in this example the set of metadata and group parsers are stored in local fields. There are also some static methods in N5DatasetDiscoverer
(which need some cleaning up, but may still be useful).
Metadata parsers can be applied on any group (not just datasets) as shown in this test using paintera-sytle metadata
from n5-ij.
This issue is no longer relevant because caching is implemented and new version released.
from n5-ij.
Related Issues (20)
- Fiji warning when pulling data from S3
- strange behavior using jq translation with hdf5 backends
- Add panel for inverse translation
- Exeception when saving as .zarr HOT 4
- Progress bar while file saving HOT 2
- Feature request: option to generate multichannel/multiscale during export HOT 1
- ImagePlus getOriginalFileInfo should be useful
- Issue trying to open hdf5 images exported by BigStitcher HOT 1
- Opening N5 is slow
- Support OME-NGFF metadata and group structure HOT 2
- Paintera label-multiset datasets cannot be opened HOT 1
- Threadpool not being "joined" in n5 save()? HOT 6
- Consistency between FIJI GUI and N5IJUtils.load()
- Warn users if an array exists, allow overwriting HOT 1
- OME-Zarr containers do not parse when nested inside other paths HOT 4
- Unit should be "micrometer" for compatbility with OME-NGFF HOT 1
- Intermittent test failure HOT 1
- Invalid path in Import > HDF5/N5/Zarr/OME-NGFF ... crop dialog HOT 2
- Issue opining up h5 file using N5 plugin - images are blank HOT 3
- Support for non-standard port numbers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from n5-ij.