nih-fmrif / codeconvergence

The Unlicense
0 stars 0 forks source link

NIML standardization/validation #2

Open leej3 opened 4 years ago

leej3 commented 4 years ago

NIML standardization/validation

This project was created to improve AFNI's interoperability with other software of the Neuroimaging community. Specifically, the NIML format is an XML variant file format used extensively by the AFNI team. For example, all 3d volumes written out by AFNI encode their metadata using this format. Community projects like nibabel, seeking to provide a convenient interface between Neuroimaging technologies, have implemented solutions to interpreting this format but can break and do not parse the data as fully as we desire.

Our goal was to define a schema for the niml format (specifying what a valid 3d dataset niml is) and new software tools to make use the schema both internally to AFNI and externally within other software packages. The schema can be used to both parse the metadata elements in an automated way and to validate datasets as future new additions of metadata to these files types are made.


Deliverables

The schema was developed and tools to make use of it internally to AFNI to ease metadata parsing were developed. Tests were added to verify the integrity of the development.

Additional internal dataset validation based on the schema will be implemented after the hackathon and additions to downstream software projects will be made to avail of this.


Continuing collaboration and integration with the Neuroimaging community

These efforts will continue to develop promoting robust interoperability between the AFNI software suite and other Neuroimaging community software. As part of nibabel's continuing support of file format interoperability, @rmarkello will make use of the standardization that we have made here.

Insights from the structure of the file format will help to further develop compatibility between AFNI's file format and the graphical user interfaces surf-ice and MRIcroGL developed by a fellow event participant @neurolabusc.

Internally, the insights and tools developed from this project will ease development by providing a clear mechanism for validating any backwards compatible extensions to our internal metadata.


Resources

https://github.com/rmarkello/afni/commit/bcb4071b7088acf94bbfa95aa3b19a7002448164