All Projects → MIC-DKFZ → MITK-Diffusion

MIC-DKFZ / MITK-Diffusion

Licence: other
MITK Diffusion - Official part of the Medical Imaging Interaction Toolkit

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
objective c
16641 projects - #2 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to MITK-Diffusion

ANTsR
Advanced Normalization Tools in R
Stars: ✭ 101 (+114.89%)
Mutual labels:  registration, segmentation, brain
Slicergitsvnarchive
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 896 (+1806.38%)
Mutual labels:  registration, segmentation
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+1127.66%)
Mutual labels:  registration, segmentation
Awesome Gan For Medical Imaging
Awesome GAN for Medical Imaging
Stars: ✭ 1,814 (+3759.57%)
Mutual labels:  registration, segmentation
Slicer
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 263 (+459.57%)
Mutual labels:  registration, segmentation
Dipy
DIPY is the paragon 3D/4D+ imaging library in Python. Contains generic methods for spatial normalization, signal processing, machine learning, statistical analysis and visualization of medical images. Additionally, it contains specialized methods for computational anatomy including diffusion, perfusion and structural imaging.
Stars: ✭ 417 (+787.23%)
Mutual labels:  registration, segmentation
Extensionsindex
Slicer extensions index
Stars: ✭ 36 (-23.4%)
Mutual labels:  registration, segmentation
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (+55.32%)
Mutual labels:  registration, brain
DICOMautomaton
A multipurpose tool for medical physics.
Stars: ✭ 35 (-25.53%)
Mutual labels:  dicom, registration
qsiprep
Preprocessing and reconstruction of diffusion MRI
Stars: ✭ 94 (+100%)
Mutual labels:  diffusion-mri, tractography
napari-hub
Discover, install, and share napari plugins
Stars: ✭ 44 (-6.38%)
Mutual labels:  registration, denoising
BrainPrep
Preprocessing pipeline on Brain MR Images through FSL and ANTs, including registration, skull-stripping, bias field correction, enhancement and segmentation.
Stars: ✭ 107 (+127.66%)
Mutual labels:  registration, brain
bg-atlasapi
A lightweight python module to interact with atlases for systems neuroscience
Stars: ✭ 54 (+14.89%)
Mutual labels:  registration, brain
Simpleitk
SimpleITK: a layer built on top of the Insight Toolkit (ITK), intended to simplify and facilitate ITK's use in rapid prototyping, education and interpreted languages.
Stars: ✭ 458 (+874.47%)
Mutual labels:  registration, segmentation
connectomemapper3
Connectome Mapper 3 is a BIDS App that implements full anatomical, diffusion, resting/state functional MRI, and recently EEG processing pipelines, from raw T1 / DWI / BOLD , and preprocessed EEG data to multi-resolution brain parcellation with corresponding connection matrices.
Stars: ✭ 45 (-4.26%)
Mutual labels:  brain, dmri
Itksoftwareguide
Sources for the ITKSoftwareGuide.
Stars: ✭ 19 (-59.57%)
Mutual labels:  registration, segmentation
Brain-Segmentation
Brain Segmentation on MRBrains18
Stars: ✭ 37 (-21.28%)
Mutual labels:  segmentation, brain
dictlearn
Dictionary Learning for image processing
Stars: ✭ 23 (-51.06%)
Mutual labels:  segmentation, denoising
3d Pointcloud
Papers and Datasets about Point Cloud.
Stars: ✭ 179 (+280.85%)
Mutual labels:  registration, segmentation
PyNets
A Reproducible Workflow for Structural and Functional Connectome Ensemble Learning
Stars: ✭ 114 (+142.55%)
Mutual labels:  tractography, dmri

MITK Diffusion

Copyright © German Cancer Research Center (DKFZ), Division of Medical Image Computing (MIC). Please make sure that your usage of this code is in compliance with the code license.

DOI

The MITK Diffusion application [1,2] offers a selection of image analysis algorithms for the processing of diffusion-weighted MR images. It encompasses the research of the Division of Medical Image Computing at the German Cancer Research Center (DKFZ).

Downloads

Please have a look at the requirements for running MITK Diffusion with all its features successfully!

The nightly builds come as executable setup wizards that install MITK Diffusion on your system or alternatively as simple .tar.gz or .zip archive where you can execute MITK Diffusion and the command line apps "manually". Should there be no new installer for a while, please contact us and report the issue.

Without Python Support (standard):

With Python Support (experimental):

If you encounter any bugs, please report them in our bugtracking system or use the MITK-users mailing list. We are grateful for any feedback!

Requirements

  • Install Python 3.X: sudo apt install python3 python3-pip (Ubuntu) or from https://www.python.org/downloads/windows/ (Windows)
  • Download our Python requirements file: PythonRequirements.txt
  • Install the Python requirements: pip3 install -r PythonRequirements.txt
  • If your are behind a proxy use pip3 --proxy <proxy> install -r PythonRequirements.txt

For Windows users: MITK Diffusion requires the Microsoft Visual C++ 2017 Redistributable to be installed on the system. The MITK Diffusion installer automatically installs this redistributable for you if not already present on the system, but it needs administrative privileges to do so. So to install the redistributable, run the MITK Diffusion installer as administrator.

Features

Support for most established image formats

  • Images: DICOM, NIFTI, NRRD (peak and SH images compatible with MRtrix)
  • Tractograms: fib/vtk, tck and trk.

Image preprocessing

  • Registration
  • Head-motion correction
  • Denoising
  • Skull stripping and brain mask segmentation (Linux only)
  • Resampling, cropping, flipping and merging
  • Header modifications
  • Single volume extraction

Diffusion gradient/b-value processing

  • b-value rounding
  • Gradient direction flipping
  • Gradient direction subsampling
  • Averaging of gradient directions/volumes
  • Gradient direction and b-value visualization

ODF reconstruction and signal modelling

  • Tensor and Q-ball reconstruction
  • Other reconstructions via Dipy wrapping (CSD, 3D SHORE, SFM) (Linux only)
  • ODF peak calculation
  • MRtrix or camino results can be imported

Quantification of diffusion-weighted/tensor/ODF images

  • Intravoxel Incoherent Motion (IVIM) and diffusion kurtosis analysis
  • Calculation of many other derived indices such as ADC, MD, GFA, FA, RA, AD, RD
  • Image statistics

Segmentation

  • Automatic white matter bundle segmentation (TractSeg) [3] (Linux only)
  • Automatic brain mask segmentation (Linux only)
  • Manual image segmentation and operations on segmentations
  • SOON: automatic brain tissue segmentation

Fiber tractography

  • Global tractography [4]
  • Streamline tractography
    • Interactive (similar to [5]) or seed image based
    • Deterministic or probabilistic
    • Peak, ODF, tensor and raw dMRI based. The latter one in conjunction with machine learning based tractography [6]
    • Various possibilities for anatomical constraints.
    • Tractography priors in form of additional peak images, e.g. obtained using TractSeg

Fiber processing

  • Tract dissection (parcellation or ROI based)
  • Tract filtering by
    • length
    • curvature
    • direction
    • weight
    • density
  • Tract resampling and compression
  • Tract transformation
    • Mirroring
    • Rotating and translating
    • Registration (apply transform of previously performed image registration)
  • Tract coloring
    • Curvature
    • Length
    • Weight
    • Scalar map (e.g. FA)
  • Other operations
    • Join
    • Subtract
    • Copy
  • Fiber clustering [7]
  • Fiber fitting and weighting similar to SIFT2 and LiFE [8,9]
  • Principal direction extraction (fibers --> peaks)
  • Tract derived images:
    • Tract density images
    • Tract endpoint images
    • Tract envelopes

Fiberfox dMRI simulations [10]

  • Multi-compartment signal modeling
  • Simulation of the k-space acquisition including
    • Compartment specific relaxation effects
    • Artifacts such as noise, spikes, ghosts, aliasing, distortions, signal drift, head motion, eddy currents and Gibbs ringing
    • Definition of important acquisition parameters such as bvalues and gradient directions, TE, TR, dwell time, partial Fourier, ...
  • Manual definition of fiber configurations, e.g. for evaluation purposes
  • Automatic generation of random fiber configurations

Other features

  • Brain network statistics and visualization (connectomics)
  • Interactive Python console (Linux only)
  • Integrated screenshot maker
  • Command line tools for most functionalities

Related Links

Image Gallery

Screenshot of the MITK Diffusion Welcome Screen


Scalar map visualization


Tensor Visualization


ODF visualization


Peak visualization (uniform white coloring)


Interactive tractography in MITK Diffusion. The tractogram updates automatically on parameter change and movement of the spherical seed region.


Tract dissection using manually drawn ROIs.


Automatic streamline weighting (similar to SIFT2 or LiFE)


Illustration of the dMRI phantom simulation process using Fiberfox.



Illustration of simulated dMRI images with various artifacts (a bit excessive for illustration purposes): eddy current distortions (1), motion and spike (2), intensity drift (3), motion, eddy and noise (4), ringing (5), B0 inhomogeneity distortions (6), from left to right.


Automatically generated random fiber configuration for Fiberfox simulations.


Building MITK Diffusion from source

  • Install Qt on your system (5.12).
  • Clone MITK from github using Git version control.
  • Clone MITK Diffusion from github.
  • Configure the MITK Superbuild using CMake (>= 3.18).
    • Choose the MITK source code directory and an empty binary directory.
    • Click "Configure".
    • Set the option MITK_EXTENSION_DIRS to "/path/to/my/mitk-diffusion-repository".
    • Click "Configure".
    • Set the option MITK_BUILD_CONFIGURATION to "DiffusionRelease".
    • Click "Generate".
    • macOS specifics (unclear if this still applies):
      • Use python 3.6, since python 3.7 leads to build errors on macOS.
      • The cmake variables for python 3 might need to be set manually. It is probably enough to specify PYTHON_EXECUTABLE.
      • Openmp needs to be installed manually since it is not included in apple clang anymore: "brew install libomp" should do the trick. It might be necessary to set the corresponding make variables later in the MITK build manually:
        • OpenMP_CXX_FLAGS: -Xpreprocessor -fopenmp -I"/path/to/python3/includes/"
        • OpenMP_C_FLAGS: -Xpreprocessor -fopenmp -I"/path/to/python3/includes/"
        • OpenMPCXX_LIB_NAMES: libomp
        • OpenMPC_LIB_NAMES: libomp
        • OpenMP_libomp_LIBRARY: /path/to/libomp.dylib
  • Start the Superbuild:
    • Linux/maxOS: Open a console window, navigate to the build folder and type "make -j8" (optionally supply the number threads to be used for a parallel build with -j).
    • Windows (requires visual studio): Open the MITK Superbuild solution file and build all projects.
    • The Superbuild may take some time.
    • After the Superbuild has finished, change the cmake binary directory from "/path/to/my/build" to "/path/to/my/build/MITK-build" and configure+generate again.
    • Build again in "/path/to/my/build/MITK-build" using make (linux/mac) or the VS solution file.
    • The build may again take some time and should yield the binaries in "/path/to/my/build/MITK-build/bin"

More detailed build instructions can be found in the documentation.

Continuous integration: https://cdash.mitk.org/index.php?project=MITK-Diffusion

References

All publications of the Division of Medical Image Computing can be found [https://www.dkfz.de/en/mic/publications/ here].

[1] Fritzsche, Klaus H., Peter F. Neher, Ignaz Reicht, Thomas van Bruggen, Caspar Goch, Marco Reisert, Marco Nolden, et al. “MITK Diffusion Imaging.” Methods of Information in Medicine 51, no. 5 (2012): 441.

[2] Fritzsche, K., and H.-P. Meinzer. “MITK-DI A New Diffusion Imaging Component for MITK.” In Bildverarbeitung Für Die Medizin, n.d.

[3] Wasserthal, Jakob, Peter Neher, and Klaus H. Maier-Hein. “TractSeg - Fast and Accurate White Matter Tract Segmentation.” NeuroImage 183 (August 4, 2018): 239–53.

[4] Neher, P. F., B. Stieltjes, M. Reisert, I. Reicht, H.P. Meinzer, and K. Maier-Hein. “MITK Global Tractography.” In SPIE Medical Imaging: Image Processing, 2012.

[5] Chamberland, M., K. Whittingstall, D. Fortin, D. Mathieu, und M. Descoteaux. „Real-time multi-peak tractography for instantaneous connectivity display“. Front Neuroinform 8 (2014): 59. doi:10.3389/fninf.2014.00059.

[6] Neher, Peter F., Marc-Alexandre Côté, Jean-Christophe Houde, Maxime Descoteaux, and Klaus H. Maier-Hein. “Fiber Tractography Using Machine Learning.” NeuroImage. Accessed July 17, 2017. doi:10.1016/j.neuroimage.2017.07.028.

[7] Garyfallidis, Eleftherios, Matthew Brett, Marta Morgado Correia, Guy B. Williams, and Ian Nimmo-Smith. “QuickBundles, a Method for Tractography Simplification.” Frontiers in Neuroscience 6 (2012).

[8] Smith, Robert E., Jacques-Donald Tournier, Fernando Calamante, and Alan Connelly. “SIFT2: Enabling Dense Quantitative Assessment of Brain White Matter Connectivity Using Streamlines Tractography.” NeuroImage 119, no. Supplement C (October 1, 2015): 338–51.

[9] Pestilli, Franco, Jason D. Yeatman, Ariel Rokem, Kendrick N. Kay, and Brian A. Wandell. “Evaluation and Statistical Inference for Human Connectomes.” Nature Methods 11, no. 10 (October 2014): 1058–63.

[10] Neher, Peter F., Frederik B. Laun, Bram Stieltjes, and Klaus H. Maier-Hein. “Fiberfox: Facilitating the Creation of Realistic White Matter Software Phantoms.” Magnetic Resonance in Medicine 72, no. 5 (November 2014): 1460–70. doi:10.1002/mrm.25045.

Contact

If you have questions about the application or if you would like to give us feedback, don't hesitate to contact us using our mailing list or, for questions that are of no interest for the community, directly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].