10 releases (1 stable)
1.0.0 | Nov 15, 2023 |
---|---|
1.0.0-rc.5 | Nov 7, 2023 |
0.1.1 | Nov 7, 2023 |
0.1.0-rc.4 | Nov 7, 2023 |
#123 in Biology
23KB
392 lines
mni2mz3
Converts a file from MNI polygonal surface mesh format (.obj
*) or
vertex-wise data (e.g. curvature, cortical thickness, *.txt
)
to Surf-Ice MZ3 (.mz3
).
Useful for visualizing surfaces using Surf-Ice or NiiVue.
[!WARNING] *Not to be confused with Wavefront .obj, which is a different spec but with the same file extension.
Installation
There are many ways to install and use mni2mz3
. Linux, Mac, and Windows are supported.
Using ChRIS
The easiest way to run mni2mz3
is on ChRIS, no installation needed.
Simply upload your data to a feed in https://app.chrisproject.org, then run pl-mni2common
.
Using Apptainer
pl-mni2common
is a ChRIS plugin wrapper for mni2mz3
, which means you can
use its container image to run mni2mz3
.
apptainer run docker://ghcr.io/fnndsc/pl-mni2common:latest mni2mz3 input.obj output.mz3
Call the wrapper script mni2mz3
instead to do bulk processing on an input directory.
apptainer run docker://ghcr.io/fnndsc/pl-mni2common:latest mni2mz3 inputdir/ outputdir/
Using cargo-binstall
cargo binstall mni2mz3
Using pip
pip install mni2mz3
Manual Download
Select and download the right binary for your architecture and OS from GitHub Releases: https://github.com/FNNDSC/mni2mz3/releases/latest
Compile From Source
Install Rust, then run
cargo install mni2mz3
Usage
# convert mesh
mni2mz3 surface_81920.obj surface.mz3
# convert data
mni2mz3 thickness.txt thickness.mz3
To do bulk conversions, use the ChRIS plugin wrapper.
Details
- Output file will be gzip compressed.
- For surfaces, only triangle meshes are supported.
- For data, only 32-bit single-precision "float" is supported.
Testing
It is recommended to install cargo-nextest.
cargo nextest run
Dependencies
~0.6–1.1MB
~24K SLoC