Giter VIP home page Giter VIP logo

Comments (3)

cmhulbert avatar cmhulbert commented on September 22, 2024 1

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 a N5DatasetMetadata interface which inherits from N5Metadata
    • If we do this, maybe could get rid of isDataset in favor of a type check for implementing N5DatasetMetadata, unless we expect it could still be null
  • If we want Paintera to depend on the existing metadata parsers here (for COSEM, for example) they would need to not implement ImagePlus directly, but maybe have an ImagePlus compliant subclass specific to n5-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.

bogovicj avatar bogovicj commented on September 22, 2024 1

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.

bogovicj avatar bogovicj commented on September 22, 2024

This issue is no longer relevant because caching is implemented and new version released.

from n5-ij.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.