diff --git a/.arcconfig b/.arcconfig new file mode 100644 index 0000000..1b723c4 --- /dev/null +++ b/.arcconfig @@ -0,0 +1,5 @@ +{ + "base": "git:merge-base(origin/master)", + "history.immutable": true, + "phabricator.uri": "https://phabricator.mitk.org/" +} diff --git a/Modules/DiffusionImaging/Connectomics/CMakeLists.txt b/Modules/DiffusionImaging/Connectomics/CMakeLists.txt index 3099bee..e310934 100644 --- a/Modules/DiffusionImaging/Connectomics/CMakeLists.txt +++ b/Modules/DiffusionImaging/Connectomics/CMakeLists.txt @@ -1,8 +1,8 @@ MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion INCLUDE_DIRS Algorithms Algorithms/BrainParcellation IODataStructures Rendering ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MitkDiffusionCore MitkFiberTracking PACKAGE_DEPENDS VTK|vtkInfovisLayout ) add_subdirectory(Testing) diff --git a/Modules/DiffusionImaging/DiffusionCmdApps/CMakeLists.txt b/Modules/DiffusionImaging/DiffusionCmdApps/CMakeLists.txt index ffbde72..0c121b8 100644 --- a/Modules/DiffusionImaging/DiffusionCmdApps/CMakeLists.txt +++ b/Modules/DiffusionImaging/DiffusionCmdApps/CMakeLists.txt @@ -1,20 +1,20 @@ MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion # INCLUDE_DIRS Helpers DEPENDS MitkDiffusionCore MitkDiffusionIO MitkFiberTracking MitkQuantification MitkConnectomics PACKAGE_DEPENDS PUBLIC ITK ) if(MODULE_IS_ENABLED) add_subdirectory(Connectomics) add_subdirectory(Fiberfox) add_subdirectory(FiberProcessing) add_subdirectory(Tractography) add_subdirectory(TractographyEvaluation) add_subdirectory(Misc) add_subdirectory(Quantification) if(MITK_USE_Python) add_subdirectory(Python) endif() endif() diff --git a/Modules/DiffusionImaging/DiffusionCore/CMakeLists.txt b/Modules/DiffusionImaging/DiffusionCore/CMakeLists.txt index a3151db..e391570 100644 --- a/Modules/DiffusionImaging/DiffusionCore/CMakeLists.txt +++ b/Modules/DiffusionImaging/DiffusionCore/CMakeLists.txt @@ -1,24 +1,24 @@ # With apple gcc 4.2.1 the following waring leads to an build error if boost is enabled if(APPLE) mitkFunctionCheckCAndCXXCompilerFlags("-Wno-error=empty-body" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion INCLUDE_DIRS include/ include/Algorithms include/Algorithms/Reconstruction include/Algorithms/Registration include/Algorithms/Reconstruction/MultishellProcessing include/Algorithms/Reconstruction/FittingFunctions include/DicomImport include/IODataStructures/DiffusionWeightedImages include/IODataStructures/Properties include/IODataStructures/OdfImages include/IODataStructures/TensorImages include/IODataStructures include/Rendering ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MitkMapperExt MitkPlanarFigure MitkImageExtraction MitkSceneSerializationBase MitkDICOMReader MitkMatchPointRegistration PACKAGE_DEPENDS PUBLIC ITK|ITKTestKernel+ITKRegistrationCommon+ITKMetricsv4+ITKRegistrationMethodsv4+ITKDistanceMap+ITKLabelVoting+ITKVTK PUBLIC VTK|vtkFiltersProgrammable OpenMP|OpenMP_CXX ) if(MSVC) mitkFunctionCheckCAndCXXCompilerFlags("/wd4005" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() add_subdirectory(Testing) add_subdirectory(autoload/IO) if(MITK_USE_Python) MITK_INSTALL(FILES PythonRequirements.txt) endif() diff --git a/Modules/DiffusionImaging/DiffusionCore/autoload/IO/CMakeLists.txt b/Modules/DiffusionImaging/DiffusionCore/autoload/IO/CMakeLists.txt index 81ada99..b400054 100644 --- a/Modules/DiffusionImaging/DiffusionCore/autoload/IO/CMakeLists.txt +++ b/Modules/DiffusionImaging/DiffusionCore/autoload/IO/CMakeLists.txt @@ -1,9 +1,9 @@ MITK_CREATE_MODULE( DiffusionCoreIO INCLUDE_DIRS PRIVATE src/IO DEPENDS PUBLIC MitkDiffusionCore MitkSceneSerialization PACKAGE_DEPENDS PRIVATE tinyxml AUTOLOAD_WITH MitkCore - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion ) \ No newline at end of file diff --git a/Modules/DiffusionImaging/DiffusionIO/CMakeLists.txt b/Modules/DiffusionImaging/DiffusionIO/CMakeLists.txt index fbe0235..5723bab 100644 --- a/Modules/DiffusionImaging/DiffusionIO/CMakeLists.txt +++ b/Modules/DiffusionImaging/DiffusionIO/CMakeLists.txt @@ -1,8 +1,8 @@ MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MitkConnectomics MitkQuantification MitkFiberTracking AUTOLOAD_WITH MitkCore PACKAGE_DEPENDS PUBLIC DCMTK ) diff --git a/Modules/DiffusionImaging/FiberTracking/CMakeLists.txt b/Modules/DiffusionImaging/FiberTracking/CMakeLists.txt index 6907c24..53893cf 100644 --- a/Modules/DiffusionImaging/FiberTracking/CMakeLists.txt +++ b/Modules/DiffusionImaging/FiberTracking/CMakeLists.txt @@ -1,47 +1,47 @@ set(_module_deps MitkDiffusionCore MitkGraphAlgorithms MitkCLVigraRandomForest) mitk_check_module_dependencies( MODULES ${_module_deps} MISSING_DEPENDENCIES_VAR _missing_deps ) if(NOT _missing_deps) set(lut_url http://mitk.org/download/data/FibertrackingLUT.tar.gz) set(lut_tarball ${CMAKE_CURRENT_BINARY_DIR}/FibertrackingLUT.tar.gz) file(DOWNLOAD ${lut_url} ${lut_tarball} EXPECTED_MD5 38ecb6d4a826c9ebb0f4965eb9aeee44 TIMEOUT 60 STATUS status SHOW_PROGRESS ) list(GET status 0 status_code) list(GET status 1 status_msg) if(NOT status_code EQUAL 0) message(SEND_ERROR "${status_msg} (error code ${status_code})") endif() file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Resources) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf ../FibertrackingLUT.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Resources RESULT_VARIABLE result ERROR_VARIABLE err_msg) if(result) message(SEND_ERROR "Unpacking FibertrackingLUT.tar.gz failed: ${err_msg}") endif() endif() MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion INCLUDE_DIRS Fiberfox Fiberfox/SignalModels Fiberfox/Sequences Algorithms Algorithms/TrackingHandlers Algorithms/ClusteringMetrics Algorithms/GibbsTracking Algorithms/StochasticTracking IODataStructures IODataStructures/FiberBundle IODataStructures/PlanarFigureComposite Rendering ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${_module_deps} PACKAGE_DEPENDS PUBLIC ITK|ITKFFT ITK|ITKDiffusionTensorImage Vigra HDF5 OpenMP|OpenMP_CXX ) if(MODULE_IS_ENABLED) add_subdirectory(Testing) endif() diff --git a/Modules/DiffusionImaging/Quantification/CMakeLists.txt b/Modules/DiffusionImaging/Quantification/CMakeLists.txt index d3b6e84..67367c3 100644 --- a/Modules/DiffusionImaging/Quantification/CMakeLists.txt +++ b/Modules/DiffusionImaging/Quantification/CMakeLists.txt @@ -1,14 +1,14 @@ # With apple gcc 4.2.1 the following waring leads to an build error if boost is enabled if(APPLE) mitkFunctionCheckCAndCXXCompilerFlags("-Wno-error=empty-body" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() #DiffusionImaging/Quantification MITK_CREATE_MODULE( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion INCLUDE_DIRS Algorithms IODataStructures IODataStructures/TbssImages Rendering ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MitkDiffusionCore MitkFiberTracking MitkGraphAlgorithms PACKAGE_DEPENDS ITK|ITKThresholding ) add_subdirectory(Testing) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.connectomics/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.connectomics/CMakeLists.txt index e440872..b43f403 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.connectomics/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.connectomics/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_connectomics) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_CONNECTOMICS_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgetsExt MitkConnectomics ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.denoising/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.denoising/CMakeLists.txt index 159cd23..4c143bc 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.denoising/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.denoising/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_denoising) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_DENOISING_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkDiffusionCore MitkImageDenoising ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberfox/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberfox/CMakeLists.txt index dcf135c..ffd3375 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberfox/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberfox/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_fiberfox) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_FIBERFOX_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkFiberTracking ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/CMakeLists.txt index 35b0da5..c06c70a 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_fiberprocessing) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_FIBERPROCESSING_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkFiberTracking MitkChart MitkMultilabel ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.ivim/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.ivim/CMakeLists.txt index 654e260..e64c95d 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.ivim/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.ivim/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_ivim) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_IVIM_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgetsExt MitkQuantification ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.odfpeaks/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.odfpeaks/CMakeLists.txt index a5d7534..4ac8dcd 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.odfpeaks/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.odfpeaks/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_odfpeaks) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_ODFPEAKS_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkFiberTracking ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.partialvolume/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.partialvolume/CMakeLists.txt index d944180..3aaaf92 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.partialvolume/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.partialvolume/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_partialvolume) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_PARTIALVOLUME_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgetsExt MitkDiffusionCore MitkFiberTracking ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.preprocessing/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.preprocessing/CMakeLists.txt index 341222a..82155d1 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.preprocessing/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.preprocessing/CMakeLists.txt @@ -1,11 +1,11 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_preprocessing) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_PREPROCESSING_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkDiffusionCore PACKAGE_DEPENDS Qt5|Network ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.python/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.python/CMakeLists.txt index 7ab1179..7c3281f 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.python/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.python/CMakeLists.txt @@ -1,18 +1,18 @@ if(MITK_USE_Python) # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_python) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_PREPROCESSING_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkDiffusionCore MitkPython PACKAGE_DEPENDS Qt5|Network BetData ) #set(_install_DESTINATION "BetData") MITK_INSTALL(DIRECTORY ${BetData_DIR}/) endif() diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.reconstruction/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.reconstruction/CMakeLists.txt index 5f0e2f5..b4491df 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.reconstruction/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.reconstruction/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_reconstruction) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_RECONSTRUCTION_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgetsExt MitkQuantification ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.registration/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.registration/CMakeLists.txt index a0dd626..571a371 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.registration/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.registration/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_registration) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_REGISTRATION_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkDiffusionCore MitkMatchPointRegistration MitkMatchPointRegistrationUI ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.tbss/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.tbss/CMakeLists.txt index cda45e0..f3e90a3 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.tbss/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.tbss/CMakeLists.txt @@ -1,10 +1,10 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_tbss) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_TBSS_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgetsExt MitkFiberTracking MitkQuantification ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.tractography/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging.tractography/CMakeLists.txt index 095d4e2..6f56b7e 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.tractography/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.tractography/CMakeLists.txt @@ -1,11 +1,11 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. project(org_mitk_gui_qt_diffusionimaging_tractography) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_TRACTOGRAPHY_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkFiberTracking PACKAGE_DEPENDS Vigra HDF5 ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimaging/CMakeLists.txt index 7c8c92b..4cab76a 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimaging/CMakeLists.txt @@ -1,8 +1,8 @@ project(org_mitk_gui_qt_diffusionimaging) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkDiffusionCore MitkQuantification MitkConnectomics ) diff --git a/Plugins/org.mitk.gui.qt.diffusionimagingapp/CMakeLists.txt b/Plugins/org.mitk.gui.qt.diffusionimagingapp/CMakeLists.txt index 80a7415..2c239d7 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimagingapp/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.diffusionimagingapp/CMakeLists.txt @@ -1,9 +1,9 @@ project(org_mitk_gui_qt_diffusionimagingapp) mitk_create_plugin( - SUBPROJECTS MITK-DTI + SUBPROJECTS MITK-Diffusion EXPORT_DIRECTIVE DIFFUSIONIMAGING_APP_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDS MitkQtWidgets MitkSceneSerialization PACKAGE_DEPENDS Qt5|WebEngineWidgets ) diff --git a/README.md b/README.md index b164141..5c1f876 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,244 @@ MITK Diffusion ============== + +The MITK Diffusion application [[1,2]](#References) offers a selection of image analysis algorithms for the processing of diffusion-weighted MR images. It encompasses the research of the Division [Medical Image Computing](https://www.dkfz.de/en/mic/index.php) at the German Cancer Research Center (DKFZ). + + +* [Features](#Features) +* [Related Links](#Related) +* [Image Gallery](#Image) +* [Downloads](#Downloads) +* [Requirements](#Requirements) +* [Building MITK Diffusion from source](#Building) +* [User Manual](http://docs.mitk.org/nightly/org_mitk_gui_qt_diffusionimaging.html) +* [Report a Bug](https://phabricator.mitk.org/maniphest/task/edit/form/29/) +* [References](#References) +* [Contact](#Contact) + +## 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]](#References) (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]](#References) +* Streamline tractography + * Interactive (similar to [[5]](#References)) 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]](#References) + * 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]](#References) +* Fiber fitting and weighting similar to SIFT2 and LiFE [[8,9]](#References) +* Principal direction extraction (fibers --> peaks) +* Tract derived images: + * Tract density images + * Tract endpoint images + * Tract envelopes + +**Fiberfox dMRI simulations** [[10]](#References) +* 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 +* Great python package for logging your (MITK) command line experiments: + * https://github.com/MIC-DKFZ/cmdint + * `pip3 install cmdint` +* TractSeg reference data of 72 semiautomatically defined bundles in 105 HCP subjects: https://zenodo.org/record/1285152 +* TractSeg python package: https://github.com/MIC-DKFZ/TractSeg +* Simulated dMRI images and ground truth of random fiber phantoms in various configurations: https://doi.org/10.5281/zenodo.2533250 +* ISMRM 2015 Tractography Challenge Data: https://doi.org/10.5281/zenodo.572345 & https://doi.org/10.5281/zenodo.1007149 + + +## Image Gallery + +![](http://mitk.org/images/8/8f/MitkDiffusion.png) Screenshot of the MITK Diffusion Welcome Screen +


+ +![](http://mitk.org/images/0/09/ScalarMaps.png) Scalar map visualization +


+ +![](http://mitk.org/images/3/3b/Data_Tensors.png) Tensor Visualization +


+ +![](http://mitk.org/images/5/5c/Data_ODF.png) ODF visualization +


+ +![](http://mitk.org/images/7/73/Data_Peaks.png) Peak visualization (uniform white coloring) +


+ +![](http://mitk.org/images/6/68/StreamlineTractography.png) Interactive tractography in MITK Diffusion. The tractogram updates automatically on parameter change and movement of the spherical seed region. +


+ +![](http://mitk.org/images/3/3a/Extraction_1.png) Tract dissection using manually drawn ROIs. +


+ +![](http://mitk.org/images/f/f5/FiberFit.png) Automatic streamline weighting (similar to SIFT2 or LiFE) +


+ +![](http://mitk.org/images/3/33/Fiberfox.png) 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. +


+ +![](http://mitk.org/images/0/08/RandomFibers_Example.png) +Automatically generated random fiber configuration for Fiberfox simulations. +


+ +## Downloads + +[**Nightly Ubuntu and Windows installers**](ftp://ftp.dkfz-heidelberg.de/outgoing/MitkDiffusion) + +Please also have a look at the [requirements](#Requirements) for running MITK Diffusion with all its features successfully! + +The installers 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](#Contact) us and report the issue. + +If you encounter any bugs, please report them in our [bugtracking](https://phabricator.mitk.org/maniphest/task/edit/form/29/) system or use the [MITK-users mailing list](http://mitk.org/wiki/MITK_Mailinglist). We are grateful for any feedback! + + +### Requirements + +* **For Ubuntu users**: + * Install Python 3.X: `sudo apt install python3 python3-pip` + * Download Python requirements file: [PythonRequirements.txt](https://raw.githubusercontent.com/MITK/MITK/master/Modules/DiffusionImaging/DiffusionCore/PythonRequirements.txt) + * Install Python requirements: `pip3 install -r PythonRequirements.txt` + * If your are behind a proxy use `pip3 --proxy install -r PythonRequirements.txt` + * **Requirements for all deep-learning based functionalities**: + * Affected functionalities: + * Brain extraction + * TractSeg + * Pytorch: https://pytorch.org/ (version 0.4.0) + * CUDA: https://developer.nvidia.com/cuda-downloads + * (optional) cuDNN: https://developer.nvidia.com/cudnn + +* **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**. + * **Python modules are disabled under Windows!** + + +## Building MITK Diffusion from source +* Install [Qt](https://www.qt.io/ Qt) on your system (>= 5.11.1). +* Clone MITK from out [repository](https://phabricator.mitk.org/source/mitk.git git) or here from github using [Git version control](https://git-scm.com/). +* Configure the MITK Superbuild using [CMake](https://cmake.org/) (>= 3.14.5). + * Choose the source code directory and an empty binary directory. + * Click "Configure". + * Set the option MITK_BUILD_CONFIGURATION to "DiffusionRelease". + * Click "Generate". + * macOS specifics: + * 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 +* Build the project + * 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 build may take some time and should yield the binaries in "your_build_folder/MITK-build/bin" + +More detailed build instructions can be found in the [documentation](http://docs.mitk.org/nightly/BuildInstructionsPage.html). + + +Continuous integration: http://cdash.mitk.org/index.php?project=MITK&display=project + + +## 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](http://mitk.org/wiki/MITK_Mailinglist) or, for questions that are of no interest for the community, [directly](https://www.dkfz.de/en/mic/team/people/Peter_Neher.html).