nibabel icon indicating copy to clipboard operation
nibabel copied to clipboard

New metadata format to go with neuroimaging data files

Open samuelstjean opened this issue 3 years ago • 0 comments

A re-copy of my mailing message idea about having a multitool file format (such as say json, so that other people can use it and edit it easily) to accommodate side data, as encountered commonly in say fmri, dmri and quantitative mapping/relaxometry. It's probably useless for pure image processing stuff though that is using weighted images only.


Even before talking multimodality, it would be useful to have something multi MRI weighting. As of now you have the bval/bvec for diffusion you need to carry around, if you are a bit fancy you have the gradient timings, gradient strength and other things, and if you use non spin-echo stuff you also need to carry around another layer of information. Other stuff like fmri seems to also carry around relevant info, and you can add to the game relaxometry experiments (I'd guess inversion time, flip angle and other things for T1 mapping for example), and if you play with more advanced diffusion sequences you have new data structures you need to know.

That's a lot of side files that can go around beyond your everyday nifti. And pretty much every tool uses his own internal format to keep track of all that because of this (on top of my mind there is .mif for mrtrix, exploredti stash everything in a matlab file after conversion, there is also an .xps format also for advanced diffusion which is using matlab, probably others). I personally started stashing everything in a json file for convenience, but having a flexible, throw everything in it file would definitely be useful, and could potentially be used by other software, making mixing tools far easier if everything was read from a central file, just as now it is easy to go around with a nifti, bval and bvec files because they are widely accepted and transformed to an internal format by any tool that needs it.

So I'd vote for something similar, say based on json because it is somewhat readable and standard, which would record relevant experimental info (similar to what dcm2niix does I'd guess, but with only the necessary info). It would also make it easy to add new stuff in it over time. I have a rough and barebone xps to json converter I made somewhere if it can serve and an example of what I mean.

samuelstjean avatar Aug 04 '20 11:08 samuelstjean