Skip to main content

Tools for 3D structure tensor analysis

Project description

fiberorient

codecov

fiberorient is a package for performing structure tensor analysis and calculating orientation distribution functions from 3D imaging data.

Code and methodology stem from work published as:

Trinkle, S., Foxley, S., Kasthuri, N., La Rivière, P., “Synchrotron x-ray micro-CT as a validation dataset for diffusion mri in whole mouse brain,” Magnetic Resonance in Medicine, vol. 86, no. 2, pp. 1067–1076, 2021.

For more information, see my blog post.

Installation

fiberorient can be installed with pip:

pip install fiberorient

For local installation, first clone the repo:

git clone https://github.com/scott-trinkle/fiberorient.git

cd into the directory:

cd fiberorient

and run (preferably in a virtual environment):

pip install -e .

Usage

The primary utility of fiberorient is estimating the orientation of local structures in 3D imaging data using structure tensor analysis:

from fiberorient import StructureTensor

img = np.load('img_data')  # some 3D image data
st = StructureTensor(d_sigma=1, n_sigma=3)
st.fit(img)
vectors = st.get_vectors(img)

fiberorient is also used to express groups of vectors as orientation distribution functions (ODFs) on a basis of real, even spherical harmonic functions:

from fiberorient.odf import ODF
from fiberorient.util import make_sphere

odf = ODF(degree=8)
odf.fit(vectors)

sphere = make_sphere(3000)
odf_on_sphere = odf.to_sphere(sphere)

The package also includes a number of utilities in the vis module for generating useful data visualizations, as well as metrics for comparing arrays of vectors and ODFs in the metrics module.

Further examples are available as Jupyter notebooks in examples/

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

fiberorient-0.2.tar.gz (11.4 MB view details)

Uploaded Source

File details

Details for the file fiberorient-0.2.tar.gz.

File metadata

  • Download URL: fiberorient-0.2.tar.gz
  • Upload date:
  • Size: 11.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for fiberorient-0.2.tar.gz
Algorithm Hash digest
SHA256 e3a45c8308e678d7ce2ecdff70fbcf14941794b2e1907c9dbe7f00d2c67d7409
MD5 55968eb35e9c499813c4ca236f4a74a2
BLAKE2b-256 0bfe1ec21a5bc1ee20ea794fc3d54a957a7f6cc5c8847aaabe6d8657f7741f51

See more details on using hashes here.

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