Git Product home page Git Product logo

Comments (2)

ehennestad avatar ehennestad commented on June 16, 2024

Hi,

This is a difference in the API and I don't know the rationale behind it, but the experiment description is part of the general root group of the NWB file. In MATLAB, the hierarchical organisation of groups in the NWB file is presented as a flattened list of properties in the NwbFile object, with the group- and subgroup-names joined with an underscore, so general_experiment_description just indicates the the experiment_description is part of the general group. This should have no practical difference when the NWB file is created/written to. Perhaps @lawrence-mbf could elaborate on why the matnwb package has a different implementation.

from pynwb.

lawrence-mbf avatar lawrence-mbf commented on June 16, 2024

The flattening of the MatNWB structure was so that users did not also need to handle generic HDF5 "group" object types which would make configuration even more complicated. Instead, the necessary groups are identified and generated on export. The reason for the property prefixes is partially for the user but also for other file generation tasks that require searching through the schema's group hierarchy without actually having knowledge of the full schema. You can see a simplified version of this in the io.resolvePath function which is also used by NwbFile's resolve method.

from pynwb.

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.