-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Motion trajectories & pose extracted data for animal beh research #2057
Comments
Relevant:
|
Thanks @yarikoptic! DeepLabCut uses
|
Thank you @talmo and @MMathisLab . So both SLEAP and DeepLabCut has export to ndx-pose. I didn't check though if such representation is generalized that e.g. they could potentially read it back (I see there is "load" functionality within https://github.com/DeepLabCut/DLC2NWB)? @niksirbi 's movement has open issue
I wonder if someone could digest for me a summary of how much ndx-pose covers data types across those 4 toolkits. (The situation reminded me of NIfTI in neuroimaging originally envisioned as an "exchange format" among more specialized back then DICOM, AFNI BRIK/HEAD, FreeSurfer, etc) |
I think NWB through ndx-pose covers most of it. We wanted to still add support for embedding images with compression, but that's on the backburner. I believe there might still be a field or two that we're missing for total completeness (and there are some serious performance issues with pynwb), but otherwise it's nearly there. The movement library is probably the most complete and functional, but it is focused on final tracked inference outputs (i.e., contiguous frames), while ndx-pose supports both the training data (random individual frames, doesn't make sense to organize by video/time) and inference outputs (strictly timeseries per video). We're still adding proper support for the training data types from NWB into sleap-io, but otherwise it's a good base. We support the roundtrip, but might lose some metadata useful in some cases. |
But my pref. for a data standard is |
Just chiming in to confirm some things that have already been said about movement:
The above list is likely to grow, depending on user demand and the availability of suitable contributors. So far, we've been neuro-centric, but that is changing, so we're keen to also support formats that are common in other fields. As @talmo said, Regarding But perhaps that’s fine; neuro people are likely to prefer FYI @roaldarbol's animovement is an R package with similar scope to Cross-linking some relevant discussions happening elsewhere: |
I totally agree. Indeed,
If you want to extend Motion-BIDS to support single-subject animal motion data, I think allowing NWB files with Alternatively, you could not extend BIDS support to allow another file type, and instead someone could write a tool to convert data from ndx-pose, DLC, SLEAP, etc. to the existing Motion-BIDS standard of JSON and TSV files. This could be built into |
I also want to put another plug in to not forget the training data format support. The needs of data used for training these motion capture models are pretty different from the inference outputs. If our goal is to store enough metadata to make these kinds of data more reusable and reproducible, we can't ignore the fact that they're produced by machine learning systems. These are pieces of software that depend not only on statically accessible code, but also on the data that was used to train them -- which is arguably considerably more important than the specific tool that was used. Just like you would store all the hyperparameters that a classical piece of software (or data generating hardware) used to produce a dataset, it is essential that we treat the training data that is part and parcel to the operation of a machine learning system just as seriously. |
Just zooming out a bit: I wonder how data used in animal behavioral research is fundamentally different from data when the animal is Homo Sapiens. The consideration is similar to animal MRI versus human MRI. As before with microscopy, for the micro electrophysiology BEP032 we are recognizing the similarities between micro electrodes in human and other animals. The specific difference that we identified to be accommodated with BEP032 is more between macro (already supported with iEEG) and micro (now being added). Did anyone already give it a try to represent animal motion capture data in the existing standard specification? I realize that page refers to human motion, but if that were searched-and-replaced by "human and animal", might that not work? Probably not, but I wonder what the hypothetical attempt would reveal... |
Looking at the specs, it's extremely comparable with https://github.com/AdaptiveMotorControlLab/DLC2Kinematics and our output H5 files. This package take in the outputs of DeepLabCut and outputs velocity, angles, quaterions, etc :) And yes -- humans are technically animals! :) |
Thanks everyone for sharing information/views/wisdom! It might be great to create a "table" to express what is supported by each of existing standards (in particular relating to BIDS Motion) and tools (which could read/write in what standard). Meanwhile, just to answer @rly question:
They are not since symlinks are not generally available across file systems. FWIW, within BIDS there is a number of locations within metadata (in .json typically) where BIDS URIs are supported to reference other files. |
Your idea
Popular relevant toolkits used
.pkg.slp
(HDF5). Some more pointers: Where to find description of .pkg.slp file format? talmolab/sleap#2093 (comment) . There are functionalities to convert to https://github.com/rly/ndx-pose (NWB extension)Even though that section was primarily aiming for hardware-based motion tracking of humans (AFAIK; e.g. like point-light and other systems), I think it would be great to review the Motion BIDS data type which was and see how it could/should be extended to be able to capture results of the processing from SLEAP, DeepLabCut, or any other similar tool. We might need to workout a BEP and also see if some common format could be established for tool-agnostic format.
Also attn @bids-standard/bep032
Related issues
The text was updated successfully, but these errors were encountered: