neurostuff / NiMARE

Coordinate- and image-based meta-analysis in Python
https://nimare.readthedocs.io
MIT License
178 stars 57 forks source link

Synchronize NiMARE json format with NIMADS specification #523

Open tsalo opened 3 years ago

tsalo commented 3 years ago

Summary

It looks like NIMADS (example) has evolved and stabilized significantly, so it would be good to update how NiMARE stores and loads its JSON files. This won't affect most users, since most folks use Neurosynth- or Sleuth-format files, but it's still important to be up-to-date.

Additional details

This is distinct from #218, which would overhaul how data are represented. Although at some point we're going to offload all of this to Neurostore or PyNIMADS or something.

Next steps

  1. Review the NIMADS specification.
  2. Update the following functions/methods:
    • nimare.dataset.Dataset.__init__
    • nimare.io.convert_neurosynth_to_dict
    • nimare.io.convert_sleuth_to_dict
  3. Update any example/test JSONs we package with NiMARE. Especially the 21-pain studies one.
tsalo commented 3 years ago

Will probably wait on this until #522 is handled and 0.0.9 is released, just so we have some separation between these two sets of impactful changes.

jdkent commented 2 years ago

summary of how this could work:

refactor nimare representations of studysets to be in line with the NiMADs specification. Study classes will have multiple Analysis classes, which will in turn contain conditions, weights, Images, and Points. The Images and Points classes will in turn keep track of data that is often loaded into nimare,

for example, when a CBMA kernel is applied to Points, there will be a memory representation that activation map that is associated with that group of points.