childmindresearch / niwrap

https://childmindresearch.github.io/niwrap/
0 stars 8 forks source link

NiWrap

NiWrap is an extensive collection of neuroimaging command line tool metadata used for generating modern, ideomatic Python wrappers.

Metadata is partly hand-written and partly extracted from the source code of the tools themselves. NiWrap is based on the Boutiques Descriptor Schema and powered by the Styx Boutiques-to-Python compiler.

Supported frameworks

Framework Approach Status API Coverage
AFNI Manual In progress 22/621 (3.5%)
ANTs Manual In progress 9/120 (7.5%)
Connectome Workbench Source extraction Testing 202/202 (100% πŸŽ‰)
Convert3D Manual In progress 2/4 (50.0%)
FSL Manual In progress 221/376 (58.8%)
FreeSurfer Manual In progress 2/104 (1.9%)
MRTrix3 Source extraction Testing 112/125 (89.6%)
NiftyReg Manual In progress 7/7 (100% πŸŽ‰)

[!NOTE] API Coverage is defined as the percentage of individual binaries for which a descriptor is available in NiWrap. This is not a measure of the completeness of the descriptors themselves nor is reaching 100% strictly necessary as e.g. FSL and AFNI contain many small utilities for which Python offers much easier standard library functions. One way to increase coverage is to mark known-irrelevant binaries as "status": "ignore" in frameworks/.

Repository structure

Directory Description
/descriptors Boutiques descriptors
/schemas JSON schema for Boutiques descriptors
/python Generated niwrap Python package
/extraction Source metadata extraction
/frameworks Framework-specific metadata

Python package

Install the niwrap Python package to use the generated Python wrappers.

See the niwrap Python package README for installation instructions and usage information.

Contributing

See the CONTRIBUTING.md file for information on how to contribute to NiWrap.