Coder Social home page Coder Social logo

Transformation graphs about navis HOT 4 CLOSED

navis-org avatar navis-org commented on June 11, 2024
Transformation graphs

from navis.

Comments (4)

schlegelp avatar schlegelp commented on June 11, 2024

If I understand you correctly then this this functionality already exists. A couple notes:

  1. navis.transforms.registry.find_bridging_path(source, target) (an instance of navis.transforms.templates.TemplateRegistry) uses a graph to collect on-the-fly all required transforms to go from a given source to a given target even if that involves more than a single transform into a TransformSequence. This also works with inverse directions.
  2. The above takes weights into account which can be used to prioritise "good" over "bad" transforms (although I'm not making use of that at the moment).
  3. As you pointed out in certain cases it might be beneficial to perform a certain operation in a specific brain space. Mirror is the first thing that comes to mind and indeed, navis.mirror_brain already has a via parameter that when set will transform the data to space X, perform the mirroring and then transform back to the original space.
  4. Currently, navis only knows two types of transforms: "bridging" to go from one space to the other, and "mirror" to offset left/right asymmetries. We could add more types but so far I have resorted to just making up new templates spaces as required. For example to move between larval T1 and T2 segments, I would register a transform between "T1" and "T2" and then use navis.xform(some_data, source='T1', target='T2').

Does that already cover what you had in mind? I'd be happy to extend the system as required (as long as it remains reasonably simple).

from navis.

schlegelp avatar schlegelp commented on June 11, 2024

Just to note that I copied that design pretty much 1:1 from Greg's nat.

from navis.

clbarnes avatar clbarnes commented on June 11, 2024

Yes, that's it! Sorry I didn't find it :s

from navis.

schlegelp avatar schlegelp commented on June 11, 2024

Good idea though! Keep'em coming :)

from navis.

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.