Giter VIP home page Giter VIP logo

mitk-diffusion's Introduction

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 latest 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". You can find the newest installers here.

If you encounter any bugs, please report them here on github or use the MITK-users mailing list. We are grateful for any feedback!

Requirements

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
  • 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
  • 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

  • Manual image segmentation and operations on segmentations

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

  • 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

Please not that we moved away from a separate MITK Diffusion application and are instead building configurations of the MITK Workbench. In a (near)-future version of MITK, customizations of the Workbench will be possible to change the display and executable name etc. A workaround is to use the MITK branch https://github.com/MITK/MITK/tree/feature/T30337-WorkbenchCustomizations2, which already enables some of those customizations but the final mechanism fot that will be different.

  • Install Qt on your system (currently 6.6.1).

  • Clone MITK from github using Git version control.

  • Clone MITK Diffusion from github.

  • Configure the MITK Superbuild using CMake.

    • 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" or any other desired configuration. There are various configurations to build e.g. only IVIM modules or only tractography. The DiffusionRelease/DiffusionDebug configurations contain all modules.
    • Click "Generate".
  • Start the Superbuild:

    • Linux: 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.

mitk-diffusion's People

Contributors

kislinsk avatar peterneher avatar robinpere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mitk-diffusion's Issues

Screenshot maker

Hello, when I use MITK software, I want to save an image through Screenshot Maker, but there is a watermark on the image, how can I remove this watermark, thank you.

I have some problems using the python version of MITK

When I start MITK, I get the following error:
core.mod.python.svc: Initializing python service
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
I am sure my python contains the 'encodings' module and I have installed all packages in PythonRequirements.txt, python version 3.11.4. I have no problem using the non-Python version, is there any way to solve it? Or will the python version of dMRI simulation be faster

Python Plugin

Hello
In the user manual it says there is a python plugin but I can't find it anywhere. The manual also uses an image of an old version, in the new version there is no button with the python logo.

version: MITK Workbench v2022.04

Is there also a reason version 2016 has more segmentation methods than 2022?

thanks

2020 & 2022 versions for Ubuntu but only 2020 version for Windows

The links to download MITK Diffusion point to files from this folder https://www.mitk.org/download/diffusion/nightly/

Looking at the links, I noticed that Ubuntu has two versions of the MITK plugin : 2020 and 2022. However, only the 2020 version is available for Windows.

Considering that the latest release v1.2.0 is dated 2020, I suppose the 2022 version is either a "nightly" or a patch. Am I correct? I am actually asking if the 2022 version contains meaningful changes compared to the 2020 version.

Unable to install MITK-Diffusion

Hi, I am trying to use MITKFiberDirectionExtraction to transform my own tck file into TOM, which is used for TractSeg model. However, I was stuck on how to install this software for Windows 10 and run the function. Could you please teach me how to install this, or can I show my own data for help? Thanks for your help!

[Fiberfox] Save & Load Parameters Missing For Fiber Generator

The following Save Parameters and Load Parameters buttons do not save and load parameters for the Fiber Generator tab; they save and load parameters for the simulation tab (Fiberfox).

image

Also, the Fiber Generator parameters aren't saved in the Fiberfox parameter file (.ffp) file either.

I'm looking for a way to save and load parameters for the Fiber Generator in order to automate that process. Naturally, being able to call MitkFiberfox.(bat | sh) for only generating fibre bundles is expected. The goal is to feed the resulting fibre bundles to other algorithms that need testing.

EDIT

By looking at the source code, I found this .cpp file : https://phabricator.mitk.org/source/mitk-diffusion/browse/master/Modules/DiffusionCmdApps/Fiberfox/Fiberfox.cpp. So then I thought Maybe there is a command-line tool for generating fibre bundles that I haven't found yet?. Well, I did find the MitkRandomFiberPhantom.(bat | sh) command-line tool. Good!

image

However, by reading the command-line options for the tool, I noticed that the parameters are low level. What I mean is that, in order to generate certain fibre bundle configurations (or "shapes" as called in the research article Fiberfox: Facilitating the Creation of Realistic White Matter Software Phantoms), one needs to configure many parameters to describe the shape they are trying to generate. Supporting high level parameters separated into categories for each fibre bundle shape would increase the simplicity of use of the toolset.

Is there documentation or examples (examples are really useful) for the command-line tool MitkRandomFiberPhantom.(bat | sh)?

EDIT 2

After speaking to my peers and professors, and reflecting on the situation, we realized that we should try other simpler tools than MITK Diffusion / Fiberfox for generating white matter fibre bundles.

Thank you for your help, it was greatly appreciated @peterneher 🙂

Misalignment of nifti image and a fiber tract saved as trk

Hi,

i have the following files:

  1. CST L on t1.nii.gz. Corticospinal fiber tract overlaid on a t1 image and saved as nifti.
  2. CST L.zip. Corticospinal fiber tract saved as trk (inside the zip file).

I can display them correctly on trackvis and freeview (from freesurfer). But when i try to view them in Mitk Diffusion they are not correctly overlaid.

As far as i can tell the trk file is correctly populated and since i can view them on the other 2 applications i think that Mitk Diffusion has a bug.

Any thoughts?

Thanks

Documentation missing on docs.mitk.org

The MITK Diffusion plugin's documentation is missing on docs.mitk.org.

A linkless org_mitk_gui_qt_diffusionimaging list item is present in the List of Plugins for End User Use on the MITK Plugin Manuals web page for diffusion imaging. I tried to enter the following URL manually in my web browser, but in vain : https://docs.mitk.org/diffusion/nightly/org_mitk_gui_qt_diffusionimaging.html.

Also, there is no entry for diffusion imaging on the API Reference for MITK Plugins page. Is this normal?

However, by searching in the search box on the docs.mitk.org/diffusion website, I was able to find the page private plugins Directory Reference in which the API Reference for org.mitk.gui.qt.diffusionimaging is located. Is it normal that this is private and difficult to find?

Can not load .trk file

Hi Peter

I guess I do something terribly wrong when installing MITK

I downloaded MITK-v2021.02-linux-x86_64.tar.gz.
Unpacked it, added the main and bin subdirectory to my $PATH in my .bashrc and successfully started the Workbench
I can load nifty files, but when trying to a load a .trk tract file generated with TractSeg (trk_legacy format) I get the error
"no reader available..."

Any, idea what I might have missed?

Many thanks in advance
William

installation question

Hello,

I am interested in using the MITK software to convert trk files into peaks images. The peaks images will be used as training data with the TractSeg model. This software was recommended for the conversion, but I unfortunately do not have access to a windows / linux OS at this time for installation. Are there any plans for a mac compatible release? Thanks for your time!

Run MITK from the command line to batch process DWI images

Hello
I want to add artifacts such as ”Spikes“, "N/2 Ghosts", "motion Artifacts", etc. to the original dwi (nii.gz format) images respectively.

Because there are hundreds of DWI data in total, it is too laborious to load and set parameters one by one in MITK's GUI interface and save them manually.

How to set various artifacts and corresponding parameters through the command line, process raw DWI data in batches, and save them in nii.gz format in different folders named after the artifact names?

Hope to get your help, thank you.

Simulated diffusion directions perpendicular to input streamlines

Hi everyone,

i am currently trying to simulate diffusion data for an experiment using Fiberfox. After inputting a tractogram and setting the simulation parameters, i am able to obtain my diffusion data. However, when running my analysis, I realised that some of the FODs are perpendicular to the input fibers? This effect is also present when looking at the raw diffusion glyphs. I am unsure what the problem is, as I've tested different simulation settings and tractograms. Bvals and bvecs are set to the HCP protocol.

Hopefully it is just a problem with my settings, but would be grateful for insights whats going wrong here !

Cheers
Philip

image
image
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.