Skip to main content

Brain imaging surface mesh file format converter

Project description

mni2mz3

crates.io MIT License test codecov

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mni2mz3-1.0.0.tar.gz (16.4 kB view hashes)

Uploaded Source

Built Distributions

mni2mz3-1.0.0-py3-none-win_amd64.whl (155.8 kB view hashes)

Uploaded Python 3 Windows x86-64

mni2mz3-1.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.6 kB view hashes)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

mni2mz3-1.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (233.7 kB view hashes)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

mni2mz3-1.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (232.5 kB view hashes)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

mni2mz3-1.0.0-py3-none-macosx_11_0_arm64.whl (210.5 kB view hashes)

Uploaded Python 3 macOS 11.0+ ARM64

mni2mz3-1.0.0-py3-none-macosx_10_7_x86_64.whl (222.5 kB view hashes)

Uploaded Python 3 macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page