├── .appveyor.yml ├── .bintray.yml ├── .dockerignore ├── .gitattributes ├── .gitignore ├── .gitmodules ├── .travis.yml ├── .vscode ├── c_cpp_properties.json ├── extensions.json ├── launch.json └── settings.json ├── AUTHORS.txt ├── Applications ├── BasisProject.cmake ├── CMakeLists.txt ├── config │ └── Depends.cmake ├── doc │ ├── construct-atlas-config.json │ ├── dhcp-atlas-ages.csv │ ├── dhcp-atlas-config.json │ └── dhcp-atlas-uids.csv ├── lib │ └── python │ │ └── mirtk │ │ ├── __init__.py.in │ │ ├── atlas │ │ ├── __init__.py │ │ └── spatiotemporal.py │ │ ├── batch │ │ ├── __init__.py │ │ ├── condor.py │ │ └── slurm.py │ │ ├── subprocess.py.in │ │ └── utils.py ├── src │ ├── CMakeLists.txt │ ├── aggregate-images.cc │ ├── auto-contrast.cc │ ├── average-dofs.cc │ ├── average-images.cc │ ├── average-measure.py │ ├── average-overlap.py │ ├── bisect-dof.cc │ ├── blend-surface.cc │ ├── calculate-distance-map.cc │ ├── calculate-element-wise.cc │ ├── calculate-exponential-map.cc │ ├── calculate-lie-bracket.cc │ ├── calculate-logarithmic-map.cc │ ├── calculate-surface-attributes.cc │ ├── calculate-surface-spectrum.cc │ ├── clean-surface.cc │ ├── close-image.cc │ ├── close-scalars.cc │ ├── combine-images.cc │ ├── compose-dofs.cc │ ├── construct-atlas.py │ ├── convert-dof.cc │ ├── convert-image.cc │ ├── convert-mris.py │ ├── convert-pointset-to-mat.cc │ ├── convert-pointset.cc │ ├── copy-pointset-attributes-from-mat.cc │ ├── copy-pointset-attributes.cc │ ├── cut-brain.cc │ ├── decimate-surface.cc │ ├── delete-pointset-attributes.cc │ ├── detect-cardiac-phases.cc │ ├── detect-edges.cc │ ├── dilate-image.cc │ ├── dilate-scalars.cc │ ├── downsample-image.cc │ ├── edit-dof.cc │ ├── edit-image.cc │ ├── erode-image.cc │ ├── erode-scalars.cc │ ├── evaluate-atlas.py │ ├── evaluate-cardiac-motion.cc │ ├── evaluate-distance.cc │ ├── evaluate-distortion.cc │ ├── evaluate-dof.cc │ ├── evaluate-jacobian.cc │ ├── evaluate-label-overlap.cc │ ├── evaluate-overlap.cc │ ├── evaluate-similarity.cc │ ├── evaluate-surface-mesh.cc │ ├── evaluate-surface-overlap.cc │ ├── extract-connected-components.cc │ ├── extract-connected-points.cc │ ├── extract-image-region.cc │ ├── extract-image-slice.py │ ├── extract-image-volume.py │ ├── extract-pointset-cells.cc │ ├── extract-pointset-surface.cc │ ├── extract-surface.cc │ ├── flip-image.cc │ ├── help-rst.py │ ├── info.cc │ ├── init-dof.cc │ ├── invert-dof.cc │ ├── match-histogram.cc │ ├── match-points.cc │ ├── merge-surfaces.cc │ ├── offset-surface.cc │ ├── open-image.cc │ ├── open-scalars.cc │ ├── project-onto-surface.cc │ ├── random-dof.cc │ ├── reflect-image.cc │ ├── register-points.cc │ ├── register.cc │ ├── remesh-surface.cc │ ├── resample-image.cc │ ├── smooth-image.cc │ ├── smooth-surface.cc │ ├── subdivide-brain-image.cc │ ├── transform-image.cc │ └── transform-points.cc └── tools │ ├── CMakeLists.txt │ └── mirtk.py ├── BasisProject.cmake ├── CMake ├── Basis │ ├── BashUtilities.dox │ ├── BasisConfigSettings.cmake │ ├── BasisPack.cmake │ ├── BasisSettings.cmake │ ├── BasisTest.cmake │ ├── BasisTools.cmake │ ├── CMakeLists.txt │ ├── COPYING.txt │ ├── CheckPublicHeaders.cmake │ ├── CommonTools.cmake │ ├── Config.cmake.in │ ├── ConfigUse.cmake.in │ ├── ConfigVersion.cmake.in │ ├── ConfigureIncludeFiles.cmake │ ├── CxxUtilities.dox │ ├── Directories.cmake.in │ ├── DirectoriesSettings.cmake │ ├── DocTools.cmake │ ├── Doxyfile.in │ ├── ExecuteProcess.cmake │ ├── ExportTools.cmake │ ├── ExternalData.cmake │ ├── ExternalData_config.cmake.in │ ├── GenerateConfig.cmake │ ├── GenerateExportHeader.cmake │ ├── ImportTools.cmake │ ├── InstallationTools.cmake │ ├── InterpTools.cmake │ ├── JavaUtilities.dox │ ├── MatlabTools.cmake │ ├── MatlabUtilities.dox │ ├── ModuleConfig.cmake.in │ ├── ModuleConfigUse.cmake.in │ ├── Modules.dox │ ├── PerlUtilities.dox │ ├── PostprocessChangeLog.cmake │ ├── ProjectSettings.cmake.in │ ├── ProjectTools.cmake │ ├── PythonUtilities.dox │ ├── README.md │ ├── RevisionTools.cmake │ ├── ScriptConfig.cmake.in │ ├── SlicerTools.cmake │ ├── SuperBuildTools.cmake │ ├── TargetTools.cmake │ ├── TopologicalSort.cmake │ ├── Utilities.dox │ ├── UtilitiesTools.cmake │ ├── buildtimestamp.cmd │ ├── cmake_uninstall.cmake.in │ ├── configure_script.cmake.in │ ├── doxyfilter.bat.in │ ├── doxygen_extra.css.in │ ├── doxygen_footer.html.in │ ├── doxygen_header.html.in │ ├── exportheader.cmake.in │ ├── generate_matlab_executable.cmake.in │ ├── get_python_lib.py │ ├── glob.cmake │ ├── sphinx_conf.py.in │ ├── sphinx_make.sh.in │ └── uninstall │ │ └── CMakeLists.txt ├── CMakeLists.txt ├── Config │ ├── Config.cmake.in │ ├── ConfigSettings.cmake │ ├── Depends.cmake │ └── Settings.cmake └── Modules │ ├── CMakeLists.txt │ ├── FindARPACK.cmake │ ├── FindEigen3.cmake │ ├── FindFLANN.cmake │ ├── FindMATLAB.cmake │ ├── FindPython.cmake │ ├── FindPythonInterp.cmake │ ├── FindSphinx.cmake │ ├── FindSuiteSparse.cmake │ ├── FindTBB.cmake │ ├── FindUMFPACK.cmake │ ├── mirtkAddExecutable.cmake │ ├── mirtkAddLibrary.cmake │ ├── mirtkAddTest.cmake │ ├── mirtkConfigureModule.cmake │ ├── mirtkGetTargetName.cmake │ ├── mirtkPolicies.cmake │ ├── mirtkProjectBegin.cmake │ ├── mirtkProjectEnd.cmake │ ├── mirtkTargetDependencies.cmake │ └── mirtkTools.cmake ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ChangeLog.txt ├── Docker ├── Completion │ └── Bash │ │ └── docker-mirtk └── Ubuntu │ ├── .dockerignore │ └── Dockerfile ├── Dockerfile ├── Documentation ├── CMakeLists.txt ├── apidoc.rst ├── apidoc │ ├── classes.rst │ ├── doxygen_config.in │ ├── doxygen_extra.css.in │ ├── doxygen_footer.html.in │ ├── doxygen_header.html.in │ ├── headers.rst │ └── namespace.rst ├── changelog.rst ├── commands.rst ├── commands │ ├── _descriptions │ │ ├── aggregate-images.rst │ │ ├── average-dofs.rst │ │ ├── average-images.rst │ │ ├── average-measure.rst │ │ ├── average-overlap.rst │ │ ├── bisect-dof.rst │ │ ├── blend-surface.rst │ │ ├── calculate-boundary-map.rst │ │ ├── calculate-distance-map.rst │ │ ├── calculate-element-wise.rst │ │ ├── calculate-exponential-map.rst │ │ ├── calculate-filtering.rst │ │ ├── calculate-gradients.rst │ │ ├── calculate-lie-bracket.rst │ │ ├── calculate-logarithmic-map.rst │ │ ├── calculate-surface-attributes.rst │ │ ├── calculate-surface-map.rst │ │ ├── calculate-surface-spectrum.rst │ │ ├── calculate-volume-map.rst │ │ ├── calculate.rst │ │ ├── change-label.rst │ │ ├── close-image.rst │ │ ├── close-scalars.rst │ │ ├── combine-images.rst │ │ ├── compose-dofs.rst │ │ ├── compose-maps.rst │ │ ├── construct-atlas.rst │ │ ├── convert-dof.rst │ │ ├── convert-dof2csv.rst │ │ ├── convert-dof2velo.rst │ │ ├── convert-image.rst │ │ ├── convert-pointset-to-mat.rst │ │ ├── convert-pointset.rst │ │ ├── copy-pointset-attributes-from-mat.rst │ │ ├── copy-pointset-attributes.rst │ │ ├── cut-brain.rst │ │ ├── decimate-surface.rst │ │ ├── deform-mesh.rst │ │ ├── delete-pointset-attributes.rst │ │ ├── detect-edges.rst │ │ ├── dilate-image.rst │ │ ├── dilate-scalars.rst │ │ ├── downsample-image.rst │ │ ├── draw-em.rst │ │ ├── edit-dof.rst │ │ ├── edit-image.rst │ │ ├── em-hard-segmentation.rst │ │ ├── em.rst │ │ ├── erode-image.rst │ │ ├── erode-scalars.rst │ │ ├── evaluate-atlas.rst │ │ ├── evaluate-cardiac-motion.rst │ │ ├── evaluate-distance.rst │ │ ├── evaluate-distortion.rst │ │ ├── evaluate-dof.rst │ │ ├── evaluate-jacobian.rst │ │ ├── evaluate-map.rst │ │ ├── evaluate-overlap.rst │ │ ├── evaluate-similarity.rst │ │ ├── evaluate-surface-map.rst │ │ ├── evaluate-surface-mesh.rst │ │ ├── evaluate-surface-overlap.rst │ │ ├── evaluate-volume-map.rst │ │ ├── extract-connected-components.rst │ │ ├── extract-connected-points.rst │ │ ├── extract-image-region.rst │ │ ├── extract-image-slice.rst │ │ ├── extract-image-volume.rst │ │ ├── extract-pointset-cells.rst │ │ ├── extract-pointset-surface.rst │ │ ├── extract-surface.rst │ │ ├── fill-holes-nn-based.rst │ │ ├── fill-holes.rst │ │ ├── flip-image.rst │ │ ├── help-rst.rst │ │ ├── info.rst │ │ ├── init-dof.rst │ │ ├── invert-dof.rst │ │ ├── kmeans.rst │ │ ├── map-boundary.rst │ │ ├── map-surface.rst │ │ ├── map-volume.rst │ │ ├── match-histogram.rst │ │ ├── match-points.rst │ │ ├── measure-volume.rst │ │ ├── merge-surfaces.rst │ │ ├── normalize.rst │ │ ├── offset-surface.rst │ │ ├── open-image.rst │ │ ├── open-scalars.rst │ │ ├── padding.rst │ │ ├── project-onto-surface.rst │ │ ├── recon-neonatal-cortex.rst │ │ ├── reflect-image.rst │ │ ├── register.rst │ │ ├── remesh-surface.rst │ │ ├── remesh.rst │ │ ├── resample-image.rst │ │ ├── smooth-image.rst │ │ ├── smooth-surface.rst │ │ ├── split-labels.rst │ │ ├── subdivide-brain-image.rst │ │ ├── transform-image.rst │ │ └── transform-points.rst │ ├── _options.rst │ ├── _overview.rst │ ├── _summaries │ │ ├── aggregate-images.rst │ │ ├── average-dofs.rst │ │ ├── average-images.rst │ │ ├── average-measure.rst │ │ ├── average-overlap.rst │ │ ├── bisect-dof.rst │ │ ├── blend-surface.rst │ │ ├── calculate-boundary-map.rst │ │ ├── calculate-distance-map.rst │ │ ├── calculate-element-wise.rst │ │ ├── calculate-exponential-map.rst │ │ ├── calculate-filtering.rst │ │ ├── calculate-gradients.rst │ │ ├── calculate-lie-bracket.rst │ │ ├── calculate-logarithmic-map.rst │ │ ├── calculate-surface-attributes.rst │ │ ├── calculate-surface-map.rst │ │ ├── calculate-surface-spectrum.rst │ │ ├── calculate-volume-map.rst │ │ ├── calculate.rst │ │ ├── change-label.rst │ │ ├── close-image.rst │ │ ├── close-scalars.rst │ │ ├── combine-images.rst │ │ ├── compose-dofs.rst │ │ ├── compose-maps.rst │ │ ├── construct-atlas.rst │ │ ├── convert-dof.rst │ │ ├── convert-dof2csv.rst │ │ ├── convert-dof2velo.rst │ │ ├── convert-image.rst │ │ ├── convert-pointset-to-mat.rst │ │ ├── convert-pointset.rst │ │ ├── copy-pointset-attributes-from-mat.rst │ │ ├── copy-pointset-attributes.rst │ │ ├── cut-brain.rst │ │ ├── decimate-surface.rst │ │ ├── deform-mesh.rst │ │ ├── delete-pointset-attributes.rst │ │ ├── detect-edges.rst │ │ ├── dilate-image.rst │ │ ├── dilate-scalars.rst │ │ ├── downsample-image.rst │ │ ├── draw-em.rst │ │ ├── edit-dof.rst │ │ ├── edit-image.rst │ │ ├── em-hard-segmentation.rst │ │ ├── em.rst │ │ ├── erode-image.rst │ │ ├── erode-scalars.rst │ │ ├── evaluate-atlas.rst │ │ ├── evaluate-cardiac-motion.rst │ │ ├── evaluate-distance.rst │ │ ├── evaluate-distortion.rst │ │ ├── evaluate-dof.rst │ │ ├── evaluate-jacobian.rst │ │ ├── evaluate-map.rst │ │ ├── evaluate-overlap.rst │ │ ├── evaluate-similarity.rst │ │ ├── evaluate-surface-map.rst │ │ ├── evaluate-surface-mesh.rst │ │ ├── evaluate-surface-overlap.rst │ │ ├── evaluate-volume-map.rst │ │ ├── extract-connected-components.rst │ │ ├── extract-connected-points.rst │ │ ├── extract-image-region.rst │ │ ├── extract-image-slice.rst │ │ ├── extract-image-volume.rst │ │ ├── extract-pointset-cells.rst │ │ ├── extract-pointset-surface.rst │ │ ├── extract-surface.rst │ │ ├── fill-holes-nn-based.rst │ │ ├── fill-holes.rst │ │ ├── flip-image.rst │ │ ├── help-rst.rst │ │ ├── info.rst │ │ ├── init-dof.rst │ │ ├── invert-dof.rst │ │ ├── kmeans.rst │ │ ├── map-boundary.rst │ │ ├── map-surface.rst │ │ ├── map-volume.rst │ │ ├── match-histogram.rst │ │ ├── match-points.rst │ │ ├── measure-volume.rst │ │ ├── merge-surfaces.rst │ │ ├── normalize.rst │ │ ├── offset-surface.rst │ │ ├── open-image.rst │ │ ├── open-scalars.rst │ │ ├── project-onto-surface.rst │ │ ├── recon-neonatal-cortex.rst │ │ ├── reflect-image.rst │ │ ├── register.rst │ │ ├── remesh-surface.rst │ │ ├── remesh.rst │ │ ├── resample-image.rst │ │ ├── smooth-image.rst │ │ ├── smooth-surface.rst │ │ ├── split-labels.rst │ │ ├── subdivide-brain-image.rst │ │ ├── transform-image.rst │ │ └── transform-points.rst │ ├── _summary.rst │ ├── aggregate-images.rst │ ├── average-dofs.rst │ ├── average-images.rst │ ├── average-measure.rst │ ├── average-overlap.rst │ ├── bisect-dof.rst │ ├── blend-surface.rst │ ├── calculate-boundary-map.rst │ ├── calculate-distance-map.rst │ ├── calculate-element-wise.rst │ ├── calculate-exponential-map.rst │ ├── calculate-filtering.rst │ ├── calculate-gradients.rst │ ├── calculate-lie-bracket.rst │ ├── calculate-logarithmic-map.rst │ ├── calculate-surface-attributes.rst │ ├── calculate-surface-map.rst │ ├── calculate-surface-spectrum.rst │ ├── calculate-volume-map.rst │ ├── calculate.rst │ ├── change-label.rst │ ├── close-image.rst │ ├── close-scalars.rst │ ├── combine-images.rst │ ├── compose-dofs.rst │ ├── compose-maps.rst │ ├── construct-atlas.rst │ ├── convert-dof.rst │ ├── convert-dof2csv.rst │ ├── convert-dof2velo.rst │ ├── convert-image.rst │ ├── convert-pointset-to-mat.rst │ ├── convert-pointset.rst │ ├── copy-pointset-attributes-from-mat.rst │ ├── copy-pointset-attributes.rst │ ├── cut-brain.rst │ ├── decimate-surface.rst │ ├── deform-mesh.rst │ ├── delete-pointset-attributes.rst │ ├── detect-edges.rst │ ├── dilate-image.rst │ ├── dilate-scalars.rst │ ├── downsample-image.rst │ ├── draw-em.rst │ ├── edit-dof.rst │ ├── edit-image.rst │ ├── em-hard-segmentation.rst │ ├── em.rst │ ├── erode-image.rst │ ├── erode-scalars.rst │ ├── evaluate-atlas.rst │ ├── evaluate-cardiac-motion.rst │ ├── evaluate-distance.rst │ ├── evaluate-distortion.rst │ ├── evaluate-dof.rst │ ├── evaluate-jacobian.rst │ ├── evaluate-map.rst │ ├── evaluate-overlap.rst │ ├── evaluate-similarity.rst │ ├── evaluate-surface-map.rst │ ├── evaluate-surface-mesh.rst │ ├── evaluate-surface-overlap.rst │ ├── evaluate-volume-map.rst │ ├── extract-connected-components.rst │ ├── extract-connected-points.rst │ ├── extract-image-region.rst │ ├── extract-image-slice.rst │ ├── extract-image-volume.rst │ ├── extract-pointset-cells.rst │ ├── extract-pointset-surface.rst │ ├── extract-surface.rst │ ├── fill-holes-nn-based.rst │ ├── fill-holes.rst │ ├── flip-image.rst │ ├── help-rst.rst │ ├── info.rst │ ├── init-dof.rst │ ├── invert-dof.rst │ ├── kmeans.rst │ ├── map-boundary.rst │ ├── map-surface.rst │ ├── map-volume.rst │ ├── match-histogram.rst │ ├── match-points.rst │ ├── measure-volume.rst │ ├── merge-surfaces.rst │ ├── normalize.rst │ ├── offset-surface.rst │ ├── open-image.rst │ ├── open-scalars.rst │ ├── project-onto-surface.rst │ ├── recon-neonatal-cortex.rst │ ├── reflect-image.rst │ ├── register.rst │ ├── remesh-surface.rst │ ├── remesh.rst │ ├── resample-image.rst │ ├── smooth-image.rst │ ├── smooth-surface.rst │ ├── split-labels.rst │ ├── subdivide-brain-image.rst │ ├── transform-image.rst │ └── transform-points.rst ├── contents.rst ├── download.rst ├── getstarted.rst ├── help.rst ├── index.rst ├── install.rst ├── modules.rst ├── modules │ ├── _descriptions │ │ ├── common.rst │ │ ├── deformable.rst │ │ ├── drawem.rst │ │ ├── image.rst │ │ ├── io.rst │ │ ├── mapping.rst │ │ ├── numerics.rst │ │ ├── pointset.rst │ │ ├── registration.rst │ │ ├── scripting.rst │ │ └── transformation.rst │ ├── _overview.rst │ ├── _refs.rst │ ├── common.rst │ ├── deformable.rst │ ├── drawem.rst │ ├── image.rst │ ├── io.rst │ ├── mapping.rst │ ├── numerics.rst │ ├── pointset.rst │ ├── registration.rst │ ├── scripting.rst │ └── transformation.rst ├── people.rst ├── publications.rst ├── sidebar.rst ├── static │ ├── CMakeGUIDefaultConfig.png │ ├── CMakeGUIVTKNotFound.png │ └── logo.svg └── tools │ ├── write-commands-overview.py │ └── write-commands-summary.py ├── Examples └── helloworld │ ├── CMakeLists.txt │ ├── README.md │ └── flip.cc ├── LICENSE.txt ├── Modules ├── Common │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ ├── Config.cmake.in │ │ ├── Settings.cmake │ │ ├── config.h.in │ │ └── version.h.in │ ├── include │ │ └── mirtk │ │ │ ├── Algorithm.h │ │ │ ├── Allocate.h │ │ │ ├── Array.h │ │ │ ├── ArrayHeap.h │ │ │ ├── Assert.h │ │ │ ├── Cfstream.h │ │ │ ├── Cifstream.h │ │ │ ├── Cofstream.h │ │ │ ├── Common.h │ │ │ ├── Config.h │ │ │ ├── Configurable.h │ │ │ ├── Cuda.h │ │ │ ├── CudaRuntime.h │ │ │ ├── CutilMath.h │ │ │ ├── DataSelection.h │ │ │ ├── Deallocate.h │ │ │ ├── EnergyMeasure.h │ │ │ ├── Event.h │ │ │ ├── EventDelegate.h │ │ │ ├── Exception.h │ │ │ ├── FastDelegate.h │ │ │ ├── Indent.h │ │ │ ├── List.h │ │ │ ├── Math.h │ │ │ ├── Matlab.h │ │ │ ├── Memory.h │ │ │ ├── Numeric.h │ │ │ ├── Object.h │ │ │ ├── ObjectFactory.h │ │ │ ├── Observable.h │ │ │ ├── Observer.h │ │ │ ├── Options.h │ │ │ ├── OrderedMap.h │ │ │ ├── OrderedSet.h │ │ │ ├── Pair.h │ │ │ ├── Parallel.h │ │ │ ├── Path.h │ │ │ ├── PriorityQueue.h │ │ │ ├── Profiling.h │ │ │ ├── Queue.h │ │ │ ├── Random.h │ │ │ ├── Stack.h │ │ │ ├── Status.h │ │ │ ├── Stream.h │ │ │ ├── String.h │ │ │ ├── System.h │ │ │ ├── Terminal.h │ │ │ ├── TestProd.h │ │ │ ├── UnorderedMap.h │ │ │ ├── UnorderedSet.h │ │ │ ├── Utils.h │ │ │ ├── Version.h │ │ │ ├── Vtk.h │ │ │ └── VtkMath.h │ ├── src │ │ ├── CMakeLists.txt │ │ ├── Cifstream.cc │ │ ├── Cofstream.cc │ │ ├── Configurable.cc │ │ ├── Math.cc │ │ ├── Matlab.cc │ │ ├── Memory.cc │ │ ├── Observer.cc │ │ ├── Options.cc │ │ ├── Parallel.cc │ │ ├── Path.cc │ │ ├── Profiling.cc │ │ ├── String.cc │ │ ├── System.cc │ │ ├── Terminal.cc │ │ ├── Version.cc │ │ └── Vtk.cc │ └── test │ │ ├── CMakeLists.txt │ │ └── testString.cc ├── IO │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ ├── Config.cmake.in │ │ ├── Depends.cmake │ │ ├── Settings.cmake │ │ └── config.h.in │ ├── include │ │ └── mirtk │ │ │ ├── GIPLImageReader.h │ │ │ ├── GIPLImageWriter.h │ │ │ ├── MetaImageReader.h │ │ │ ├── MetaImageWriter.h │ │ │ ├── NiftiImageInfo.h │ │ │ ├── NiftiImageReader.h │ │ │ ├── NiftiImageWriter.h │ │ │ ├── PGMImageReader.h │ │ │ ├── PGMImageWriter.h │ │ │ ├── PNGImageWriter.h │ │ │ └── PointSetIO.h │ └── src │ │ ├── CMakeLists.txt │ │ ├── GIPL.h │ │ ├── GIPLImageReader.cc │ │ ├── GIPLImageWriter.cc │ │ ├── IOConfig.cc │ │ ├── MetaImageReader.cc │ │ ├── MetaImageWriter.cc │ │ ├── NiftiImage.cc │ │ ├── NiftiImage.h │ │ ├── NiftiImageInfo.cc │ │ ├── NiftiImageReader.cc │ │ ├── NiftiImageWriter.cc │ │ ├── PGM.h │ │ ├── PGMImageReader.cc │ │ ├── PGMImageWriter.cc │ │ ├── PNGImageWriter.cc │ │ ├── PointSetIO.cc │ │ ├── brainsuite │ │ └── dfsurface.h │ │ ├── gifti │ │ ├── gifti_io.cc │ │ ├── gifti_io.h │ │ ├── gifti_xml.cc │ │ └── gifti_xml.h │ │ ├── meta │ │ ├── License.txt │ │ ├── metaEvent.h │ │ ├── metaIOConfig.h │ │ ├── metaImage.cxx │ │ ├── metaImage.h │ │ ├── metaImageTypes.h │ │ ├── metaImageUtils.cxx │ │ ├── metaImageUtils.h │ │ ├── metaObject.cxx │ │ ├── metaObject.h │ │ ├── metaTypes.h │ │ ├── metaUtils.cxx │ │ └── metaUtils.h │ │ └── nifti │ │ ├── nifti1.h │ │ ├── nifti2.h │ │ ├── nifti2_io.cc │ │ ├── nifti2_io.h │ │ ├── znzlib.cc │ │ └── znzlib.h ├── Image │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ ├── Config.cmake.in │ │ ├── Settings.cmake │ │ └── config.h.in │ ├── include │ │ └── mirtk │ │ │ ├── BSplineInterpolateImageFunction.h │ │ │ ├── BSplineInterpolateImageFunction.hxx │ │ │ ├── BSplineInterpolateImageFunction2D.h │ │ │ ├── BSplineInterpolateImageFunction2D.hxx │ │ │ ├── BSplineInterpolateImageFunction3D.h │ │ │ ├── BSplineInterpolateImageFunction3D.hxx │ │ │ ├── BSplineInterpolateImageFunction4D.h │ │ │ ├── BSplineInterpolateImageFunction4D.hxx │ │ │ ├── BaseImage.h │ │ │ ├── BinaryVoxelFunction.h │ │ │ ├── CSplineInterpolateImageFunction.h │ │ │ ├── CSplineInterpolateImageFunction.hxx │ │ │ ├── CSplineInterpolateImageFunction2D.h │ │ │ ├── CSplineInterpolateImageFunction2D.hxx │ │ │ ├── CSplineInterpolateImageFunction3D.h │ │ │ ├── CSplineInterpolateImageFunction3D.hxx │ │ │ ├── CSplineInterpolateImageFunction4D.h │ │ │ ├── CSplineInterpolateImageFunction4D.hxx │ │ │ ├── CityBlockDistanceTransform.h │ │ │ ├── Closing.h │ │ │ ├── ConnectedComponents.h │ │ │ ├── ConstExtrapolateImageFunction.h │ │ │ ├── ConstExtrapolateImageFunctionWithPeriodicTime.h │ │ │ ├── ConstGenericImageIterator.h │ │ │ ├── ConstImageIterator.h │ │ │ ├── ConvolutionFunction.h │ │ │ ├── CubicBSplineConvolution.h │ │ │ ├── CubicBSplineInterpolateImageFunction.h │ │ │ ├── CubicBSplineInterpolateImageFunction.hxx │ │ │ ├── CubicBSplineInterpolateImageFunction2D.h │ │ │ ├── CubicBSplineInterpolateImageFunction2D.hxx │ │ │ ├── CubicBSplineInterpolateImageFunction3D.h │ │ │ ├── CubicBSplineInterpolateImageFunction3D.hxx │ │ │ ├── CubicBSplineInterpolateImageFunction4D.h │ │ │ ├── CubicBSplineInterpolateImageFunction4D.hxx │ │ │ ├── DataFunctions.h │ │ │ ├── DataOp.h │ │ │ ├── DataStatistics.h │ │ │ ├── DifferenceOfCompositionLieBracketImageFilter3D.h │ │ │ ├── Dilation.h │ │ │ ├── DisplacementFieldExp.h │ │ │ ├── DisplacementToVelocityField.h │ │ │ ├── DisplacementToVelocityFieldBCH.h │ │ │ ├── Downsampling.h │ │ │ ├── Erosion.h │ │ │ ├── EuclideanDistanceTransform.h │ │ │ ├── ExtrapolateImageFunction.h │ │ │ ├── ExtrapolationMode.h │ │ │ ├── FastCubicBSplineInterpolateImageFunction.h │ │ │ ├── FastCubicBSplineInterpolateImageFunction.hxx │ │ │ ├── FastCubicBSplineInterpolateImageFunction2D.h │ │ │ ├── FastCubicBSplineInterpolateImageFunction2D.hxx │ │ │ ├── FastCubicBSplineInterpolateImageFunction3D.h │ │ │ ├── FastCubicBSplineInterpolateImageFunction3D.hxx │ │ │ ├── FastCubicBSplineInterpolateImageFunction4D.h │ │ │ ├── FastCubicBSplineInterpolateImageFunction4D.hxx │ │ │ ├── FastLinearImageGradientFunction.h │ │ │ ├── FastLinearImageGradientFunction.hxx │ │ │ ├── FastLinearImageGradientFunction2D.h │ │ │ ├── FastLinearImageGradientFunction2D.hxx │ │ │ ├── FastLinearImageGradientFunction3D.h │ │ │ ├── FastLinearImageGradientFunction3D.hxx │ │ │ ├── ForEachBinaryVoxelFunction.h │ │ │ ├── ForEachNonaryVoxelFunction.h │ │ │ ├── ForEachOctaryVoxelFunction.h │ │ │ ├── ForEachQuaternaryVoxelFunction.h │ │ │ ├── ForEachQuinaryVoxelFunction.h │ │ │ ├── ForEachSenaryVoxelFunction.h │ │ │ ├── ForEachSeptenaryVoxelFunction.h │ │ │ ├── ForEachTernaryVoxelFunction.h │ │ │ ├── ForEachUnaryVoxelFunction.h │ │ │ ├── GaussianBlurring.h │ │ │ ├── GaussianBlurring2D.h │ │ │ ├── GaussianBlurring4D.h │ │ │ ├── GaussianBlurringWithPadding.h │ │ │ ├── GaussianBlurringWithPadding2D.h │ │ │ ├── GaussianInterpolateImageFunction.h │ │ │ ├── GaussianInterpolateImageFunction.hxx │ │ │ ├── GaussianInterpolateImageFunction2D.h │ │ │ ├── GaussianInterpolateImageFunction2D.hxx │ │ │ ├── GaussianInterpolateImageFunction3D.h │ │ │ ├── GaussianInterpolateImageFunction3D.hxx │ │ │ ├── GaussianInterpolateImageFunction4D.h │ │ │ ├── GaussianInterpolateImageFunction4D.hxx │ │ │ ├── GaussianPyramidFilter.h │ │ │ ├── GenericImage.h │ │ │ ├── GenericImageIterator.h │ │ │ ├── GradientImageFilter.h │ │ │ ├── HashImage.h │ │ │ ├── HashImage.hxx │ │ │ ├── HessianImageFilter.h │ │ │ ├── Histogram1D.h │ │ │ ├── Histogram2D.h │ │ │ ├── HistogramMatching.h │ │ │ ├── Image.h │ │ │ ├── ImageAttributes.h │ │ │ ├── ImageFunction.h │ │ │ ├── ImageGradientFunction.h │ │ │ ├── ImageGradientFunction.hxx │ │ │ ├── ImageIterator.h │ │ │ ├── ImageReader.h │ │ │ ├── ImageReaderFactory.h │ │ │ ├── ImageRegion.h │ │ │ ├── ImageSequence.h │ │ │ ├── ImageSequence.hh │ │ │ ├── ImageToImage.h │ │ │ ├── ImageToInterpolationCoefficients.h │ │ │ ├── ImageWriter.h │ │ │ ├── ImageWriterFactory.h │ │ │ ├── InterpolateImageFunction.h │ │ │ ├── InterpolateImageFunction.hxx │ │ │ ├── InterpolationMode.h │ │ │ ├── LieBracketImageFilter.h │ │ │ ├── LieBracketImageFilter2D.h │ │ │ ├── LieBracketImageFilter3D.h │ │ │ ├── LinearImageGradientFunction.h │ │ │ ├── LinearImageGradientFunction.hxx │ │ │ ├── LinearImageGradientFunction2D.h │ │ │ ├── LinearImageGradientFunction2D.hxx │ │ │ ├── LinearImageGradientFunction3D.h │ │ │ ├── LinearImageGradientFunction3D.hxx │ │ │ ├── LinearInterpolateImageFunction.h │ │ │ ├── LinearInterpolateImageFunction.hxx │ │ │ ├── LinearInterpolateImageFunction2D.h │ │ │ ├── LinearInterpolateImageFunction2D.hxx │ │ │ ├── LinearInterpolateImageFunction3D.h │ │ │ ├── LinearInterpolateImageFunction3D.hxx │ │ │ ├── LinearInterpolateImageFunction4D.h │ │ │ ├── LinearInterpolateImageFunction4D.hxx │ │ │ ├── MirrorExtrapolateImageFunction.h │ │ │ ├── NaryVoxelFunction.h │ │ │ ├── NearestNeighborExtrapolateImageFunction.h │ │ │ ├── NearestNeighborInterpolateImageFunction.h │ │ │ ├── NearestNeighborInterpolateImageFunction.hxx │ │ │ ├── NeighborhoodOffsets.h │ │ │ ├── RepeatExtrapolateImageFunction.h │ │ │ ├── Resampling.h │ │ │ ├── ResamplingWithPadding.h │ │ │ ├── ScalarFunctionToImage.h │ │ │ ├── ScalingAndSquaring.h │ │ │ ├── SeparableConvolution.h │ │ │ ├── ShapeBasedInterpolateImageFunction.h │ │ │ ├── SincInterpolateImageFunction.h │ │ │ ├── SincInterpolateImageFunction.hxx │ │ │ ├── SincInterpolateImageFunction2D.h │ │ │ ├── SincInterpolateImageFunction2D.hxx │ │ │ ├── SincInterpolateImageFunction3D.h │ │ │ ├── SincInterpolateImageFunction3D.hxx │ │ │ ├── SincInterpolateImageFunction4D.h │ │ │ ├── SincInterpolateImageFunction4D.hxx │ │ │ ├── TernaryVoxelFunction.h │ │ │ ├── UnaryVoxelFunction.h │ │ │ ├── VelocityFieldExp.h │ │ │ ├── VelocityToDisplacementField.h │ │ │ ├── VelocityToDisplacementFieldEuler.h │ │ │ ├── VelocityToDisplacementFieldSS.h │ │ │ ├── Voxel.h │ │ │ ├── VoxelCast.h │ │ │ ├── VoxelDomain.h │ │ │ └── VoxelFunction.h │ ├── src │ │ ├── BaseImage.cc │ │ ├── CMakeLists.txt │ │ ├── CityBlockDistanceTransform.cc │ │ ├── Closing.cc │ │ ├── ConnectedComponents.cc │ │ ├── CubicBSplineConvolution.cc │ │ ├── DataOp.cc │ │ ├── DifferenceOfCompositionLieBracketImageFilter3D.cc │ │ ├── Dilation.cc │ │ ├── DisplacementToVelocityFieldBCH.cc │ │ ├── Downsampling.cc │ │ ├── Erosion.cc │ │ ├── EuclideanDistanceTransform.cc │ │ ├── ExtrapolateImageFunction.cc │ │ ├── ForEachVoxelFunction.py │ │ ├── GaussianBlurring.cc │ │ ├── GaussianBlurring2D.cc │ │ ├── GaussianBlurring4D.cc │ │ ├── GaussianBlurringWithPadding.cc │ │ ├── GaussianBlurringWithPadding2D.cc │ │ ├── GaussianPyramidFilter.cc │ │ ├── GenericImage.cc │ │ ├── GradientImageFilter.cc │ │ ├── HashImage.cc │ │ ├── HessianImageFilter.cc │ │ ├── Histogram1D.cc │ │ ├── Histogram2D.cc │ │ ├── HistogramMatching.cc │ │ ├── ImageAttributes.cc │ │ ├── ImageConfig.cc │ │ ├── ImageFunction.cc │ │ ├── ImageGradientFunction.cc │ │ ├── ImageReader.cc │ │ ├── ImageReaderFactory.cc │ │ ├── ImageToImage.cc │ │ ├── ImageWriter.cc │ │ ├── ImageWriterFactory.cc │ │ ├── InterpolateImageFunction.cc │ │ ├── NeighborhoodOffsets.cc │ │ ├── Resampling.cc │ │ ├── ResamplingWithPadding.cc │ │ ├── ScalarFunctionToImage.cc │ │ ├── ScalingAndSquaring.cc │ │ ├── SeparableConvolution.cc │ │ ├── ShapeBasedInterpolateImageFunction.cc │ │ ├── VelocityToDisplacementField.cc │ │ ├── VelocityToDisplacementFieldEuler.cc │ │ ├── VelocityToDisplacementFieldSS.cc │ │ └── Voxel.cc │ └── test │ │ ├── CMakeLists.txt │ │ ├── testConvolutionFunction.cc │ │ ├── testDisplacementToVelocityField.cc │ │ ├── testDownsampling.cc │ │ ├── testInterpolateExtrapolateImageFunction.cc │ │ └── testUnaryVoxelFunction.cc ├── Numerics │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ ├── Config.cmake.in │ │ ├── Settings.cmake │ │ └── config.h.in │ ├── include │ │ └── mirtk │ │ │ ├── AdaptiveLineSearch.h │ │ │ ├── Arith.h │ │ │ ├── Arpack.h │ │ │ ├── BSpline.h │ │ │ ├── BrentLineSearch.h │ │ │ ├── CharbonnierErrorFunction.h │ │ │ ├── ConjugateGradientDescent.h │ │ │ ├── DistanceErrorFunction.h │ │ │ ├── Eigen.h │ │ │ ├── EnergyThreshold.h │ │ │ ├── GaussianErrorFunction.h │ │ │ ├── GradientDescent.h │ │ │ ├── InexactLineSearch.h │ │ │ ├── LimitedMemoryBFGSDescent.h │ │ │ ├── LineSearch.h │ │ │ ├── LocalOptimizer.h │ │ │ ├── Matrix.h │ │ │ ├── Matrix3x3.h │ │ │ ├── MaxStepLineSearch.h │ │ │ ├── Numerics.h │ │ │ ├── ObjectiveFunction.h │ │ │ ├── OptimizationMethod.h │ │ │ ├── PeronaMalikErrorFunction.h │ │ │ ├── Plane.h │ │ │ ├── Point.h │ │ │ ├── PointSamples.h │ │ │ ├── PointSet.h │ │ │ ├── Polynomial.h │ │ │ ├── PolynomialSolvers.h │ │ │ ├── RadialErrorFunction.h │ │ │ ├── ScalarFunction.h │ │ │ ├── ScalarGaussian.h │ │ │ ├── Sinc.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SquaredErrorFunction.h │ │ │ ├── StoppingCriterion.h │ │ │ ├── Umfpack.h │ │ │ ├── Vector.h │ │ │ ├── Vector3.h │ │ │ ├── Vector3D.h │ │ │ ├── Vector4D.h │ │ │ └── VectorND.h │ ├── src │ │ ├── AdaptiveLineSearch.cc │ │ ├── Arith.cc │ │ ├── BSpline.cc │ │ ├── BrentLineSearch.cc │ │ ├── CMakeLists.txt │ │ ├── ConjugateGradientDescent.cc │ │ ├── EnergyThreshold.cc │ │ ├── GradientDescent.cc │ │ ├── InexactLineSearch.cc │ │ ├── LimitedMemoryBFGSDescent.cc │ │ ├── LineSearch.cc │ │ ├── LocalOptimizer.cc │ │ ├── Matrix.cc │ │ ├── Matrix3x3.cc │ │ ├── MaxStepLineSearch.cc │ │ ├── NumericsConfig.cc │ │ ├── Plane.cc │ │ ├── Point.cc │ │ ├── PointSamples.cc │ │ ├── PointSet.cc │ │ ├── Polynomial.cc │ │ ├── PolynomialSolvers.cc │ │ ├── RadialErrorFunction.cc │ │ ├── ScalarGaussian.cc │ │ ├── Sinc.cc │ │ ├── SparseMatrix.cc │ │ ├── StoppingCriterion.cc │ │ ├── Vector.cc │ │ ├── Vector3.cc │ │ ├── Vector3D.cc │ │ └── Vector4D.cc │ └── test │ │ ├── CMakeLists.txt │ │ ├── NumericsTest.h │ │ ├── testMatrix.cc │ │ ├── testPolynomial.cc │ │ └── testVector.cc ├── PointSet │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ └── Config.cmake.in │ ├── include │ │ └── mirtk │ │ │ ├── BoundarySegment.h │ │ │ ├── CellDataFilter.h │ │ │ ├── CloseCellData.h │ │ │ ├── ClosePointData.h │ │ │ ├── ClosestCell.h │ │ │ ├── ClosestPoint.h │ │ │ ├── ClosestPointLabel.h │ │ │ ├── DilateCellData.h │ │ │ ├── DilatePointData.h │ │ │ ├── EdgeConnectivity.h │ │ │ ├── EdgeTable.h │ │ │ ├── ErodeCellData.h │ │ │ ├── ErodePointData.h │ │ │ ├── FiducialMatch.h │ │ │ ├── FuzzyCorrespondence.h │ │ │ ├── ImageSurfaceStatistics.h │ │ │ ├── ImplicitSurfaceUtils.h │ │ │ ├── MedianPointData.h │ │ │ ├── MeshFilter.h │ │ │ ├── MeshSmoothing.h │ │ │ ├── OpenCellData.h │ │ │ ├── OpenPointData.h │ │ │ ├── PointCorrespondence.h │ │ │ ├── PointDataFilter.h │ │ │ ├── PointLocator.h │ │ │ ├── PointSetUtils.h │ │ │ ├── Polyhedron.h │ │ │ ├── RegisteredPointSet.h │ │ │ ├── RegisteredSurface.h │ │ │ ├── RobustClosestPoint.h │ │ │ ├── RobustPointMatch.h │ │ │ ├── SpectralDecomposition.h │ │ │ ├── SpectralMatch.h │ │ │ ├── Stripper.h │ │ │ ├── SurfaceBoundary.h │ │ │ ├── SurfaceCollisions.h │ │ │ ├── SurfaceCurvature.h │ │ │ ├── SurfaceFilter.h │ │ │ ├── SurfacePatches.h │ │ │ ├── SurfaceRemeshing.h │ │ │ └── Triangle.h │ ├── src │ │ ├── BoundarySegment.cc │ │ ├── CMakeLists.txt │ │ ├── CellDataFilter.cc │ │ ├── CloseCellData.cc │ │ ├── ClosePointData.cc │ │ ├── ClosestCell.cc │ │ ├── ClosestPoint.cc │ │ ├── ClosestPointLabel.cc │ │ ├── DilateCellData.cc │ │ ├── DilatePointData.cc │ │ ├── EdgeConnectivity.cc │ │ ├── EdgeTable.cc │ │ ├── ErodeCellData.cc │ │ ├── ErodePointData.cc │ │ ├── FiducialMatch.cc │ │ ├── FuzzyCorrespondence.cc │ │ ├── FuzzyCorrespondenceUtils.cc │ │ ├── FuzzyCorrespondenceUtils.h │ │ ├── ImageSurfaceStatistics.cc │ │ ├── ImplicitSurfaceUtils.cc │ │ ├── MedianPointData.cc │ │ ├── MeshFilter.cc │ │ ├── MeshSmoothing.cc │ │ ├── OpenCellData.cc │ │ ├── OpenPointData.cc │ │ ├── PointCorrespondence.cc │ │ ├── PointDataFilter.cc │ │ ├── PointLocator.cc │ │ ├── PointSetUtils.cc │ │ ├── Polyhedron.cc │ │ ├── RegisteredPointSet.cc │ │ ├── RegisteredSurface.cc │ │ ├── RobustClosestPoint.cc │ │ ├── RobustPointMatch.cc │ │ ├── SpectralDecomposition.cc │ │ ├── SpectralMatch.cc │ │ ├── Stripper.cc │ │ ├── SurfaceBoundary.cc │ │ ├── SurfaceCollisions.cc │ │ ├── SurfaceCurvature.cc │ │ ├── SurfaceFilter.cc │ │ ├── SurfacePatches.cc │ │ ├── SurfaceRemeshing.cc │ │ ├── Triangle.cc │ │ └── triangle_triangle_intersection.h │ └── test │ │ ├── CMakeLists.txt │ │ └── testEdgeTable.cc ├── Registration │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── config │ │ ├── Config.cmake.in │ │ ├── Settings.cmake │ │ └── config.h.in │ ├── example │ │ ├── DummyImageSimilarity.cc │ │ ├── DummyImageSimilarity.h │ │ └── register.par │ ├── include │ │ └── mirtk │ │ │ ├── CosineOfNormalizedGradientField.h │ │ │ ├── CurrentsDistance.h │ │ │ ├── DataFidelity.h │ │ │ ├── FiducialRegistrationError.h │ │ │ ├── GenericRegistrationDebugger.h │ │ │ ├── GenericRegistrationFilter.h │ │ │ ├── GenericRegistrationLogger.h │ │ │ ├── GradientFieldSimilarity.h │ │ │ ├── HistogramImageSimilarity.h │ │ │ ├── ImageCovariance.h │ │ │ ├── ImageSimilarity.h │ │ │ ├── IntensityCorrelationRatioXY.h │ │ │ ├── IntensityCorrelationRatioYX.h │ │ │ ├── IntensityCrossCorrelation.h │ │ │ ├── JointImageEntropy.h │ │ │ ├── LabelConsistency.h │ │ │ ├── MeanSquaredDisplacementError.h │ │ │ ├── MutualImageInformation.h │ │ │ ├── NormalizedGradientFieldSimilarity.h │ │ │ ├── NormalizedIntensityCrossCorrelation.h │ │ │ ├── NormalizedMutualImageInformation.h │ │ │ ├── PeakSignalToNoiseRatio.h │ │ │ ├── PointCorrespondenceDistance.h │ │ │ ├── PointSetDistance.h │ │ │ ├── PointSetDistanceMeasure.h │ │ │ ├── Registration.h │ │ │ ├── RegistrationEnergy.h │ │ │ ├── RegistrationFilter.h │ │ │ ├── SimilarityMeasure.h │ │ │ ├── SumOfSquaredIntensityDifferences.h │ │ │ └── SurfaceDistance.h │ ├── src │ │ ├── CMakeLists.txt │ │ ├── CosineOfNormalizedGradientField.cc │ │ ├── CurrentsDistance.cc │ │ ├── DataFidelity.cc │ │ ├── FiducialRegistrationError.cc │ │ ├── GenericRegistrationDebugger.cc │ │ ├── GenericRegistrationFilter.cc │ │ ├── GenericRegistrationLogger.cc │ │ ├── GradientFieldSimilarity.cc │ │ ├── HistogramImageSimilarity.cc │ │ ├── ImageCovariance.cc │ │ ├── ImageSimilarity.cc │ │ ├── IntensityCorrelationRatioXY.cc │ │ ├── IntensityCorrelationRatioYX.cc │ │ ├── IntensityCrossCorrelation.cc │ │ ├── JointImageEntropy.cc │ │ ├── LabelConsistency.cc │ │ ├── MeanSquaredDisplacementError.cc │ │ ├── MutualImageInformation.cc │ │ ├── NormalizedGradientFieldSimilarity.cc │ │ ├── NormalizedIntensityCrossCorrelation.cc │ │ ├── NormalizedMutualImageInformation.cc │ │ ├── PeakSignalToNoiseRatio.cc │ │ ├── PointCorrespondenceDistance.cc │ │ ├── PointSetDistance.cc │ │ ├── RegistrationConfig.cc │ │ ├── RegistrationEnergy.cc │ │ ├── RegistrationEnergyParser.h │ │ ├── SumOfSquaredIntensityDifferences.cc │ │ └── SurfaceDistance.cc │ └── test │ │ ├── CMakeLists.txt │ │ └── testRegisteredImage.cc └── Transformation │ ├── BasisProject.cmake │ ├── CMakeLists.txt │ ├── include │ └── mirtk │ │ ├── AffineTransformation.h │ │ ├── BSplineFreeFormTransformation3D.h │ │ ├── BSplineFreeFormTransformation4D.h │ │ ├── BSplineFreeFormTransformationSV.h │ │ ├── BSplineFreeFormTransformationStatistical.h │ │ ├── BSplineFreeFormTransformationTD.h │ │ ├── ConstraintMeasure.h │ │ ├── EnergyTerm.h │ │ ├── FFDIntegrationMethod.h │ │ ├── FluidFreeFormTransformation.h │ │ ├── FreeFormTransformation.h │ │ ├── FreeFormTransformation3D.h │ │ ├── FreeFormTransformation4D.h │ │ ├── HomogeneousTransformation.h │ │ ├── HomogeneousTransformationIterator.h │ │ ├── ImageTransformation.h │ │ ├── InverseAffineTransformation.h │ │ ├── JacobianConstraint.h │ │ ├── LinearElasticityConstraint.h │ │ ├── LinearFreeFormTransformation3D.h │ │ ├── LinearFreeFormTransformation4D.h │ │ ├── LinearFreeFormTransformationTD.h │ │ ├── LogJacobianConstraint.h │ │ ├── MultiLevelFreeFormTransformation.h │ │ ├── MultiLevelStationaryVelocityTransformation.h │ │ ├── MultiLevelTransformation.h │ │ ├── MultipleVoxelTransformation.h │ │ ├── NegJacobianConstraint.h │ │ ├── PartialAffineTransformation.h │ │ ├── PartialBSplineFreeFormTransformationSV.h │ │ ├── PartialMultiLevelStationaryVelocityTransformation.h │ │ ├── RegisteredImage.h │ │ ├── RigidTransformation.h │ │ ├── SimilarityTransformation.h │ │ ├── SmoothnessConstraint.h │ │ ├── SparsityConstraint.h │ │ ├── TopologyPreservationConstraint.h │ │ ├── Transformation.h │ │ ├── TransformationApproximationError.h │ │ ├── TransformationConfig.h │ │ ├── TransformationConstraint.h │ │ ├── TransformationJacobian.h │ │ ├── TransformationModel.h │ │ ├── TransformationType.h │ │ ├── Transformations.h │ │ └── VolumePreservationConstraint.h │ └── src │ ├── AffineTransformation.cc │ ├── BSplineFreeFormTransformation3D.cc │ ├── BSplineFreeFormTransformation4D.cc │ ├── BSplineFreeFormTransformationSV.cc │ ├── BSplineFreeFormTransformationStatistical.cc │ ├── BSplineFreeFormTransformationTD.cc │ ├── CMakeLists.txt │ ├── EnergyTerm.cc │ ├── FluidFreeFormTransformation.cc │ ├── FreeFormTransformation.cc │ ├── FreeFormTransformation3D.cc │ ├── FreeFormTransformation4D.cc │ ├── FreeFormTransformationIntegration.h │ ├── FreeFormTransformationRungeKutta.cc │ ├── FreeFormTransformationRungeKutta.h │ ├── HomogeneousTransformation.cc │ ├── ImageTransformation.cc │ ├── InverseAffineTransformation.cc │ ├── JacobianConstraint.cc │ ├── LinearElasticityConstraint.cc │ ├── LinearFreeFormTransformation3D.cc │ ├── LinearFreeFormTransformation4D.cc │ ├── LinearFreeFormTransformationTD.cc │ ├── LogJacobianConstraint.cc │ ├── MultiLevelFreeFormTransformation.cc │ ├── MultiLevelStationaryVelocityTransformation.cc │ ├── MultiLevelTransformation.cc │ ├── NegJacobianConstraint.cc │ ├── PartialAffineTransformation.cc │ ├── PartialBSplineFreeFormTransformationSV.cc │ ├── PartialMultiLevelStationaryVelocityTransformation.cc │ ├── RegisteredImage.cc │ ├── RigidTransformation.cc │ ├── SimilarityTransformation.cc │ ├── SmoothnessConstraint.cc │ ├── SparsityConstraint.cc │ ├── TopologyPreservationConstraint.cc │ ├── Transformation.cc │ ├── TransformationApproximationError.cc │ ├── TransformationConfig.cc │ ├── TransformationConstraint.cc │ ├── TransformationInverse.cc │ ├── TransformationUtils.h │ └── VolumePreservationConstraint.cc ├── README.md ├── Scripts ├── install_depends.sh ├── install_mirtk_appimage.sh ├── make_appimage.sh ├── mirtk_bash_completion.sh ├── replace.sh └── travis.sh └── Templates ├── README.md └── mirtk-module └── 1.0 ├── BasisProject.cmake ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── _config.py ├── config ├── FindMIRTK.cmake ├── Settings.cmake └── config.h.in ├── src └── CMakeLists.txt ├── test ├── CMakeLists.txt └── testClassName.cc └── tools └── CMakeLists.txt /.bintray.yml: -------------------------------------------------------------------------------- 1 | { 2 | "package": { 3 | "name": "MIRTK", 4 | "repo": "AppImages", 5 | "subject": "schuhschuh", 6 | "desc": "Medical Image Registration ToolKit", 7 | "website_url": "https://mirtk.github.io", 8 | "issue_tracker_url": "https://github.com/BioMedIA/MIRTK/issues", 9 | "vcs_url": "https://github.com/BioMedIA/MIRTK.git", 10 | "licenses": ["Apache-2.0"], 11 | "labels": [ 12 | "BioMedIA", 13 | "MIRTK", 14 | "medical imaging", 15 | "image registration", 16 | "cortical surface reconstruction", 17 | "brain atlas construction" 18 | ], 19 | "public_download_numbers": false, 20 | "public_stats": false 21 | }, 22 | "version": { 23 | "name": "2.1-pre2", 24 | "desc": "AppImage of MIRTK master HEAD deployed by Travis CI build", 25 | "gpgSign": true 26 | }, 27 | "files": [ 28 | { 29 | "includePattern": "Deploy/(.*\\.AppImage)", 30 | "uploadPattern": "$1", 31 | "matrixParams": { 32 | "override": 1 33 | } 34 | } 35 | ], 36 | "publish": true 37 | } -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | Docker/Ubuntu/Dockerfile 3 | Docker/Ubuntu/.dockerignore 4 | build* 5 | Build* 6 | xcode* 7 | Xcode* 8 | Debug* 9 | Release* 10 | nbproject/private 11 | nbproject/configurations.xml 12 | CMakeLists.txt.user* 13 | .project 14 | .cproject 15 | **/.DS_Store 16 | .*.swp 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # The following files are text files and should always be written to the 2 | # repository with LF line endings, but checked out on MS Windows with CRLF. 3 | *.tmpl text 4 | *.txt text 5 | *.md text 6 | *.c text 7 | *.cpp text 8 | *.cxx text 9 | *.cc text 10 | *.h text 11 | *.hpp text 12 | *.hh text 13 | *.hxx text 14 | *.txx text 15 | *.py text 16 | *.pyx text 17 | *.sh text 18 | *.m text 19 | 20 | # The following files are binary files and should never be modified by Git. 21 | *.ubu binary 22 | *.ico binary 23 | *.nii binary 24 | *.gz binary 25 | *.hdr binary 26 | *.img binary 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [bB]uild* 2 | [xX]code 3 | Debug* 4 | Release* 5 | nbproject/private 6 | nbproject/configurations.xml 7 | CMakeLists.txt.user* 8 | .DS_Store 9 | .project 10 | .cproject 11 | .*.swp 12 | .idea 13 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ThirdParty/LBFGS"] 2 | path = ThirdParty/LBFGS 3 | url = https://github.com/MIRTK/LBFGS.git 4 | [submodule "Packages/Deformable"] 5 | path = Packages/Deformable 6 | url = https://github.com/MIRTK/Deformable.git 7 | [submodule "Packages/Mapping"] 8 | path = Packages/Mapping 9 | url = https://github.com/MIRTK/Mapping.git 10 | [submodule "Packages/DrawEM"] 11 | path = Packages/DrawEM 12 | url = https://github.com/MIRTK/DrawEM.git 13 | [submodule "Packages/Scripting"] 14 | path = Packages/Scripting 15 | url = https://github.com/MIRTK/Scripting.git 16 | [submodule "Packages/Viewer"] 17 | path = Packages/Viewer 18 | url = https://github.com/MIRTK/Viewer.git 19 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Linux", 5 | "includePath": [ 6 | "${workspaceFolder}/**" 7 | ], 8 | "defines": [], 9 | "compilerPath": "/usr/bin/clang", 10 | "cStandard": "c11", 11 | "cppStandard": "c++17", 12 | "intelliSenseMode": "clang-x64", 13 | "compileCommands": "${workspaceFolder}/Build/compile_commands.json" 14 | } 15 | ], 16 | "version": 4 17 | } -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "ms-python.python", 4 | "ms-python.vscode-pylance", 5 | "ms-vscode-remote.remote-ssh", 6 | "ms-vscode-remote.remote-ssh-edit", 7 | "visualstudioexptteam.vscodeintellicode", 8 | "ms-azuretools.vscode-docker", 9 | "eamodio.gitlens", 10 | "yzhang.markdown-all-in-one", 11 | "shd101wyy.markdown-preview-enhanced", 12 | "github.vscode-pull-request-github", 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /AUTHORS.txt: -------------------------------------------------------------------------------- 1 | .. This file is formatted using reStructuredText (reST) and included by Documentation/people.rst ! 2 | 3 | Software Development 4 | -------------------- 5 | 6 | - `Andreas Schuh`_ 7 | - `Daniel Rueckert`_ 8 | - `Julia Schnabel`_ 9 | 10 | 11 | Contributors 12 | ------------ 13 | 14 | - Wenzhe Shi 15 | 16 | - *Helped to reimplement and test his sparse free-form deformation in the Registration module.* 17 | 18 | - Stefan Pszczolkowski Parraguez 19 | 20 | - *Implemented the image gradient similarity measures of the Registration module.* 21 | - *Added statistical free-form deformation class to the Transformation module.* 22 | 23 | - Ghislain Antony Vaillant 24 | 25 | - *Reimplemented the transformation inversion code using Boost instead of GSL.* 26 | 27 | Advisors 28 | -------- 29 | 30 | - `Daniel Rueckert`_ 31 | 32 | 33 | .. _Daniel Rueckert: http://www.imperial.ac.uk/people/d.rueckert 34 | .. _Julia Schnabel: http://www.imagingcdt.com/about/cdt-management/professor-julia-schnabel 35 | .. _Andreas Schuh: http://www.andreasschuh.com/ 36 | -------------------------------------------------------------------------------- /Applications/lib/python/mirtk/atlas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BioMedIA/MIRTK/ef71a176c120447b3f95291901af7af8b4f00544/Applications/lib/python/mirtk/atlas/__init__.py -------------------------------------------------------------------------------- /Applications/lib/python/mirtk/batch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BioMedIA/MIRTK/ef71a176c120447b3f95291901af7af8b4f00544/Applications/lib/python/mirtk/batch/__init__.py -------------------------------------------------------------------------------- /Applications/src/extract-image-slice.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | Split image volume into individual slices. 5 | """ 6 | 7 | import mirtk 8 | import argparse 9 | 10 | 11 | if __name__ == '__main__': 12 | parser = argparse.ArgumentParser(description=__doc__) 13 | parser.add_argument('input', help="Input volume") 14 | parser.add_argument('output', help="Output file path") 15 | parser.add_argument('-z', type=int, default=0, help="Index of slice to extract") 16 | parser.add_argument('-n', type=int, default=0, 17 | help="Number of slices to extract. Extract all from -z to maximum index when non-positive") 18 | args = parser.parse_args() 19 | opts = {"Rz1": args.z} 20 | if args.n > 0: 21 | opts["Rz2"] = args.z + args.n - 1 22 | mirtk.extract_image_region(args.input, args.output, split='z', **opts) 23 | -------------------------------------------------------------------------------- /Applications/src/extract-image-volume.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | Split image sequence into individual volumes. 5 | """ 6 | 7 | import mirtk 8 | import argparse 9 | 10 | 11 | if __name__ == '__main__': 12 | parser = argparse.ArgumentParser(description=__doc__) 13 | parser.add_argument('input', help="Input sequence.") 14 | parser.add_argument('output', help="Output file path.") 15 | parser.add_argument('-t', type=int, default=0, help="Index of volume to extract.") 16 | parser.add_argument('-n', type=int, default=0, 17 | help="Number of volumes to extract. Extract all from -t to maximum index when non-positive.") 18 | args = parser.parse_args() 19 | opts = {"Rt1": args.t} 20 | if args.n > 0: 21 | opts["Rt2"] = args.t + args.n - 1 22 | mirtk.extract_image_region(args.input, args.output, split='t', **opts) 23 | -------------------------------------------------------------------------------- /CMake/Basis/BashUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisBashUtilities Bash Utilities 3 | @brief Auxiliary implementations for use in Bash scripts. 4 | 5 | @ingroup BasisUtilities 6 | */ 7 | -------------------------------------------------------------------------------- /CMake/Basis/CxxUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisCxxUtilities C++ Utilities 3 | @brief Auxiliary implementations for use in C++ source code. 4 | 5 | @ingroup BasisUtilities 6 | */ 7 | -------------------------------------------------------------------------------- /CMake/Basis/ExternalData_config.cmake.in: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # @file ExternalData_config.cmake.in 3 | # @brief Defines URL templates for external data. 4 | # 5 | # This file is configured and used by the ExternalData.cmake module. 6 | # 7 | # @ingroup CMakeTemplates 8 | ############################################################################## 9 | 10 | set (ExternalData_URL_TEMPLATES "@ExternalData_URL_TEMPLATES@") 11 | -------------------------------------------------------------------------------- /CMake/Basis/JavaUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisJavaUtilities Java Utilities 3 | @brief Auxiliary implementations for use in Java source code. 4 | 5 | @todo The Java utilities are not implemented yet. 6 | 7 | @ingroup BasisUtilities 8 | */ 9 | -------------------------------------------------------------------------------- /CMake/Basis/MatlabUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisMatlabUtilities MATLAB Utilities 3 | @brief Auxiliary implementations for use in MATLAB scripts. 4 | 5 | @todo The MATLAB utilities are not implemented yet. Note, however, that 6 | for certain utilities provided for other programming languages there 7 | is no use in MATLAB. For example, the ExecutableTargetInfo module is 8 | not required as MATLAB does not allow the execution of an executable 9 | from within MATLAB scripts. 10 | 11 | @ingroup BasisUtilities 12 | */ 13 | -------------------------------------------------------------------------------- /CMake/Basis/Modules.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisModules BASIS Modules 3 | @brief BASIS CMake modules. 4 | */ 5 | 6 | /** 7 | @defgroup BasisSettings Settings 8 | @brief CMake modules defining settings for BASIS. 9 | 10 | @ingroup BasisModules 11 | */ 12 | 13 | /** 14 | @defgroup BasisConfig Package Configuration 15 | @brief CMake package configuration. 16 | 17 | @ingroup BasisModules 18 | */ 19 | 20 | /** 21 | @defgroup BasisDirectories Project Directories 22 | @brief CMake variables of project directories. 23 | 24 | @sa http://www.rad.upenn.edu/sbia/software/basis/standard/fhs/ 25 | 26 | @ingroup BasisModules 27 | */ 28 | 29 | /** 30 | @defgroup BasisScriptConfig Script Configuration 31 | @brief Script configuration as used for the build of script targets. 32 | 33 | @sa http://www.rad.upenn.edu/sbia/software/basis/standard/scripttargets/ 34 | 35 | @ingroup BasisModules 36 | */ 37 | -------------------------------------------------------------------------------- /CMake/Basis/PerlUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisPerlUtilities Perl Utilities 3 | @brief Auxiliary implementations for use in Perl scripts. 4 | 5 | @ingroup BasisUtilities 6 | */ 7 | -------------------------------------------------------------------------------- /CMake/Basis/PythonUtilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisPythonUtilities Python Utilities 3 | @brief Auxiliary implementations for use in Python scripts. 4 | 5 | @ingroup BasisUtilities 6 | */ 7 | -------------------------------------------------------------------------------- /CMake/Basis/Utilities.dox: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup BasisUtilities BASIS Utilities 3 | @brief Auxiliary implementations in different programming languages. 4 | */ 5 | -------------------------------------------------------------------------------- /CMake/Basis/buildtimestamp.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem get some local settings from the registry 3 | rem see http://ss64.com/nt/date.html 4 | rem see http://ss64.com/nt/time.html 5 | for /f "tokens=3" %%d in ('reg query ^"HKEY_CURRENT_USER\Control Panel\International^" /v iCountry ^| find ^"REG_SZ^"') do (set country=%%d) 6 | for /f "tokens=3" %%d in ('reg query ^"HKEY_CURRENT_USER\Control Panel\International^" /v sDate ^| find ^"REG_SZ^"') do (set date_sep=%%d) 7 | for /f "tokens=3" %%d in ('reg query ^"HKEY_CURRENT_USER\Control Panel\International^" /v sTime ^| find ^"REG_SZ^"') do (set time_sep=%%d) 8 | rem get the date in the format YYYY.MM.DD 9 | if %country% equ 1 ( 10 | for /f "tokens=1-5 delims=%date_sep% " %%d in ("%date%") do (set build_date=%%g.%%e.%%f) 11 | ) else ( 12 | for /f "tokens=1-5 delims=%date_sep% " %%d in ("%date%") do (set build_date=%%e.%%f.%%g) 13 | ) 14 | rem get the time in the format HH:MM 15 | for /f "tokens=1-5 delims=%time_sep% " %%d in ("%time%") do (set build_time=%%d:%%e) 16 | for /f "tokens=1-5 delims=%time_sep%" %%d in ("%time%") do (set build_time_with_leading_space=%%d:%%e) 17 | if /i "%build_time_with_leading_space%" neq "%build_time%" (set build_time=0%build_time%) 18 | rem print build timestamp as used as alternative for PROJECT_RELEASE 19 | echo %build_date% (%build_time%) 20 | -------------------------------------------------------------------------------- /CMake/Basis/doxyfilter.bat.in: -------------------------------------------------------------------------------- 1 | :: ============================================================================ 2 | :: Copyright (c) 2011-2012 University of Pennsylvania 3 | :: Copyright (c) 2013-2016 Andreas Schuh 4 | :: All rights reserved. 5 | :: 6 | :: See COPYING file for license information or visit 7 | :: https://cmake-basis.github.io/download.html#license 8 | :: ============================================================================ 9 | 10 | rem @file doxyfilter.bat 11 | rem @brief Wrapper Batch program for Doxygen input filter. 12 | rem 13 | rem This Batch program simply calls the actual Doxygen filter executable. 14 | rem It is required on Windows because Doxygen (at least up to version 1.8.0) 15 | rem seems to have a problem with filter executables which have a space 16 | rem character in their file path. 17 | @"@DOXYGEN_INPUT_FILTER@" %* 18 | -------------------------------------------------------------------------------- /CMake/Basis/doxygen_footer.html.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /CMake/Basis/exportheader.cmake.in: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @INCLUDE_GUARD_NAME@ 3 | #define @INCLUDE_GUARD_NAME@ 4 | 5 | #ifdef @STATIC_DEFINE@ 6 | # define @EXPORT_MACRO_NAME@ 7 | # define @NO_EXPORT_MACRO_NAME@ 8 | #else 9 | # ifndef @EXPORT_MACRO_NAME@ 10 | # ifdef @EXPORT_IMPORT_CONDITION@ 11 | /* We are building this library */ 12 | # define @EXPORT_MACRO_NAME@ @DEFINE_EXPORT@ 13 | # else 14 | /* We are using this library */ 15 | # define @EXPORT_MACRO_NAME@ @DEFINE_IMPORT@ 16 | # endif 17 | # endif 18 | 19 | # ifndef @NO_EXPORT_MACRO_NAME@ 20 | # define @NO_EXPORT_MACRO_NAME@ @DEFINE_NO_EXPORT@ 21 | # endif 22 | #endif 23 | 24 | #ifndef @DEPRECATED_MACRO_NAME@ 25 | # define @DEPRECATED_MACRO_NAME@ @DEFINE_DEPRECATED@ 26 | #endif 27 | 28 | #ifndef @DEPRECATED_MACRO_NAME@_EXPORT 29 | # define @DEPRECATED_MACRO_NAME@_EXPORT @EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@ 30 | #endif 31 | 32 | #ifndef @DEPRECATED_MACRO_NAME@_NO_EXPORT 33 | # define @DEPRECATED_MACRO_NAME@_NO_EXPORT @NO_EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@ 34 | #endif 35 | 36 | #if @DEFINE_NO_DEPRECATED@ /* DEFINE_NO_DEPRECATED */ 37 | # ifndef @NO_DEPRECATED_MACRO_NAME@ 38 | # define @NO_DEPRECATED_MACRO_NAME@ 39 | # endif 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /CMake/Basis/sphinx_make.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PDFLATEX='@PDFLATEX_COMPILER@' 4 | [ -z "$PDFLATEX" ] || export PATH="$(dirname "$PDFLATEX"):$PATH" 5 | 6 | wd="$PWD" 7 | while [ $# -gt 0 ]; do 8 | case $1 in 9 | -C) wd="$2"; shift; ;; 10 | *) echo "Invalid argument: $1" > 1&2; exit 1; ;; 11 | esac 12 | shift 13 | done 14 | 15 | cd $wd && make 16 | -------------------------------------------------------------------------------- /CMake/Modules/FindARPACK.cmake: -------------------------------------------------------------------------------- 1 | find_library(ARPACK_LIBRARY 2 | NAMES arpack 3 | PATHS ${ARPACK_DIR}/lib 4 | ) 5 | 6 | include(FindPackageHandleStandardArgs) 7 | find_package_handle_standard_args(ARPACK DEFAULT_MSG ARPACK_LIBRARY) 8 | 9 | if (ARPACK_FOUND) 10 | get_filename_component(ARPACK_DIR ${ARPACK_LIBRARY} PATH) 11 | get_filename_component(ARPACK_DIR ${ARPACK_DIR} PATH) 12 | set(ARPACK_INCLUDE_DIR ${ARPACK_DIR}/include CACHE FILEPATH "ARPACK include directory.") 13 | mark_as_advanced(ARPACK_INCLUDE_DIR) 14 | endif () 15 | mark_as_advanced(ARPACK_LIBRARY) 16 | -------------------------------------------------------------------------------- /CMake/Modules/mirtkPolicies.cmake: -------------------------------------------------------------------------------- 1 | # ============================================================================== 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2016 Imperial College London 5 | # Copyright 2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================== 19 | 20 | if (_MIRTK_Policies_INCLUDED) 21 | return() 22 | else () 23 | set(_MIRTK_Policies_INCLUDED TRUE) 24 | endif () 25 | 26 | if (POLICY CMP0042) 27 | cmake_policy(SET CMP0042 NEW) 28 | endif () 29 | if (POLICY CMP0046) 30 | cmake_policy(SET CMP0046 NEW) 31 | endif () 32 | -------------------------------------------------------------------------------- /Docker/Ubuntu/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | -------------------------------------------------------------------------------- /Documentation/apidoc.rst: -------------------------------------------------------------------------------- 1 | .. _APIReference: 2 | 3 | API Reference 4 | ============= 5 | 6 | The following pages embed the in-source code API documentation of the public header files 7 | of the Medical Image Registration ToolKit (MIRT). This reference documentation was generated 8 | with Doxygen_. 9 | 10 | .. _Doxygen: http://www.doxygen.org/ 11 | 12 | .. toctree:: 13 | :maxdepth: 2 14 | 15 | apidoc/headers 16 | apidoc/namespace 17 | apidoc/classes 18 | -------------------------------------------------------------------------------- /Documentation/apidoc/classes.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _APIClasses: 3 | 4 | Classes 5 | ======= 6 | 7 | .. raw:: html 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /Documentation/apidoc/doxygen_footer.html.in: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Documentation/apidoc/doxygen_header.html.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $title 6 | 7 | $treeview 8 | $search 9 | $mathjax 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Documentation/apidoc/headers.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _APIHeaders: 3 | 4 | Header Files 5 | ============ 6 | 7 | .. raw:: html 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /Documentation/apidoc/namespace.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _APINamespace: 3 | 4 | Namespace 5 | ========= 6 | 7 | .. raw:: html 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /Documentation/changelog.rst: -------------------------------------------------------------------------------- 1 | .. title:: Release Notes 2 | 3 | .. meta:: 4 | :description: Summary of changes, new features, and bug fixes for each MIRTK release. 5 | 6 | ============= 7 | Release Notes 8 | ============= 9 | 10 | .. include:: ../ChangeLog.txt 11 | -------------------------------------------------------------------------------- /Documentation/commands.rst: -------------------------------------------------------------------------------- 1 | .. _Applications: 2 | 3 | ============ 4 | Applications 5 | ============ 6 | 7 | 8 | .. _CommandsSummary: 9 | 10 | Commands 11 | ======== 12 | 13 | .. include:: commands/_summary.rst 14 | 15 | 16 | Options 17 | ======= 18 | 19 | The following options are common to all ``mirtk`` commands. 20 | For a complete list of options for each command, see the help page of the respective 21 | command :ref:`linked above ` or the command help (``mirtk help ``). 22 | 23 | .. include:: commands/_options.rst 24 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/aggregate-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk aggregate-images -h" output 2 | 3 | 4 | Aggregates multiple (co-registered) input images into a single output image 5 | or report statistics thereof within a specified region of interest. 6 | The input images have to be defined in the same discrete finite image space. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/average-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-images -h" output 2 | 3 | 4 | Computes voxel-wise average image of the given (transformed) input images. 5 | 6 | The input images are optionally transformed by one or more image-to-average space 7 | transformation (:option:`average-images -dof`) or its inverse (:option:`average-images -dof_i`), respectively. 8 | When more than one transformation is given, these are concatenated via funtion 9 | composition. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/average-measure.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-measure -h" output 2 | 3 | 4 | Average voxel-wise measure within each region of interest (ROI). 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/average-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-overlap -h" output 2 | 3 | 4 | No description available. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/bisect-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk bisect-dof -h" output 2 | 3 | 4 | This command bisects a rigid or affine transformation by calculating the 5 | matrix square root of the transformation matrix. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/blend-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk blend-surface -h" output 2 | 3 | 4 | Blends two surface meshes with index based one-to-one point correspondences 5 | by taking the point coordinates for selected points from the first surface 6 | mesh and all others from the second surface mesh. Points at the boundary of 7 | the point selection mask are blended between the two mesh positions of the 8 | corresponding points. For other points, i.e., those further away from the 9 | boundary, the blending factor is either 0 or 1. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-boundary-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-boundary-map -h" output 2 | 3 | 4 | Compute a surface boundary map suitable for the computation of a 5 | surface map to a 2D primitive shape such as a disk, square, or polygon. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-distance-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-distance-map -h" output 2 | 3 | 4 | Computes distance transformation of binary object mask. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-exponential-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-exponential-map -h" output 2 | 3 | 4 | Reads a dense 3D (2D) stationary velocity field, computes the corresponding 5 | dense 3D (2D) displacement field, and writes the resulting vector field. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-filtering.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-filtering -h" output 2 | 3 | 4 | Calculates statistics by filtering with a kernel. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-gradients.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-gradients -h" output 2 | 3 | 4 | A blur with S.D. sigma is appled before the gradient is estimated 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-lie-bracket.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-lie-bracket -h" output 2 | 3 | 4 | Computes the Lie bracket of two vector fiels :math:`z = [x, y]`. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-logarithmic-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-logarithmic-map -h" output 2 | 3 | 4 | Reads a dense 3D (2D) displacement field, computes the corresponding 5 | stationary 3D (2D) velocity field, and writes the resulting vector field. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-surface-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-attributes -h" output 2 | 3 | 4 | Calculate attributes of input surface such as normals and curvature. 5 | If required, as in case of the curvature calculations, the input mesh 6 | is triangulated beforehand if it contains non-triangular faces. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-surface-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-map -h" output 2 | 3 | 4 | This tool computes a mapping for each point on the surface of a given input shape 5 | embedded in 3D space. The output is a (piecewise linear) function which assigns each 6 | point on the surface of the input shape one or more values. In case of non-closed surfaces, 7 | the output map can interpolate any values given on the boundary of the surface at the 8 | interior points of the surface. More common use cases are to compute a bijective mapping 9 | from one geometric shape to another geometric shape with identical topology. The resulting 10 | map is a parameterization of the surface of the input shape. Such parameterization can be 11 | used for texturing, object morphing, and surface registration. 12 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-surface-spectrum.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-spectrum -h" output 2 | 3 | 4 | Performs a spectral analysis of the general graph Laplacian matrix 5 | computed from the given input surface mesh(es). 6 | 7 | If :option:`calculate-surface-spectrum -target` surface is specified, the eigenvectors are reordered 8 | and their sign flipped to match the eigenvectors of the target surface mesh. 9 | 10 | If two input and output surface meshes are specified, a spectral analysis 11 | of the joint graph Laplacian is performed after an initial surface match. 12 | The type of initial point correspondences is defined by :option:`calculate-surface-spectrum -corr`. 13 | 14 | The implementation is based on the MATLAB code by Herve Lombaert of [1]_. 15 | 16 | .. [1] H. Lombaert, J. Sporring, and K. Siddiqi. 17 | Diffeomorphic Spectral Matching of Cortical Surfaces. 18 | In the 23rd Image Processing in Medical Imaging (IPMI), 2013. 19 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/calculate-volume-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-volume-map -h" output 2 | 3 | 4 | This tool computes a mapping for each point of the volume of a given input point set. 5 | The input is either a piecewise linear complex (PLC), i.e., a tesselation of the surface, 6 | or a tesselation of the shape's volume such as a tetrahedral mesh generated from a PLC. 7 | The output is a volumetric map which assigns points of the volume one or more values. 8 | The volumetric map can in general interpolate any values given on the surface of the map 9 | domain at the interior of the volume. More common use cases are to compute a bijective 10 | map from one volumetric shape to another with identical topology. The resulting map is a 11 | re-parameterization of the volume of the input shape. Such parameterization can be used for 12 | texturing, object deformation (cf. "cage deformation"), object morphing, and surface- 13 | constraint image registration. 14 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/change-label.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk change-label -h" output 2 | 3 | 4 | Changes the labels of the image inside the image 5 | according to probability maps .. with labels .. respectively and saves the result in 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/close-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk close-image -h" output 2 | 3 | 4 | Closes holes by first dilating and then eroding an input image. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/close-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk close-scalars -h" output 2 | 3 | 4 | Closes scalar data of an input point set by perfoming a dilation 5 | followed by the same number of erosions. When the input data array 6 | has more than one component, each component is processed separately. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/combine-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk combine-images -h" output 2 | 3 | 4 | Concatenate two or more either 2D images to form a 3D volume, 5 | or 3D volumes to form a 3D+t temporal sequence. All input images 6 | must have the same image attributes, except in either the third (2D) 7 | or the third and fourth (3D) image dimension. 8 | 9 | Moreover, given an :option:`combine-images -input` volume (sequence), additional 10 | slices (volumes) can be appended to it. Note that when :option:`combine-images -sort` 11 | is enabled, the additional slices (volumes) can be interleaved with the 12 | existing volume (sequence), allowing inserting a slice (volume) anywhere 13 | not only after the last slice (volume) of the input volume (sequence). 14 | 15 | Note that the slice thickness of the output volume when concatenating slices 16 | is set equal the average slice thickness of the input images, unless it is 17 | overridden by the :option:`combine-images -spacing` value. 18 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/compose-dofs.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk compose-dofs -h" output 2 | 3 | 4 | Computes the composition T of the given input transformations such that 5 | 6 | .. math:: 7 | 8 | T(x) = Tn o ... o T2 o T1(x) 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/construct-atlas.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk construct-atlas -h" output 2 | 3 | 4 | Construct (spatio-temporal) atlas from images of the same anatomy of different 5 | subjects. To construct a spatio-temporal atlas, images of subjects at 6 | different ages spread over the atlas time range are required. Please cite the 7 | following preprint when you use this command in your research (or the 8 | respective peer-reviewed article when accepted): Schuh et al., "Unbiased 9 | construction of a temporally consistent morphological atlas of neonatal brain 10 | development", bioRxiv, 2018. doi:10.1101/251512 11 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/convert-dof2csv.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-dof2csv -h" output 2 | 3 | 4 | Converts a transformation to a CSV file which can be loaded into STAR-CCM+ GUI. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/convert-dof2velo.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-dof2velo -h" output 2 | 3 | 4 | Reads a 3D transformation and writes a 3D(+t) free-form transformation 5 | which is parameterized by a (non-)stationary velocity field and approximates 6 | the displacements of the input transformation. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/convert-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-image -h" output 2 | 3 | 4 | Converts an image from one voxel type to another. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/convert-pointset-to-mat.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-pointset-to-mat -h" output 2 | 3 | 4 | Saves the points and faces of a vtkPolyData to a MAT file. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/convert-pointset.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-pointset -h" output 2 | 3 | 4 | Convert point set from one (file) format to another. 5 | 6 | If more than one input point sets is given, all input point sets 7 | are appended into a single point set before conversion. When all 8 | input point sets are of type vtkPolyData, the output point set 9 | is of type vtkPolyData. If more than one input point set is given 10 | and not all are of type vtkPolyData, the output point set is of type 11 | vtkUnstructuredGrid. 12 | 13 | The current implementation can only convert between different 14 | point set file formats based on the file name extension. 15 | Besides the common formats supported by VTK, it can also read/write 16 | BrainSuite .dfs files and write a Piecewise Linear Complex (PLC) 17 | B-Rep description in the TetGen formats .poly and .smesh. It also 18 | supports the Object File Format (.off) used by the CGAL library. 19 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/copy-pointset-attributes-from-mat.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk copy-pointset-attributes-from-mat -h" output 2 | 3 | 4 | Sets/Adds variables stored in a MAT file as point data of a VTK dataset. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/copy-pointset-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk copy-pointset-attributes -h" output 2 | 3 | 4 | Copies point and/or cell data from a source point set to a target point set 5 | and writes the resulting amended point set to the specified output file. 6 | When no separate output file is specified, the target point set is overwritten. 7 | This command can also convert from point data to cell data and vice versa. 8 | 9 | If the point sets have differing number of points or cells, respectively, 10 | zero entries are either added to the target arrays or only the first n tuples 11 | of the source arrays are copied. In case of the -points option, the remaining 12 | target points are kept unchanged. 13 | 14 | If the argument is given to any of the option below, the copied data 15 | array is set as the new "scalars", "vectors", "tcoords", or "normals" 16 | attribute, respectively, of the output point set. 17 | 18 | When no options are given, the :option:`copy-pointset-attributes -scalars` are copied over. 19 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/cut-brain.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk cut-brain -h" output 2 | 3 | 4 | Cut input brain volume/mask into left and/or right hemisphere(s). 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/decimate-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk decimate-surface -h" output 2 | 3 | 4 | Decimates a (triangular) mesh using VTK's ``vtkQuadricDecimation`` filter. 5 | In case of :option:`decimate-surface -pro`, the ``vtkDecimatePro`` filter is used instead. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/deform-mesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk deform-mesh -h" output 2 | 3 | 4 | Iteratively minimizes a deformable surface model energy functional. The gradient of 5 | the energy terms are the internal and external forces of the deformable surface model. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/delete-pointset-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk delete-pointset-attributes -h" output 2 | 3 | 4 | Delete point data and/or cell data from input point set. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/detect-edges.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk detect-edges -h" output 2 | 3 | 4 | Convolves the input image with an edge detection operator. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/dilate-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk dilate-image -h" output 2 | 3 | 4 | Dilates an input image by replacing a voxel's value by the maximum 5 | of the values of its neighboring voxels. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/dilate-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk dilate-scalars -h" output 2 | 3 | 4 | Dilates scalar data of an input point set by replacing a value by the 5 | maximum of the adjacent data values. When the input data array has 6 | more than one component, each component is processed separately. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/downsample-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk downsample-image -h" output 2 | 3 | 4 | Downsamples an image using an iterative Gaussian pyramid filter. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/draw-em.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk draw-em -h" output 2 | 3 | 4 | Runs the DrawEM segmentation at the input image with the provided N probability maps of structures. 5 | The main algorithm is outlined in [1]. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/edit-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk edit-dof -h" output 2 | 3 | 4 | This tool provides a generic way of modifying the parameters of a 5 | transformation (linear as well as non-linear). It uses the generic 6 | interface member function Transformation::Set whose arguments 7 | are the name of the parameter and the value to be set as string. 8 | 9 | To allow this tool to be used like any other command-line tool, 10 | it performs a generic conversion from option names to parameter names. 11 | While option names are all lowercase and start with one or two hyphens 12 | and use hyphens also as word separators, parameter names start with a 13 | captial letter and use spaces as word separators but also hyphens for 14 | some compound words. See examples below. 15 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/edit-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk edit-image -h" output 2 | 3 | 4 | Modifies the attributes of an image stored in the header. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/em-hard-segmentation.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk em-hard-segmentation -h" output 2 | 3 | 4 | Computes the hard segmentation of the N atlases. 5 | Optionally MRF smoothing can be additionally applied. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/em.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk em -h" output 2 | 3 | 4 | Runs EM segmentation at the input image with the provided N probability maps of structures. 5 | e.g. em input.nii.gz 5 bg.nii.gz csf.nii.gz gm.nii.gz wm.nii.gz dgm.nii.gz segmentation.nii.gz 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/erode-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk erode-image -h" output 2 | 3 | 4 | Erodes an input image by replacing a voxel's value by the minimum 5 | of the values of its neighboring voxels. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/erode-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk erode-scalars -h" output 2 | 3 | 4 | Erodes scalar data of an input point set by replacing a value by the 5 | minimum of the adjacent data values. When the input data array has 6 | more than one component, each component is processed separately. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-atlas.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-atlas -h" output 2 | 3 | 4 | Evaluate (spatio-temporal) atlas sharpness measures. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-cardiac-motion.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-cardiac-motion -h" output 2 | 3 | 4 | Evaluate cardiac motion. This command computes the displacement or strain 5 | at each vertex on a myocardial surface mesh. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-distance.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-distance -h" output 2 | 3 | 4 | Evaluate distance between two given point sets. With increased verbosity (see :option:`evaluate-distance -v`), 5 | the mean and standard deviation of the measured distances (verbosity level >=1) and the 6 | individual distance for each target point is reported (verbosity level >=2). 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-distortion.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-distortion -h" output 2 | 3 | 4 | Computes the distortion of a surface mesh under deformation, when 5 | mapped to the surface of another solid with equivalent topology, or 6 | flattened to the plane or sphere, respectively. 7 | 8 | The distortion measures are stored as point/cell data of the output 9 | dataset. If no output file name is given, the mean and standard deviation 10 | are reported even when the verbose option -v is not given. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-dof -h" output 2 | 3 | 4 | Calculates registration transformation quality measures such as the voxel-wise 5 | cumulative or mean inverse-consistency error (CICE/MICE) for pairs of forward 6 | transformation from target to source and backward transformation from source 7 | to target image. Another voxel-wise measure that can be computed using this 8 | program are the cumulative or mean transitivity error (CTE/MTE) given three 9 | transformations, from target (A) to B, from B to C, and from C to A again. 10 | 11 | This tool can further be used to evaluate the deviation of N affine transformations 12 | which map a template to each one of N images from the barycenter corresponding 13 | to the identity transformation. A larger deviation indicates a stronger bias of 14 | the template towards a subset of the images and/or unbalanced registration errors. 15 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-jacobian.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-jacobian -h" output 2 | 3 | 4 | Computes the Jacobian determinant of the given transformation at 5 | each target image voxel. If no image name is given, 6 | the statistics of the Jacobian determinant distribution are printed 7 | to STDOUT instead, such as min, max, and mean. 8 | 9 | By default, the output Jacobian determinant map has integral voxel type 10 | with Jacobian determinant values scaled by 100 prior to casting. 11 | Use either option :option:`evaluate-jacobian -float` or :option:`evaluate-jacobian -double` to output the 12 | unscaled determinants. 13 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-map -h" output 2 | 3 | 4 | Evaluates quantitative measures of a surface map or volumetric map 5 | such as its harmonic energy. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-overlap -h" output 2 | 3 | 4 | Computes the overlap of either two intensity images (average SI) 5 | or two segmentations (see :option:`evaluate-overlap -label`). If more than one source image 6 | is given, the overlap between each of these and the target is evaluated. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-similarity.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-similarity -h" output 2 | 3 | 4 | Evaluates the (dis-)similarity of two intensity images. 5 | 6 | If more than one source image is given, the (dis-)similarity between 7 | each of these and the target is evaluated. By default, common image 8 | (dis-)similarity metrics are reported. One or more metrics for the 9 | evaluation can be chosen using :option:`evaluate-similarity -metric`. 10 | 11 | The input source image can either be pre-aligned with the target image 12 | or the output of a previous registration can be specified using 13 | :option:`evaluate-similarity -dofin`. 14 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-surface-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-map -h" output 2 | 3 | 4 | Evaluates quantitative quality measures of a surface map. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-surface-mesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-mesh -h" output 2 | 3 | 4 | Prints surface mesh quality measures and topology information. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-surface-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-overlap -h" output 2 | 3 | 4 | Reports label statistics given two surface meshes and a text file 5 | listing the indices of corresponding points. The labels have to be 6 | stored as named point data array in both datasets. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/evaluate-volume-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-volume-map -h" output 2 | 3 | 4 | Evaluates quantitative measures of a surface map or volumetric map 5 | such as its harmonic energy. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-connected-components.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-connected-components -h" output 2 | 3 | 4 | Extracts connected components from input segmentation label image. 5 | By default, the largest connected component is extracted. 6 | In case of :option:`extract-connected-components -output-component-labels`, the labels 7 | of the components are written instead. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-connected-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-connected-points -h" output 2 | 3 | 4 | Extract (largest) connected components of the input point set. 5 | The connected components are sorted by size, where the largest 6 | connected component has index 0. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-image-region.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-region -h" output 2 | 3 | 4 | Crop/pad image by extracting a region of interest and optionally split the extracted region into separate image files, e.g., individual slices of a volume saved as individual image files. The output image region 5 | is chosen such that it contains the union of all specified axis-aligned 6 | rectangular input image regions. In case of :option:`extract-image-region -pad`, the output 7 | region does not have to be fully contained within the input image. 8 | Values outside are then set to the specified padding value. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-image-slice.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-slice -h" output 2 | 3 | 4 | No description available. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-image-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-volume -h" output 2 | 3 | 4 | No description available. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-pointset-cells.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-pointset-cells -h" output 2 | 3 | 4 | Extract point set/surface elements which meet the specified criteria. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-pointset-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-pointset-surface -h" output 2 | 3 | 4 | Extract surface of point set. If more than one input point set is given, 5 | it computes the boundary of the union, intersection, or difference volume 6 | computed from the volumes defined by the individual input surfaces. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/extract-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-surface -h" output 2 | 3 | 4 | Extract the isosurface from an intensity image or segmentation. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/fill-holes-nn-based.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk fill-holes-nn-based -h" output 2 | 3 | 4 | Fills holes in the input. 5 | The surrounding voxels of the suspected-holes are measured and if the majority belongs to the input they are filled. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/fill-holes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk fill-holes -h" output 2 | 3 | 4 | Fills holes in the input. 5 | Note: The code is adapted from fslmaths -fillh 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/flip-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk flip-image -h" output 2 | 3 | 4 | Swaps the two image dimensions at a time, in the order of the input 5 | options. Both, the image data and the coordinates of the image origin 6 | are swapped each time an input option is processed. To swap the image 7 | axes instead of the origin, use the :option:`flip-image -axes` option before the 8 | swap options. This option should be used to reorder the image dimensions 9 | without changing the world coordinates of the voxels. When swapping of 10 | the coordinate axes is enabled, the coordinates of the image origin are 11 | kept the same, i.e., :option:`flip-image -origin` is ignored. The default behavior 12 | is to swap the image data and the coordinates of the image origin. This 13 | may in many cases not have the desired effect, but has been this way 14 | already for some time. 15 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/help-rst.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk help-rst -h" output 2 | 3 | 4 | No description available. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/info.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk info -h" output 2 | 3 | 4 | Prints some useful information about the given input file, which 5 | can be an image, transformation (requires MIRTK Transformation module), 6 | or point set (requires MIRTK Point Set module). 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/init-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk init-dof -h" output 2 | 3 | 4 | This tool either creates a new affine transformation with the given parameters 5 | or approximates an affine transformation or non-rigid deformation given 6 | a set of corresponding landmarks or point displacements (see :option:`init-dof -displacements`). 7 | 8 | The output transformation is by default an affine transformation. 9 | One of the output options below can be used to request a different 10 | type of output transformation. This option should be given right 11 | after the output transformation name as it may be altered using 12 | one of the other output related options (e.g. disable :option:`init-dof -shearing`). 13 | 14 | An affine transformation is the composition of a shearing followed by 15 | a scaling, a rotation, and a translation. The homogeneous transformation 16 | matrix, A, is given by the matrix product: 17 | 18 | .. math:: 19 | 20 | A = Translate * Rotate * Scale * Shear, where Rotate = (Rz Ry Rx)^T 21 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/invert-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk invert-dof -h" output 2 | 3 | 4 | Inverts any transformation. In case of a non-rigid transformation 5 | the output transformation only approximates the true inverse. 6 | When the inverse mapping is not defined at a given point, the 7 | output transformation at this point depends on the interpolation 8 | numerical approximate solution found. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/kmeans.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk kmeans -h" output 2 | 3 | 4 | Runs k-means clustering at the input image with the provided K number of classes. 5 | e.g. kmeans input.nii.gz 10 output.nii.gz 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/map-boundary.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-boundary -h" output 2 | 3 | 4 | Compute a surface boundary map suitable for the computation of a 5 | surface map to a 2D primitive shape such as a disk, square, or polygon. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/map-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-surface -h" output 2 | 3 | 4 | This tool computes a mapping for each point on the surface of a given input shape 5 | embedded in 3D space. The output is a (piecewise linear) function which assigns each 6 | point on the surface of the input shape one or more values. In case of non-closed surfaces, 7 | the output map can interpolate any values given on the boundary of the surface at the 8 | interior points of the surface. More common use cases are to compute a bijective mapping 9 | from one geometric shape to another geometric shape with identical topology. The resulting 10 | map is a parameterization of the surface of the input shape. Such parameterization can be 11 | used for texturing, object morphing, and surface registration. 12 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/map-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-volume -h" output 2 | 3 | 4 | This tool computes a mapping for each point of the volume of a given input point set. 5 | The input is either a piecewise linear complex (PLC), i.e., a tesselation of the surface, 6 | or a tesselation of the shape's volume such as a tetrahedral mesh generated from a PLC. 7 | The output is a volumetric map which assigns points of the volume one or more values. 8 | The volumetric map can in general interpolate any values given on the surface of the map 9 | domain at the interior of the volume. More common use cases are to compute a bijective 10 | map from one volumetric shape to another with identical topology. The resulting map is a 11 | re-parameterization of the volume of the input shape. Such parameterization can be used for 12 | texturing, object deformation (cf. "cage deformation"), object morphing, and surface- 13 | constraint image registration. 14 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/match-histogram.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk match-histogram -h" output 2 | 3 | 4 | Matches the intensity distribution of the source image to match the 5 | distribution of the target image using a piecewise linear function [1]. 6 | 7 | :: 8 | 9 | [1] Nyul, Udupa, and Zhang, "New variants of a method of MRI scale standardization", 10 | IEEE TMI 19(2), pp. 143-150, 2000, http://dx.doi.org/10.1109/42.836373. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/match-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk match-points -h" output 2 | 3 | 4 | Writes for each point in a target point set its corresponding point in 5 | the source point set. The found correspondences can be either written 6 | to an output point set with indices and difference vectors stored as 7 | point data, or a text file listing for each target point index the 8 | index of the corresponding source point. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/measure-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk measure-volume -h" output 2 | 3 | 4 | Measures the volume of each label in the input image 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/merge-surfaces.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk merge-surfaces -h" output 2 | 3 | 4 | Merge surface meshes at segmentation label boundaries. The input 5 | surfaces must follow closely the boundary of a segment in the given 6 | image segmentation. Two surfaces are then merged at the longest 7 | common intersection boundary. When the two surfaces share no such 8 | segmentation boundary, the surfaces are not connected. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/normalize.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk normalize -h" output 2 | 3 | 4 | Normalizes the intensity distribution of an image to be similar to 5 | the intensity distribution of a given reference image. Moreover, 6 | this tool can be used to equalize the histograms of either a single 7 | given image or two images using the same transfer function. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/offset-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk offset-surface -h" output 2 | 3 | 4 | Displaces surface mesh points by a given amount along the surface normal 5 | to create an offset surface mesh. To prevent self-intersections, a dense 6 | offset surface can optionally first be sampled from an implicit offset 7 | surface model onto which each point of the input surface is projected. 8 | 9 | Another use of this tool is to enforce a minimum distance between two 10 | surface meshes such as in particular the inner (WM/cGM) and outer (cGM/CSF) 11 | cortical surfaces. Points of the surface are displaced if they 12 | are closer than the allowed offset distance to the second surface. 13 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/open-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk open-image -h" output 2 | 3 | 4 | Removes small connections between objects by first eroding and then 5 | dilating an input image. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/open-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk open-scalars -h" output 2 | 3 | 4 | Opens scalar data of an input point set by perfoming an erosion 5 | followed by the same number of dilations. When the input data array 6 | has more than one component, each component is processed separately. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/padding.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BioMedIA/MIRTK/ef71a176c120447b3f95291901af7af8b4f00544/Documentation/commands/_descriptions/padding.rst -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/project-onto-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk project-onto-surface -h" output 2 | 3 | 4 | Assign scalars or labels to either the vertices or the cells of a surface mesh. 5 | When the input is a real-valued image, the values are linearly interpolated. 6 | When the input is a segmentation image, the value assigned to a vertex/cell is the 7 | label of the nearest voxel in the given segmentation image. For the projection of 8 | cortical labels onto the WM/GM or GM/CSF boundary, use :option:`project-onto-surface -white` or :option:`project-onto-surface -pial`. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/recon-neonatal-cortex.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk recon-neonatal-cortex -h" output 2 | 3 | 4 | Reconstruct neonatal cortex from MR brain scan and Draw-EM segmentation 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/reflect-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk reflect-image -h" output 2 | 3 | 4 | Applies a one or more spatial reflections along an image axis. 5 | A more generic tool that can also be used to swap two axes is 6 | the flip-image command. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/remesh-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk remesh-surface -h" output 2 | 3 | 4 | Remeshes a surface mesh such that the resulting mesh has an average 5 | edge length within the specified limits. The input surface mesh is 6 | triangulated when necessary before the local remeshing passes. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/remesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk remesh -h" output 2 | 3 | 4 | Remeshes a surface mesh such that the resulting mesh has an average 5 | edge length within the specified limits. The input surface mesh is 6 | triangulated when necessary before the local remeshing passes. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/resample-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk resample-image -h" output 2 | 3 | 4 | Resamples an image on a lattice with specified voxel size. 5 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/smooth-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk smooth-image -h" output 2 | 3 | 4 | This program blurs an input image using a Gaussian filter with a standard 5 | deviation equal to the specified sigma value. The dimensions in which the 6 | filter recursively applied can be specified by the respective options below. 7 | Note that more than one of these options can be specified and that each can 8 | also be given more than once. The blurring of the respective dimensions 9 | is then performed in the order of the given blurring options. 10 | 11 | The output image is by default saved as short integers if the 12 | input image was of integral voxel type, otherwise as float image. 13 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/smooth-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk smooth-surface -h" output 2 | 3 | 4 | Smooths the node positions and/or scalar data of a surface mesh. 5 | 6 | When node positions are smoothed, iteratively move mesh nodes towards the 7 | centroid of the adjacent nodes. The relaxation factor (RF) determines how 8 | far each node moves towards the local centroid (0 <= lambda <= 1). The new position 9 | of a node is a weighted combination of its previous position and the neighbours' centroid. 10 | If lambda = 1, a node is moved all the way to the centroid, while lambda = 0 keeps a node 11 | at its previous position. 12 | 13 | For a low-pass filtering of the surface mesh, set :option:`smooth-surface -lambda` to a positive value in 14 | the range (0, 1), and :option:`smooth-surface -mu` to a negative value greater in magnitude than 15 | lambda, i.e., 0 < lambda < mu. For a detailed explanation of the parameters, 16 | cf. Taubin, Curve and Surface Smoothing without Shrinkage, ICCV 1995. 17 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/split-labels.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk split-labels -h" output 2 | 3 | 4 | Measures the probability of the different labels in the N label maps .. 5 | according to the weights (maps) .. (based on occurence). 6 | It then outputs the probability of the specified R labels .. to .. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/transform-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk transform-image -h" output 2 | 3 | 4 | Applies one or more transformations to an input image. Each voxel center 5 | of the target image is mapped by the composition of the transformations to 6 | the space of the source image. The output intensity for the target voxel is 7 | the source image intensity interpolated at the mapped point and cast to 8 | the output data type. When the input transformation is the identity map, 9 | this command effectively resamples the input image on the finite discrete 10 | grid of the :option:`transform-image -target` image. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_descriptions/transform-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk transform-points -h" output 2 | 3 | 4 | Applies one or more transformations to a set of points. Input point 5 | x, y, and z coordinates are either read from STDIN (space separated) or from a 6 | point set file. The corresponding transformed coordinates are then written 7 | either to STDOUT or an output point set file, respectively. If multiple 8 | transformations are specified, these are applied in the order as they appear 9 | on the command line. 10 | 11 | :: 12 | 13 | Attention: When both :option:`transform-points -target` and :option:`transform-points -source` arguments are given, 14 | the points are first mapped from target world to image space and then 15 | the image to world transformation of the source image is applied. 16 | This is a relict from the corresponding IRTK command... 17 | -------------------------------------------------------------------------------- /Documentation/commands/_options.rst: -------------------------------------------------------------------------------- 1 | Standard options 2 | ---------------- 3 | 4 | .. option:: -v, -verbose [n] 5 | 6 | Increase/Set verbosity of output messages. (default: 0) 7 | 8 | .. option:: -debug [level] 9 | 10 | Increase/Set debug level for output of intermediate results. (default: 0) 11 | 12 | .. option:: -version [major.minor] 13 | 14 | Print version and exit or set version to emulate. 15 | 16 | .. option:: -revision 17 | 18 | Print revision (or version) number only and exit. 19 | 20 | .. option:: -h, -help 21 | 22 | Print help and exit. 23 | 24 | 25 | Terminal options 26 | ---------------- 27 | 28 | .. option:: -color, -nocolor 29 | 30 | Enable/disable colored output. (default: off) 31 | 32 | 33 | Parallelization options 34 | ----------------------- 35 | 36 | .. option:: -threads 37 | 38 | Use maximal threads for parallel execution. (default: automatic) 39 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/aggregate-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk aggregate-images -h" output 2 | 3 | .. |aggregate-images-brief-description| replace:: 4 | 5 | Aggregates multiple (co-registered) input images into a single output image 6 | or report statistics thereof within a specified region of interest. 7 | The input images have to be defined in the same discrete finite image space. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/average-dofs.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-dofs -h" output 2 | 3 | .. |average-dofs-brief-description| replace:: 4 | 5 | This command averages a number of input transformations. 6 | It can be used to construct a brain image atlas and has been 7 | utilized for the construction of the spatio-temporal fetal/neonatal 8 | brain atlases available at http://brain-development.org/brain-atlases/. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/average-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-images -h" output 2 | 3 | .. |average-images-brief-description| replace:: 4 | 5 | Computes voxel-wise average image of the given (transformed) input images. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/average-measure.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-measure -h" output 2 | 3 | .. |average-measure-brief-description| replace:: 4 | 5 | Average voxel-wise measure within each region of interest (ROI). 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/average-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk average-overlap -h" output 2 | 3 | .. |average-overlap-brief-description| replace:: 4 | 5 | No description available. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/bisect-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk bisect-dof -h" output 2 | 3 | .. |bisect-dof-brief-description| replace:: 4 | 5 | This command bisects a rigid or affine transformation by calculating the 6 | matrix square root of the transformation matrix. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/blend-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk blend-surface -h" output 2 | 3 | .. |blend-surface-brief-description| replace:: 4 | 5 | Blends two surface meshes with index based one-to-one point correspondences 6 | by taking the point coordinates for selected points from the first surface 7 | mesh and all others from the second surface mesh. Points at the boundary of 8 | the point selection mask are blended between the two mesh positions of the 9 | corresponding points. For other points, i.e., those further away from the 10 | boundary, the blending factor is either 0 or 1. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-boundary-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-boundary-map -h" output 2 | 3 | .. |calculate-boundary-map-brief-description| replace:: 4 | 5 | Compute a surface boundary map suitable for the computation of a 6 | surface map to a 2D primitive shape such as a disk, square, or polygon. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-distance-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-distance-map -h" output 2 | 3 | .. |calculate-distance-map-brief-description| replace:: 4 | 5 | Computes distance transformation of binary object mask. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-element-wise.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-element-wise -h" output 2 | 3 | .. |calculate-element-wise-brief-description| replace:: 4 | 5 | This tool can be used for basic calculations from a sequence of data values read 6 | either from an image or a VTK pointset. It can be used, for example, to add two 7 | data sequences and to divide the result by a constant. The current sequence can 8 | be written to an output file again using :option:`calculate-element-wise -out`. Additionally, statistics 9 | of the current data sequence can be computed such as the mean or variance. 10 | The order of the data transformations and calculation of statistics is determined 11 | by the order of the command-line arguments. 12 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-exponential-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-exponential-map -h" output 2 | 3 | .. |calculate-exponential-map-brief-description| replace:: 4 | 5 | Reads a dense 3D (2D) stationary velocity field, computes the corresponding 6 | dense 3D (2D) displacement field, and writes the resulting vector field. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-filtering.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-filtering -h" output 2 | 3 | .. |calculate-filtering-brief-description| replace:: 4 | 5 | Calculates statistics by filtering with a kernel. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-gradients.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-gradients -h" output 2 | 3 | .. |calculate-gradients-brief-description| replace:: 4 | 5 | A blur with S.D. sigma is appled before the gradient is estimated 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-lie-bracket.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-lie-bracket -h" output 2 | 3 | .. |calculate-lie-bracket-brief-description| replace:: 4 | 5 | Computes the Lie bracket of two vector fiels :math:`z = [x, y]`. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-logarithmic-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-logarithmic-map -h" output 2 | 3 | .. |calculate-logarithmic-map-brief-description| replace:: 4 | 5 | Reads a dense 3D (2D) displacement field, computes the corresponding 6 | stationary 3D (2D) velocity field, and writes the resulting vector field. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-surface-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-attributes -h" output 2 | 3 | .. |calculate-surface-attributes-brief-description| replace:: 4 | 5 | Calculate attributes of input surface such as normals and curvature. 6 | If required, as in case of the curvature calculations, the input mesh 7 | is triangulated beforehand if it contains non-triangular faces. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-surface-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-map -h" output 2 | 3 | .. |calculate-surface-map-brief-description| replace:: 4 | 5 | This tool computes a mapping for each point on the surface of a given input shape 6 | embedded in 3D space. The output is a (piecewise linear) function which assigns each 7 | point on the surface of the input shape one or more values. In case of non-closed surfaces, 8 | the output map can interpolate any values given on the boundary of the surface at the 9 | interior points of the surface. More common use cases are to compute a bijective mapping 10 | from one geometric shape to another geometric shape with identical topology. The resulting 11 | map is a parameterization of the surface of the input shape. Such parameterization can be 12 | used for texturing, object morphing, and surface registration. 13 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-surface-spectrum.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-surface-spectrum -h" output 2 | 3 | .. |calculate-surface-spectrum-brief-description| replace:: 4 | 5 | Performs a spectral analysis of the general graph Laplacian matrix 6 | computed from the given input surface mesh(es). 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate-volume-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate-volume-map -h" output 2 | 3 | .. |calculate-volume-map-brief-description| replace:: 4 | 5 | This tool computes a mapping for each point of the volume of a given input point set. 6 | The input is either a piecewise linear complex (PLC), i.e., a tesselation of the surface, 7 | or a tesselation of the shape's volume such as a tetrahedral mesh generated from a PLC. 8 | The output is a volumetric map which assigns points of the volume one or more values. 9 | The volumetric map can in general interpolate any values given on the surface of the map 10 | domain at the interior of the volume. More common use cases are to compute a bijective 11 | map from one volumetric shape to another with identical topology. The resulting map is a 12 | re-parameterization of the volume of the input shape. Such parameterization can be used for 13 | texturing, object deformation (cf. "cage deformation"), object morphing, and surface- 14 | constraint image registration. 15 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/calculate.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk calculate -h" output 2 | 3 | .. |calculate-brief-description| replace:: 4 | 5 | This tool can be used for basic calculations from a sequence of data values read 6 | either from an image or a VTK pointset. It can be used, for example, to add two 7 | data sequences and to divide the result by a constant. The current sequence can 8 | be written to an output file again using :option:`calculate -out`. Additionally, statistics 9 | of the current data sequence can be computed such as the mean or variance. 10 | The order of the data transformations and calculation of statistics is determined 11 | by the order of the command-line arguments. 12 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/change-label.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk change-label -h" output 2 | 3 | .. |change-label-brief-description| replace:: 4 | 5 | Changes the labels of the image inside the image 6 | according to probability maps .. with labels .. respectively and saves the result in 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/close-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk close-image -h" output 2 | 3 | .. |close-image-brief-description| replace:: 4 | 5 | Closes holes by first dilating and then eroding an input image. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/close-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk close-scalars -h" output 2 | 3 | .. |close-scalars-brief-description| replace:: 4 | 5 | Closes scalar data of an input point set by perfoming a dilation 6 | followed by the same number of erosions. When the input data array 7 | has more than one component, each component is processed separately. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/combine-images.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk combine-images -h" output 2 | 3 | .. |combine-images-brief-description| replace:: 4 | 5 | Concatenate two or more either 2D images to form a 3D volume, 6 | or 3D volumes to form a 3D+t temporal sequence. All input images 7 | must have the same image attributes, except in either the third (2D) 8 | or the third and fourth (3D) image dimension. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/compose-dofs.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk compose-dofs -h" output 2 | 3 | .. |compose-dofs-brief-description| replace:: 4 | 5 | Computes the composition T of the given input transformations such that 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/compose-maps.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk compose-maps -h" output 2 | 3 | .. |compose-maps-brief-description| replace:: 4 | 5 | Computes the composition g of the given input maps such that 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/construct-atlas.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk construct-atlas -h" output 2 | 3 | .. |construct-atlas-brief-description| replace:: 4 | 5 | Construct (spatio-temporal) atlas from images of the same anatomy of different 6 | subjects. To construct a spatio-temporal atlas, images of subjects at 7 | different ages spread over the atlas time range are required. Please cite the 8 | following preprint when you use this command in your research (or the 9 | respective peer-reviewed article when accepted): Schuh et al., "Unbiased 10 | construction of a temporally consistent morphological atlas of neonatal brain 11 | development", bioRxiv, 2018. doi:10.1101/251512 12 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-dof -h" output 2 | 3 | .. |convert-dof-brief-description| replace:: 4 | 5 | Converts between different transformation file formats: 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-dof2csv.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-dof2csv -h" output 2 | 3 | .. |convert-dof2csv-brief-description| replace:: 4 | 5 | Converts a transformation to a CSV file which can be loaded into STAR-CCM+ GUI. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-dof2velo.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-dof2velo -h" output 2 | 3 | .. |convert-dof2velo-brief-description| replace:: 4 | 5 | Reads a 3D transformation and writes a 3D(+t) free-form transformation 6 | which is parameterized by a (non-)stationary velocity field and approximates 7 | the displacements of the input transformation. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-image -h" output 2 | 3 | .. |convert-image-brief-description| replace:: 4 | 5 | Converts an image from one voxel type to another. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-pointset-to-mat.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-pointset-to-mat -h" output 2 | 3 | .. |convert-pointset-to-mat-brief-description| replace:: 4 | 5 | Saves the points and faces of a vtkPolyData to a MAT file. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/convert-pointset.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk convert-pointset -h" output 2 | 3 | .. |convert-pointset-brief-description| replace:: 4 | 5 | Convert point set from one (file) format to another. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/copy-pointset-attributes-from-mat.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk copy-pointset-attributes-from-mat -h" output 2 | 3 | .. |copy-pointset-attributes-from-mat-brief-description| replace:: 4 | 5 | Sets/Adds variables stored in a MAT file as point data of a VTK dataset. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/copy-pointset-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk copy-pointset-attributes -h" output 2 | 3 | .. |copy-pointset-attributes-brief-description| replace:: 4 | 5 | Copies point and/or cell data from a source point set to a target point set 6 | and writes the resulting amended point set to the specified output file. 7 | When no separate output file is specified, the target point set is overwritten. 8 | This command can also convert from point data to cell data and vice versa. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/cut-brain.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk cut-brain -h" output 2 | 3 | .. |cut-brain-brief-description| replace:: 4 | 5 | Cut input brain volume/mask into left and/or right hemisphere(s). 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/decimate-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk decimate-surface -h" output 2 | 3 | .. |decimate-surface-brief-description| replace:: 4 | 5 | Decimates a (triangular) mesh using VTK's ``vtkQuadricDecimation`` filter. 6 | In case of :option:`decimate-surface -pro`, the ``vtkDecimatePro`` filter is used instead. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/deform-mesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk deform-mesh -h" output 2 | 3 | .. |deform-mesh-brief-description| replace:: 4 | 5 | Iteratively minimizes a deformable surface model energy functional. The gradient of 6 | the energy terms are the internal and external forces of the deformable surface model. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/delete-pointset-attributes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk delete-pointset-attributes -h" output 2 | 3 | .. |delete-pointset-attributes-brief-description| replace:: 4 | 5 | Delete point data and/or cell data from input point set. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/detect-edges.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk detect-edges -h" output 2 | 3 | .. |detect-edges-brief-description| replace:: 4 | 5 | Convolves the input image with an edge detection operator. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/dilate-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk dilate-image -h" output 2 | 3 | .. |dilate-image-brief-description| replace:: 4 | 5 | Dilates an input image by replacing a voxel's value by the maximum 6 | of the values of its neighboring voxels. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/dilate-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk dilate-scalars -h" output 2 | 3 | .. |dilate-scalars-brief-description| replace:: 4 | 5 | Dilates scalar data of an input point set by replacing a value by the 6 | maximum of the adjacent data values. When the input data array has 7 | more than one component, each component is processed separately. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/downsample-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk downsample-image -h" output 2 | 3 | .. |downsample-image-brief-description| replace:: 4 | 5 | Downsamples an image using an iterative Gaussian pyramid filter. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/draw-em.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk draw-em -h" output 2 | 3 | .. |draw-em-brief-description| replace:: 4 | 5 | Runs the DrawEM segmentation at the input image with the provided N probability maps of structures. 6 | The main algorithm is outlined in [1]. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/edit-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk edit-dof -h" output 2 | 3 | .. |edit-dof-brief-description| replace:: 4 | 5 | This tool provides a generic way of modifying the parameters of a 6 | transformation (linear as well as non-linear). It uses the generic 7 | interface member function Transformation::Set whose arguments 8 | are the name of the parameter and the value to be set as string. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/edit-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk edit-image -h" output 2 | 3 | .. |edit-image-brief-description| replace:: 4 | 5 | Modifies the attributes of an image stored in the header. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/em-hard-segmentation.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk em-hard-segmentation -h" output 2 | 3 | .. |em-hard-segmentation-brief-description| replace:: 4 | 5 | Computes the hard segmentation of the N atlases. 6 | Optionally MRF smoothing can be additionally applied. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/em.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk em -h" output 2 | 3 | .. |em-brief-description| replace:: 4 | 5 | Runs EM segmentation at the input image with the provided N probability maps of structures. 6 | e.g. em input.nii.gz 5 bg.nii.gz csf.nii.gz gm.nii.gz wm.nii.gz dgm.nii.gz segmentation.nii.gz 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/erode-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk erode-image -h" output 2 | 3 | .. |erode-image-brief-description| replace:: 4 | 5 | Erodes an input image by replacing a voxel's value by the minimum 6 | of the values of its neighboring voxels. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/erode-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk erode-scalars -h" output 2 | 3 | .. |erode-scalars-brief-description| replace:: 4 | 5 | Erodes scalar data of an input point set by replacing a value by the 6 | minimum of the adjacent data values. When the input data array has 7 | more than one component, each component is processed separately. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-atlas.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-atlas -h" output 2 | 3 | .. |evaluate-atlas-brief-description| replace:: 4 | 5 | Evaluate (spatio-temporal) atlas sharpness measures. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-cardiac-motion.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-cardiac-motion -h" output 2 | 3 | .. |evaluate-cardiac-motion-brief-description| replace:: 4 | 5 | Evaluate cardiac motion. This command computes the displacement or strain 6 | at each vertex on a myocardial surface mesh. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-distance.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-distance -h" output 2 | 3 | .. |evaluate-distance-brief-description| replace:: 4 | 5 | Evaluate distance between two given point sets. With increased verbosity (see :option:`evaluate-distance -v`), 6 | the mean and standard deviation of the measured distances (verbosity level >=1) and the 7 | individual distance for each target point is reported (verbosity level >=2). 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-distortion.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-distortion -h" output 2 | 3 | .. |evaluate-distortion-brief-description| replace:: 4 | 5 | Computes the distortion of a surface mesh under deformation, when 6 | mapped to the surface of another solid with equivalent topology, or 7 | flattened to the plane or sphere, respectively. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-dof -h" output 2 | 3 | .. |evaluate-dof-brief-description| replace:: 4 | 5 | Calculates registration transformation quality measures such as the voxel-wise 6 | cumulative or mean inverse-consistency error (CICE/MICE) for pairs of forward 7 | transformation from target to source and backward transformation from source 8 | to target image. Another voxel-wise measure that can be computed using this 9 | program are the cumulative or mean transitivity error (CTE/MTE) given three 10 | transformations, from target (A) to B, from B to C, and from C to A again. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-jacobian.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-jacobian -h" output 2 | 3 | .. |evaluate-jacobian-brief-description| replace:: 4 | 5 | Computes the Jacobian determinant of the given transformation at 6 | each target image voxel. If no image name is given, 7 | the statistics of the Jacobian determinant distribution are printed 8 | to STDOUT instead, such as min, max, and mean. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-map -h" output 2 | 3 | .. |evaluate-map-brief-description| replace:: 4 | 5 | Evaluates quantitative measures of a surface map or volumetric map 6 | such as its harmonic energy. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-overlap -h" output 2 | 3 | .. |evaluate-overlap-brief-description| replace:: 4 | 5 | Computes the overlap of either two intensity images (average SI) 6 | or two segmentations (see :option:`evaluate-overlap -label`). If more than one source image 7 | is given, the overlap between each of these and the target is evaluated. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-similarity.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-similarity -h" output 2 | 3 | .. |evaluate-similarity-brief-description| replace:: 4 | 5 | Evaluates the (dis-)similarity of two intensity images. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-surface-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-map -h" output 2 | 3 | .. |evaluate-surface-map-brief-description| replace:: 4 | 5 | Evaluates quantitative quality measures of a surface map. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-surface-mesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-mesh -h" output 2 | 3 | .. |evaluate-surface-mesh-brief-description| replace:: 4 | 5 | Prints surface mesh quality measures and topology information. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-surface-overlap.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-surface-overlap -h" output 2 | 3 | .. |evaluate-surface-overlap-brief-description| replace:: 4 | 5 | Reports label statistics given two surface meshes and a text file 6 | listing the indices of corresponding points. The labels have to be 7 | stored as named point data array in both datasets. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/evaluate-volume-map.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk evaluate-volume-map -h" output 2 | 3 | .. |evaluate-volume-map-brief-description| replace:: 4 | 5 | Evaluates quantitative measures of a surface map or volumetric map 6 | such as its harmonic energy. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-connected-components.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-connected-components -h" output 2 | 3 | .. |extract-connected-components-brief-description| replace:: 4 | 5 | Extracts connected components from input segmentation label image. 6 | By default, the largest connected component is extracted. 7 | In case of :option:`extract-connected-components -output-component-labels`, the labels 8 | of the components are written instead. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-connected-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-connected-points -h" output 2 | 3 | .. |extract-connected-points-brief-description| replace:: 4 | 5 | Extract (largest) connected components of the input point set. 6 | The connected components are sorted by size, where the largest 7 | connected component has index 0. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-image-region.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-region -h" output 2 | 3 | .. |extract-image-region-brief-description| replace:: 4 | 5 | Crop/pad image by extracting a region of interest and optionally split the extracted region into separate image files, e.g., individual slices of a volume saved as individual image files. The output image region 6 | is chosen such that it contains the union of all specified axis-aligned 7 | rectangular input image regions. In case of :option:`extract-image-region -pad`, the output 8 | region does not have to be fully contained within the input image. 9 | Values outside are then set to the specified padding value. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-image-slice.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-slice -h" output 2 | 3 | .. |extract-image-slice-brief-description| replace:: 4 | 5 | No description available. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-image-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-image-volume -h" output 2 | 3 | .. |extract-image-volume-brief-description| replace:: 4 | 5 | No description available. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-pointset-cells.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-pointset-cells -h" output 2 | 3 | .. |extract-pointset-cells-brief-description| replace:: 4 | 5 | Extract point set/surface elements which meet the specified criteria. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-pointset-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-pointset-surface -h" output 2 | 3 | .. |extract-pointset-surface-brief-description| replace:: 4 | 5 | Extract surface of point set. If more than one input point set is given, 6 | it computes the boundary of the union, intersection, or difference volume 7 | computed from the volumes defined by the individual input surfaces. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/extract-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk extract-surface -h" output 2 | 3 | .. |extract-surface-brief-description| replace:: 4 | 5 | Extract the isosurface from an intensity image or segmentation. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/fill-holes-nn-based.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk fill-holes-nn-based -h" output 2 | 3 | .. |fill-holes-nn-based-brief-description| replace:: 4 | 5 | Fills holes in the input. 6 | The surrounding voxels of the suspected-holes are measured and if the majority belongs to the input they are filled. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/fill-holes.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk fill-holes -h" output 2 | 3 | .. |fill-holes-brief-description| replace:: 4 | 5 | Fills holes in the input. 6 | Note: The code is adapted from fslmaths -fillh 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/flip-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk flip-image -h" output 2 | 3 | .. |flip-image-brief-description| replace:: 4 | 5 | Swaps the two image dimensions at a time, in the order of the input 6 | options. Both, the image data and the coordinates of the image origin 7 | are swapped each time an input option is processed. To swap the image 8 | axes instead of the origin, use the :option:`flip-image -axes` option before the 9 | swap options. This option should be used to reorder the image dimensions 10 | without changing the world coordinates of the voxels. When swapping of 11 | the coordinate axes is enabled, the coordinates of the image origin are 12 | kept the same, i.e., :option:`flip-image -origin` is ignored. The default behavior 13 | is to swap the image data and the coordinates of the image origin. This 14 | may in many cases not have the desired effect, but has been this way 15 | already for some time. 16 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/help-rst.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk help-rst -h" output 2 | 3 | .. |help-rst-brief-description| replace:: 4 | 5 | No description available. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/info.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk info -h" output 2 | 3 | .. |info-brief-description| replace:: 4 | 5 | Prints some useful information about the given input file, which 6 | can be an image, transformation (requires MIRTK Transformation module), 7 | or point set (requires MIRTK Point Set module). 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/init-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk init-dof -h" output 2 | 3 | .. |init-dof-brief-description| replace:: 4 | 5 | This tool either creates a new affine transformation with the given parameters 6 | or approximates an affine transformation or non-rigid deformation given 7 | a set of corresponding landmarks or point displacements (see :option:`init-dof -displacements`). 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/invert-dof.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk invert-dof -h" output 2 | 3 | .. |invert-dof-brief-description| replace:: 4 | 5 | Inverts any transformation. In case of a non-rigid transformation 6 | the output transformation only approximates the true inverse. 7 | When the inverse mapping is not defined at a given point, the 8 | output transformation at this point depends on the interpolation 9 | numerical approximate solution found. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/kmeans.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk kmeans -h" output 2 | 3 | .. |kmeans-brief-description| replace:: 4 | 5 | Runs k-means clustering at the input image with the provided K number of classes. 6 | e.g. kmeans input.nii.gz 10 output.nii.gz 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/map-boundary.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-boundary -h" output 2 | 3 | .. |map-boundary-brief-description| replace:: 4 | 5 | Compute a surface boundary map suitable for the computation of a 6 | surface map to a 2D primitive shape such as a disk, square, or polygon. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/map-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-surface -h" output 2 | 3 | .. |map-surface-brief-description| replace:: 4 | 5 | This tool computes a mapping for each point on the surface of a given input shape 6 | embedded in 3D space. The output is a (piecewise linear) function which assigns each 7 | point on the surface of the input shape one or more values. In case of non-closed surfaces, 8 | the output map can interpolate any values given on the boundary of the surface at the 9 | interior points of the surface. More common use cases are to compute a bijective mapping 10 | from one geometric shape to another geometric shape with identical topology. The resulting 11 | map is a parameterization of the surface of the input shape. Such parameterization can be 12 | used for texturing, object morphing, and surface registration. 13 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/map-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk map-volume -h" output 2 | 3 | .. |map-volume-brief-description| replace:: 4 | 5 | This tool computes a mapping for each point of the volume of a given input point set. 6 | The input is either a piecewise linear complex (PLC), i.e., a tesselation of the surface, 7 | or a tesselation of the shape's volume such as a tetrahedral mesh generated from a PLC. 8 | The output is a volumetric map which assigns points of the volume one or more values. 9 | The volumetric map can in general interpolate any values given on the surface of the map 10 | domain at the interior of the volume. More common use cases are to compute a bijective 11 | map from one volumetric shape to another with identical topology. The resulting map is a 12 | re-parameterization of the volume of the input shape. Such parameterization can be used for 13 | texturing, object deformation (cf. "cage deformation"), object morphing, and surface- 14 | constraint image registration. 15 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/match-histogram.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk match-histogram -h" output 2 | 3 | .. |match-histogram-brief-description| replace:: 4 | 5 | Matches the intensity distribution of the source image to match the 6 | distribution of the target image using a piecewise linear function [1]. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/match-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk match-points -h" output 2 | 3 | .. |match-points-brief-description| replace:: 4 | 5 | Writes for each point in a target point set its corresponding point in 6 | the source point set. The found correspondences can be either written 7 | to an output point set with indices and difference vectors stored as 8 | point data, or a text file listing for each target point index the 9 | index of the corresponding source point. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/measure-volume.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk measure-volume -h" output 2 | 3 | .. |measure-volume-brief-description| replace:: 4 | 5 | Measures the volume of each label in the input image 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/merge-surfaces.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk merge-surfaces -h" output 2 | 3 | .. |merge-surfaces-brief-description| replace:: 4 | 5 | Merge surface meshes at segmentation label boundaries. The input 6 | surfaces must follow closely the boundary of a segment in the given 7 | image segmentation. Two surfaces are then merged at the longest 8 | common intersection boundary. When the two surfaces share no such 9 | segmentation boundary, the surfaces are not connected. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/normalize.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk normalize -h" output 2 | 3 | .. |normalize-brief-description| replace:: 4 | 5 | Normalizes the intensity distribution of an image to be similar to 6 | the intensity distribution of a given reference image. Moreover, 7 | this tool can be used to equalize the histograms of either a single 8 | given image or two images using the same transfer function. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/offset-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk offset-surface -h" output 2 | 3 | .. |offset-surface-brief-description| replace:: 4 | 5 | Displaces surface mesh points by a given amount along the surface normal 6 | to create an offset surface mesh. To prevent self-intersections, a dense 7 | offset surface can optionally first be sampled from an implicit offset 8 | surface model onto which each point of the input surface is projected. 9 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/open-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk open-image -h" output 2 | 3 | .. |open-image-brief-description| replace:: 4 | 5 | Removes small connections between objects by first eroding and then 6 | dilating an input image. 7 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/open-scalars.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk open-scalars -h" output 2 | 3 | .. |open-scalars-brief-description| replace:: 4 | 5 | Opens scalar data of an input point set by perfoming an erosion 6 | followed by the same number of dilations. When the input data array 7 | has more than one component, each component is processed separately. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/project-onto-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk project-onto-surface -h" output 2 | 3 | .. |project-onto-surface-brief-description| replace:: 4 | 5 | Assign scalars or labels to either the vertices or the cells of a surface mesh. 6 | When the input is a real-valued image, the values are linearly interpolated. 7 | When the input is a segmentation image, the value assigned to a vertex/cell is the 8 | label of the nearest voxel in the given segmentation image. For the projection of 9 | cortical labels onto the WM/GM or GM/CSF boundary, use :option:`project-onto-surface -white` or :option:`project-onto-surface -pial`. 10 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/recon-neonatal-cortex.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk recon-neonatal-cortex -h" output 2 | 3 | .. |recon-neonatal-cortex-brief-description| replace:: 4 | 5 | Reconstruct neonatal cortex from MR brain scan and Draw-EM segmentation 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/reflect-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk reflect-image -h" output 2 | 3 | .. |reflect-image-brief-description| replace:: 4 | 5 | Applies a one or more spatial reflections along an image axis. 6 | A more generic tool that can also be used to swap two axes is 7 | the flip-image command. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/register.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk register -h" output 2 | 3 | .. |register-brief-description| replace:: 4 | 5 | Registers a set of images, polygonal surface meshes, and/or point clouds (e.g. fiducial markers). 6 | The set of input images can be comprised of multiple channels (e.g., acquired with different imaging 7 | modalities) at different time points. For longitudinal data, the temporal origin in the NIfTI header 8 | identifies the time point that each input image belongs to. How all input images and polydata sets are 9 | registered with one another is determined by an energy function. This energy function is formulated in 10 | a simplified math expression using MATLAB-style indexing for the individual input files, i.e., 11 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/remesh-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk remesh-surface -h" output 2 | 3 | .. |remesh-surface-brief-description| replace:: 4 | 5 | Remeshes a surface mesh such that the resulting mesh has an average 6 | edge length within the specified limits. The input surface mesh is 7 | triangulated when necessary before the local remeshing passes. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/remesh.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk remesh -h" output 2 | 3 | .. |remesh-brief-description| replace:: 4 | 5 | Remeshes a surface mesh such that the resulting mesh has an average 6 | edge length within the specified limits. The input surface mesh is 7 | triangulated when necessary before the local remeshing passes. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/resample-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk resample-image -h" output 2 | 3 | .. |resample-image-brief-description| replace:: 4 | 5 | Resamples an image on a lattice with specified voxel size. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/smooth-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk smooth-image -h" output 2 | 3 | .. |smooth-image-brief-description| replace:: 4 | 5 | This program blurs an input image using a Gaussian filter with a standard 6 | deviation equal to the specified sigma value. The dimensions in which the 7 | filter recursively applied can be specified by the respective options below. 8 | Note that more than one of these options can be specified and that each can 9 | also be given more than once. The blurring of the respective dimensions 10 | is then performed in the order of the given blurring options. 11 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/smooth-surface.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk smooth-surface -h" output 2 | 3 | .. |smooth-surface-brief-description| replace:: 4 | 5 | Smooths the node positions and/or scalar data of a surface mesh. 6 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/split-labels.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk split-labels -h" output 2 | 3 | .. |split-labels-brief-description| replace:: 4 | 5 | Measures the probability of the different labels in the N label maps .. 6 | according to the weights (maps) .. (based on occurence). 7 | It then outputs the probability of the specified R labels .. to .. 8 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/subdivide-brain-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk subdivide-brain-image -h" output 2 | 3 | .. |subdivide-brain-image-brief-description| replace:: 4 | 5 | This program reads a structural brain segmentation and derives from it 6 | a segmentation of the brain volume into the following output labels. 7 | This output segmentation can then be used to reconstruct topologically 8 | correct (i.e., closed genus-0) surfaces of the cGM/WM interface for the 9 | left and right hemisphere, where subcortical and deep brain structures 10 | are enclosed by these so-called white surfaces. Additionally, the 11 | brainstem+cerebellum segment can be respresented by another closed 12 | surface mesh. The union of these reconstructured surfaces encloses 13 | the entire brain volume, yet excluding cortical grey matter. 14 | By deforming the joint brain surface towards the cGM/CSF interface, 15 | the pial surface which encloses the entire brain volume including 16 | subcortical structures can be obtained. The right/left hemisphere 17 | assignment of cortical grey matter follows from the point correspondences 18 | between white and pial surfaces, respectively, the RH/LH label may 19 | be assigned to white surface mesh nodes upon merging the right/left 20 | white surface meshes. See merge-surfaces -source-array option. 21 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/transform-image.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk transform-image -h" output 2 | 3 | .. |transform-image-brief-description| replace:: 4 | 5 | Applies one or more transformations to an input image. Each voxel center 6 | of the target image is mapped by the composition of the transformations to 7 | the space of the source image. The output intensity for the target voxel is 8 | the source image intensity interpolated at the mapped point and cast to 9 | the output data type. When the input transformation is the identity map, 10 | this command effectively resamples the input image on the finite discrete 11 | grid of the :option:`transform-image -target` image. 12 | -------------------------------------------------------------------------------- /Documentation/commands/_summaries/transform-points.rst: -------------------------------------------------------------------------------- 1 | .. Auto-generated by help-rst from "mirtk transform-points -h" output 2 | 3 | .. |transform-points-brief-description| replace:: 4 | 5 | Applies one or more transformations to a set of points. Input point 6 | x, y, and z coordinates are either read from STDIN (space separated) or from a 7 | point set file. The corresponding transformed coordinates are then written 8 | either to STDOUT or an output point set file, respectively. If multiple 9 | transformations are specified, these are applied in the order as they appear 10 | on the command line. 11 | -------------------------------------------------------------------------------- /Documentation/commands/bisect-dof.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk bisect-dof -h" output 4 | 5 | bisect-dof 6 | ========== 7 | 8 | .. program:: bisect-dof 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | bisect-dof 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/bisect-dof.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/commands/calculate-filtering.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk calculate-filtering -h" output 4 | 5 | calculate-filtering 6 | =================== 7 | 8 | .. program:: calculate-filtering 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | calculate-filtering 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/calculate-filtering.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/commands/calculate-gradients.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk calculate-gradients -h" output 4 | 5 | calculate-gradients 6 | =================== 7 | 8 | .. program:: calculate-gradients 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | calculate-gradients [] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/calculate-gradients.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/commands/change-label.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk change-label -h" output 4 | 5 | change-label 6 | ============ 7 | 8 | .. program:: change-label 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | change-label .. [ .. ] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/change-label.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/commands/convert-image.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk convert-image -h" output 4 | 5 | convert-image 6 | ============= 7 | 8 | .. program:: convert-image 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | convert [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/convert-image.rst 23 | 24 | 25 | 26 | Command options 27 | --------------- 28 | 29 | .. option:: -char|uchar|short|ushort|float|double 30 | 31 | Output voxel type. 32 | 33 | .. option:: -rescale 34 | 35 | Output minimum and maximum intensity. 36 | 37 | 38 | Standard options 39 | ---------------- 40 | 41 | .. option:: -v, -verbose [n] 42 | 43 | Increase/Set verbosity of output messages. (default: 0) 44 | 45 | .. option:: -debug [level] 46 | 47 | Increase/Set debug level for output of intermediate results. (default: 0) 48 | 49 | .. option:: -version [major.minor] 50 | 51 | Print version and exit or set version to emulate. 52 | 53 | .. option:: -revision 54 | 55 | Print revision (or version) number only and exit. 56 | 57 | .. option:: -h, -help 58 | 59 | Print help and exit. 60 | -------------------------------------------------------------------------------- /Documentation/commands/convert-pointset-to-mat.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk convert-pointset-to-mat -h" output 4 | 5 | convert-pointset-to-mat 6 | ======================= 7 | 8 | .. program:: convert-pointset-to-mat 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | convert-pointset-to-mat [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/convert-pointset-to-mat.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | File name of input dataset. 32 | 33 | .. option:: mat 34 | 35 | File name of output MAT file. 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -points [] 42 | 43 | Name of points variable. (default: X) 44 | 45 | .. option:: -nopoints 46 | 47 | Exclude points from MAT file. 48 | 49 | .. option:: -faces [] 50 | 51 | Name of faces variable. (default: F) 52 | 53 | .. option:: -nofaces 54 | 55 | Exclude faces from MAT file. 56 | 57 | .. option:: -pointdata [] 58 | 59 | Include named point data. (default: none) 60 | 61 | .. option:: -celldata [] 62 | 63 | Include named cell data. (default: none) 64 | -------------------------------------------------------------------------------- /Documentation/commands/copy-pointset-attributes-from-mat.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk copy-pointset-attributes-from-mat -h" output 4 | 5 | copy-pointset-attributes-from-mat 6 | ================================= 7 | 8 | .. program:: copy-pointset-attributes-from-mat 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | copy-pointset-attributes-from-mat [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/copy-pointset-attributes-from-mat.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | File name of input dataset. 32 | 33 | .. option:: mat 34 | 35 | File name of MAT file. 36 | 37 | .. option:: output File name of output dataset. 38 | 39 | 40 | 41 | Command options 42 | --------------- 43 | 44 | .. option:: -var [] 45 | 46 | Set/Add variable with given name as point data 47 | of specified type. If no type is specified, the 48 | array is added as non-attribute point data array. 49 | Type can be 'scalars', 'vectors', 'normals', 'tcoords', 50 | 'tensors', 'globalids', or 'pedigreeids' (case insensitive). 51 | -------------------------------------------------------------------------------- /Documentation/commands/dilate-image.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk dilate-image -h" output 4 | 5 | dilate-image 6 | ============ 7 | 8 | .. program:: dilate-image 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | dilate-image [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/dilate-image.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | Input intensity/segmentation image. 32 | 33 | .. option:: output 34 | 35 | Dilated output image. 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -iterations 42 | 43 | Number of iterations. (default: 1) 44 | 45 | .. option:: -connectivity 46 | 47 | Type of voxel connectivity (4, 6, 18, or 26). (default: 26) 48 | 49 | 50 | Standard options 51 | ---------------- 52 | 53 | .. option:: -v, -verbose [n] 54 | 55 | Increase/Set verbosity of output messages. (default: 0) 56 | 57 | .. option:: -debug [level] 58 | 59 | Increase/Set debug level for output of intermediate results. (default: 0) 60 | 61 | .. option:: -version [major.minor] 62 | 63 | Print version and exit or set version to emulate. 64 | 65 | .. option:: -revision 66 | 67 | Print revision (or version) number only and exit. 68 | 69 | .. option:: -h, -help 70 | 71 | Print help and exit. 72 | -------------------------------------------------------------------------------- /Documentation/commands/downsample-image.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk downsample-image -h" output 4 | 5 | downsample-image 6 | ================ 7 | 8 | .. program:: downsample-image 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | downsample-image [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/downsample-image.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | Input intensity imaeg. 32 | 33 | .. option:: output 34 | 35 | Input image downsampled n times. 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -iterations 42 | 43 | Number of iterations. (default: 1) 44 | 45 | 46 | Standard options 47 | ---------------- 48 | 49 | .. option:: -v, -verbose [n] 50 | 51 | Increase/Set verbosity of output messages. (default: 0) 52 | 53 | .. option:: -debug [level] 54 | 55 | Increase/Set debug level for output of intermediate results. (default: 0) 56 | 57 | .. option:: -version [major.minor] 58 | 59 | Print version and exit or set version to emulate. 60 | 61 | .. option:: -revision 62 | 63 | Print revision (or version) number only and exit. 64 | 65 | .. option:: -h, -help 66 | 67 | Print help and exit. 68 | -------------------------------------------------------------------------------- /Documentation/commands/draw-em.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk draw-em -h" output 4 | 5 | draw-em 6 | ======= 7 | 8 | .. program:: draw-em 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | draw-em .. [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/draw-em.rst 23 | 24 | -------------------------------------------------------------------------------- /Documentation/commands/edit-dof.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk edit-dof -h" output 4 | 5 | edit-dof 6 | ======== 7 | 8 | .. program:: edit-dof 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | edit-dof [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/edit-dof.rst 23 | 24 | 25 | 26 | Examples 27 | -------- 28 | 29 | 30 | Example 1 31 | ~~~~~~~~~ 32 | 33 | **Command**:: 34 | 35 | edit-dof svffd.dof.gz svffd.dof.gz -number-of-integration-steps 128 36 | 37 | **Output/Description**:: 38 | 39 | 40 | The option "-number-of-integration-steps" used here corresponds to 41 | the parameter "Number of integration steps" of the SV FFD transformation. 42 | The new value for the parameter will be 128. 43 | -------------------------------------------------------------------------------- /Documentation/commands/em-hard-segmentation.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk em-hard-segmentation -h" output 4 | 5 | em-hard-segmentation 6 | ==================== 7 | 8 | .. program:: em-hard-segmentation 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | em-hard-segmentation .. [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/em-hard-segmentation.rst 23 | 24 | 25 | 26 | Input options 27 | ------------- 28 | 29 | .. option:: -mrftimes 30 | 31 | number of times the mrf term will be applied (default 0) 32 | 33 | .. option:: -mrfweight 34 | 35 | weight of the mrf term (default 1/3). 36 | 37 | .. option:: -posteriors .. write posteriors (useful when MRF is used). 38 | 39 | 40 | 41 | Standard options 42 | ---------------- 43 | 44 | .. option:: -v, -verbose [n] 45 | 46 | Increase/Set verbosity of output messages. (default: 0) 47 | 48 | .. option:: -debug [level] 49 | 50 | Increase/Set debug level for output of intermediate results. (default: 0) 51 | 52 | .. option:: -version [major.minor] 53 | 54 | Print version and exit or set version to emulate. 55 | 56 | .. option:: -revision 57 | 58 | Print revision (or version) number only and exit. 59 | 60 | .. option:: -h, -help 61 | 62 | Print help and exit. 63 | -------------------------------------------------------------------------------- /Documentation/commands/erode-image.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk erode-image -h" output 4 | 5 | erode-image 6 | =========== 7 | 8 | .. program:: erode-image 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | erode-image [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/erode-image.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | Input intensity/segmentation image. 32 | 33 | .. option:: output 34 | 35 | Eroded output image. 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -iterations 42 | 43 | Number of iterations. (default: 1) 44 | 45 | .. option:: -connectivity 46 | 47 | Type of voxel connectivity (4, 6, 18, or 26). (default: 26) 48 | 49 | 50 | Standard options 51 | ---------------- 52 | 53 | .. option:: -v, -verbose [n] 54 | 55 | Increase/Set verbosity of output messages. (default: 0) 56 | 57 | .. option:: -debug [level] 58 | 59 | Increase/Set debug level for output of intermediate results. (default: 0) 60 | 61 | .. option:: -version [major.minor] 62 | 63 | Print version and exit or set version to emulate. 64 | 65 | .. option:: -revision 66 | 67 | Print revision (or version) number only and exit. 68 | 69 | .. option:: -h, -help 70 | 71 | Print help and exit. 72 | -------------------------------------------------------------------------------- /Documentation/commands/evaluate-surface-mesh.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk evaluate-surface-mesh -h" output 4 | 5 | evaluate-surface-mesh 6 | ===================== 7 | 8 | .. program:: evaluate-surface-mesh 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | evaluate-surface-mesh [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/evaluate-surface-mesh.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: surface 30 | 31 | Surface mesh file. 32 | 33 | 34 | Command options 35 | --------------- 36 | 37 | 38 | Standard options 39 | ---------------- 40 | 41 | .. option:: -v, -verbose [n] 42 | 43 | Increase/Set verbosity of output messages. (default: 0) 44 | 45 | .. option:: -debug [level] 46 | 47 | Increase/Set debug level for output of intermediate results. (default: 0) 48 | 49 | .. option:: -version [major.minor] 50 | 51 | Print version and exit or set version to emulate. 52 | 53 | .. option:: -revision 54 | 55 | Print revision (or version) number only and exit. 56 | 57 | .. option:: -h, -help 58 | 59 | Print help and exit. 60 | -------------------------------------------------------------------------------- /Documentation/commands/extract-image-slice.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk extract-image-slice -h" output 4 | 5 | extract-image-slice 6 | =================== 7 | 8 | .. program:: extract-image-slice 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | extract-image-slice [-h] [-z Z] [-n N] input output 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/extract-image-slice.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | Input volume 32 | 33 | .. option:: output 34 | 35 | Output file path 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -h, --help show this help message and exit 42 | 43 | 44 | .. option:: -z Z 45 | 46 | Index of slice to extract 47 | 48 | .. option:: -n N 49 | 50 | Number of slices to extract. Extract all from -z to maximum 51 | index when non-positive 52 | -------------------------------------------------------------------------------- /Documentation/commands/extract-image-volume.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk extract-image-volume -h" output 4 | 5 | extract-image-volume 6 | ==================== 7 | 8 | .. program:: extract-image-volume 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | extract-image-volume [-h] [-t T] [-n N] input output 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/extract-image-volume.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: input 30 | 31 | Input sequence. 32 | 33 | .. option:: output 34 | 35 | Output file path. 36 | 37 | 38 | Command options 39 | --------------- 40 | 41 | .. option:: -h, --help show this help message and exit 42 | 43 | 44 | .. option:: -t T 45 | 46 | Index of volume to extract. 47 | 48 | .. option:: -n N 49 | 50 | Number of volumes to extract. Extract all from -t to maximum 51 | index when non-positive. 52 | -------------------------------------------------------------------------------- /Documentation/commands/fill-holes-nn-based.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk fill-holes-nn-based -h" output 4 | 5 | fill-holes-nn-based 6 | =================== 7 | 8 | .. program:: fill-holes-nn-based 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | fill-holes-nn-based 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/fill-holes-nn-based.rst 23 | 24 | 25 | 26 | Input options 27 | ------------- 28 | 29 | .. option:: -connectivity connectivity (6/26), default: 6 30 | 31 | 32 | .. option:: -majority 33 | 34 | majority factor (0-1), default: 0.9 35 | 36 | 37 | Standard options 38 | ---------------- 39 | 40 | .. option:: -v, -verbose [n] 41 | 42 | Increase/Set verbosity of output messages. (default: 0) 43 | 44 | .. option:: -debug [level] 45 | 46 | Increase/Set debug level for output of intermediate results. (default: 0) 47 | 48 | .. option:: -version [major.minor] 49 | 50 | Print version and exit or set version to emulate. 51 | 52 | .. option:: -revision 53 | 54 | Print revision (or version) number only and exit. 55 | 56 | .. option:: -h, -help 57 | 58 | Print help and exit. 59 | -------------------------------------------------------------------------------- /Documentation/commands/fill-holes.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk fill-holes -h" output 4 | 5 | fill-holes 6 | ========== 7 | 8 | .. program:: fill-holes 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | fill-holes 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/fill-holes.rst 23 | 24 | 25 | 26 | Input options 27 | ------------- 28 | 29 | .. option:: -connectivity voxel connectivity for finding holes - 6 or 26 (default: 6) 30 | 31 | 32 | 33 | Standard options 34 | ---------------- 35 | 36 | .. option:: -v, -verbose [n] 37 | 38 | Increase/Set verbosity of output messages. (default: 0) 39 | 40 | .. option:: -debug [level] 41 | 42 | Increase/Set debug level for output of intermediate results. (default: 0) 43 | 44 | .. option:: -version [major.minor] 45 | 46 | Print version and exit or set version to emulate. 47 | 48 | .. option:: -revision 49 | 50 | Print revision (or version) number only and exit. 51 | 52 | .. option:: -h, -help 53 | 54 | Print help and exit. 55 | -------------------------------------------------------------------------------- /Documentation/commands/invert-dof.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk invert-dof -h" output 4 | 5 | invert-dof 6 | ========== 7 | 8 | .. program:: invert-dof 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | invert-dof [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/invert-dof.rst 23 | 24 | 25 | 26 | Arguments 27 | --------- 28 | 29 | .. option:: dofin 30 | 31 | Rigid, affine, or non-rigid input transformation. 32 | 33 | .. option:: dofout 34 | 35 | Inverse of input transformation. (approximation) 36 | 37 | 38 | Standard options 39 | ---------------- 40 | 41 | .. option:: -v, -verbose [n] 42 | 43 | Increase/Set verbosity of output messages. (default: 0) 44 | 45 | .. option:: -debug [level] 46 | 47 | Increase/Set debug level for output of intermediate results. (default: 0) 48 | 49 | .. option:: -version [major.minor] 50 | 51 | Print version and exit or set version to emulate. 52 | 53 | .. option:: -revision 54 | 55 | Print revision (or version) number only and exit. 56 | 57 | .. option:: -h, -help 58 | 59 | Print help and exit. 60 | -------------------------------------------------------------------------------- /Documentation/commands/measure-volume.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk measure-volume -h" output 4 | 5 | measure-volume 6 | ============== 7 | 8 | .. program:: measure-volume 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | measure-volume 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/measure-volume.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/commands/reflect-image.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk reflect-image -h" output 4 | 5 | reflect-image 6 | ============= 7 | 8 | .. program:: reflect-image 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | reflect-image [options] 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/reflect-image.rst 23 | 24 | 25 | 26 | Command options 27 | --------------- 28 | 29 | .. option:: -x 30 | 31 | Reflect x axis. 32 | 33 | .. option:: -y 34 | 35 | Reflect y axis. 36 | 37 | .. option:: -z 38 | 39 | Reflect z axis. 40 | 41 | .. option:: -t 42 | 43 | Reflect t axis. 44 | 45 | 46 | Standard options 47 | ---------------- 48 | 49 | .. option:: -v, -verbose [n] 50 | 51 | Increase/Set verbosity of output messages. (default: 0) 52 | 53 | .. option:: -debug [level] 54 | 55 | Increase/Set debug level for output of intermediate results. (default: 0) 56 | 57 | .. option:: -version [major.minor] 58 | 59 | Print version and exit or set version to emulate. 60 | 61 | .. option:: -revision 62 | 63 | Print revision (or version) number only and exit. 64 | 65 | .. option:: -h, -help 66 | 67 | Print help and exit. 68 | -------------------------------------------------------------------------------- /Documentation/commands/split-labels.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. Auto-generated by help-rst from "mirtk split-labels -h" output 4 | 5 | split-labels 6 | ============ 7 | 8 | .. program:: split-labels 9 | 10 | 11 | Synopsis 12 | -------- 13 | 14 | :: 15 | 16 | split-labels .. .. .. .. 17 | 18 | 19 | Description 20 | ----------- 21 | 22 | .. include:: _descriptions/split-labels.rst 23 | 24 | 25 | 26 | Standard options 27 | ---------------- 28 | 29 | .. option:: -v, -verbose [n] 30 | 31 | Increase/Set verbosity of output messages. (default: 0) 32 | 33 | .. option:: -debug [level] 34 | 35 | Increase/Set debug level for output of intermediate results. (default: 0) 36 | 37 | .. option:: -version [major.minor] 38 | 39 | Print version and exit or set version to emulate. 40 | 41 | .. option:: -revision 42 | 43 | Print revision (or version) number only and exit. 44 | 45 | .. option:: -h, -help 46 | 47 | Print help and exit. 48 | -------------------------------------------------------------------------------- /Documentation/contents.rst: -------------------------------------------------------------------------------- 1 | .. title:: Table of Contents 2 | 3 | ================= 4 | Table Of Contents 5 | ================= 6 | 7 | .. toctree:: 8 | :caption: Table Of Contents 9 | :includehidden: 10 | :maxdepth: 4 11 | 12 | getstarted 13 | commands 14 | modules 15 | apidoc 16 | changelog 17 | download 18 | install 19 | help 20 | publications 21 | people 22 | -------------------------------------------------------------------------------- /Documentation/help.rst: -------------------------------------------------------------------------------- 1 | .. meta:: 2 | :description: Report any issues with MIRTK or request new features on GitHub. 3 | 4 | ======= 5 | Support 6 | ======= 7 | 8 | Please report bugs and request new or missing (M)IRTK features on GitHub: 9 | 10 | - `View or report issues with core modules `__. 11 | - `View or report issues with Deformable module `__. 12 | - `View or report issues with Mapping module `__. 13 | 14 | For all other support and help with getting the MIRTK up and running, please send a message to the 15 | `mailing list (mirtk-user@imperial.ac.uk) `__ 16 | (subscription required). 17 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/common.rst: -------------------------------------------------------------------------------- 1 | The Common module of the Medical Image Registration ToolKit (MIRTK) defines the base 2 | classes from which other MIRTK classes are derived. It further contains common 3 | auxiliary functions and a simple command-line parsing library. 4 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/deformable.rst: -------------------------------------------------------------------------------- 1 | The Deformable module of the Medical Image Registration ToolKit (MIRTK) is a library 2 | for the Euler integration of deformable meshes such as cortical surfaces. 3 | The :doc:`/commands/deform-mesh` command can be used to deform an initial mesh such as the convex hull 4 | of an input segmentation or a bounding sphere based on internal and external 5 | point set/surface forces. The integration is stopped when a suitable stopping criterion 6 | is fullfilled such as a fixed number of iterations, target objective function value, 7 | or surface smoothness (e.g., for cortical surface inflation). The internal forces 8 | can further be utilized by the |Registration| module to constrain the transformation, 9 | for example, to constrain the cortical surface to remain smooth after transformation. 10 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/drawem.rst: -------------------------------------------------------------------------------- 1 | The Developing brain Region Annotation With Expectation-Maximization (Draw-EM) 2 | module of the Medical Image Registration ToolKit (MIRTK) provides command-line 3 | tools for the automatic segmentation of neonatal brain MR images into the major 4 | tissue classes and a detailed structural segmentation. It is developed by 5 | `Antonios Makropoulos `__. Please cite his 6 | TMI paper when you use the Draw-EM segmentations in your research studies. 7 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/image.rst: -------------------------------------------------------------------------------- 1 | The Image module of the Medical Image Registration ToolKit (MIRTK) provides containers 2 | and basic filters for imaging data sampled on a uniform grid. It contains image 3 | interpolation functions which enable the evaluation of these finite discrete images 4 | in an infinite continuous domain. This is in particular needed for the deformation of 5 | an image during and after registration. 6 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/io.rst: -------------------------------------------------------------------------------- 1 | The I/O module of the Medical Image Registration ToolKit (MIRTK) enables the 2 | reading and writing of image and point set files. Supported file formats are 3 | GIPL, PGM, and the `NIfTI file format `__. 4 | Image slices can further be written to PNG image files when the MIRTK was built WITH_PNG. 5 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/mapping.rst: -------------------------------------------------------------------------------- 1 | The Mapping module of the Medical Image Registration ToolKit (MIRTK) is a library 2 | for the mapping of brain surfaces and volumes. The :doc:`/commands/map-surface` 3 | and :doc:`/commands/map-volume` commands can be used to compute such (harmonic) 4 | surface or volumetric maps. 5 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/numerics.rst: -------------------------------------------------------------------------------- 1 | The Numerics module of the Medical Image Registration ToolKit (MIRTK) provides basic 2 | support for linear algebra computations. It further defines an abstract interface 3 | for objective functions to be minimized by one of the available iterative optimizers. 4 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/pointset.rst: -------------------------------------------------------------------------------- 1 | The Point Set module of the Medical Image Registration ToolKit (MIRTK) adds 2 | support for general point sets such as fidicual markers, surface meshes, and 3 | volumetric tetrahedral meshes. It defines different auxiliary types used to 4 | establish point correspondences between two given point sets/surface meshes. 5 | These correpondences can be utilized by the |Registration| module to find a 6 | transformation that aligns two given point sets. 7 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/registration.rst: -------------------------------------------------------------------------------- 1 | The Registration module of the Medical Image Registration ToolKit (MIRTK) 2 | provides the generic framework used to register images and point sets. 3 | This framework expresses the registration problem as configurable function 4 | minimization problem. The object function, referred to as registration energy 5 | in this context, is put together using the various energy terms. An energy 6 | term can be either an image (dis-)similarity measure, a transformation 7 | constraint, or a point set/surface constraint. 8 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/scripting.rst: -------------------------------------------------------------------------------- 1 | The Scripting module is a library of modules written in commonly used scripting 2 | languages which can be used to write custom scripts for medical image analysis. 3 | -------------------------------------------------------------------------------- /Documentation/modules/_descriptions/transformation.rst: -------------------------------------------------------------------------------- 1 | The Transformation module of the Medical Image Registration ToolKit (MIRTK) 2 | defines the different transformation models supported by the |Registration| 3 | module. These include linear homogeneous transformation types and non-rigid 4 | free-form deformations. The Transformation module further includes a number 5 | of transformation constraint terms which can be used to regularize the 6 | registration problem. 7 | -------------------------------------------------------------------------------- /Documentation/modules/_refs.rst: -------------------------------------------------------------------------------- 1 | .. |Common| replace:: :doc:`Common ` 2 | .. |Numerics| replace:: :doc:`Numerics ` 3 | .. |Image| replace:: :doc:`Image ` 4 | .. |IO| replace:: :doc:`I/O ` 5 | .. |PointSet| replace:: :doc:`Point Set ` 6 | .. |Transformation| replace:: :doc:`Transformation ` 7 | .. |Registration| replace:: :doc:`Registration ` 8 | .. |Deformable| replace:: :doc:`Deformable ` 9 | .. |Mapping| replace:: :doc:`Mapping ` 10 | .. |Scripting| replace:: :doc:`Scripting ` 11 | .. |DrawEM| replace:: :doc:`Draw-EM ` 12 | -------------------------------------------------------------------------------- /Documentation/modules/common.rst: -------------------------------------------------------------------------------- 1 | ============= 2 | Common Module 3 | ============= 4 | 5 | .. include:: _descriptions/common.rst 6 | 7 | 8 | .. todo:: Document main module classes and their usage. 9 | -------------------------------------------------------------------------------- /Documentation/modules/deformable.rst: -------------------------------------------------------------------------------- 1 | ================= 2 | Deformable Module 3 | ================= 4 | 5 | .. include:: _refs.rst 6 | 7 | .. include:: _descriptions/deformable.rst 8 | 9 | .. todo:: Document main module classes and their usage. 10 | -------------------------------------------------------------------------------- /Documentation/modules/drawem.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | Draw-EM Module 3 | ============== 4 | 5 | .. include:: _descriptions/drawem.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/image.rst: -------------------------------------------------------------------------------- 1 | ============ 2 | Image Module 3 | ============ 4 | 5 | .. include:: _descriptions/image.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/io.rst: -------------------------------------------------------------------------------- 1 | ========== 2 | I/O Module 3 | ========== 4 | 5 | .. include:: _descriptions/io.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/mapping.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | Mapping Module 3 | ============== 4 | 5 | .. include:: _descriptions/mapping.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/numerics.rst: -------------------------------------------------------------------------------- 1 | =============== 2 | Numerics Module 3 | =============== 4 | 5 | .. include:: _descriptions/numerics.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/pointset.rst: -------------------------------------------------------------------------------- 1 | ================ 2 | Point Set Module 3 | ================ 4 | 5 | .. include:: _refs.rst 6 | 7 | .. include:: _descriptions/pointset.rst 8 | 9 | .. todo:: Document main module classes and their usage. 10 | -------------------------------------------------------------------------------- /Documentation/modules/registration.rst: -------------------------------------------------------------------------------- 1 | =================== 2 | Registration Module 3 | =================== 4 | 5 | .. include:: _descriptions/registration.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/scripting.rst: -------------------------------------------------------------------------------- 1 | ================ 2 | Scripting Module 3 | ================ 4 | 5 | .. include:: _descriptions/scripting.rst 6 | 7 | .. todo:: Document main module classes and their usage. 8 | -------------------------------------------------------------------------------- /Documentation/modules/transformation.rst: -------------------------------------------------------------------------------- 1 | ===================== 2 | Transformation Module 3 | ===================== 4 | 5 | .. include:: _refs.rst 6 | 7 | .. include:: _descriptions/transformation.rst 8 | 9 | .. todo:: Document main module classes and their usage. 10 | -------------------------------------------------------------------------------- /Documentation/people.rst: -------------------------------------------------------------------------------- 1 | .. meta:: 2 | :description: Names of those who developed and contributed to MIRTK. 3 | 4 | ====== 5 | People 6 | ====== 7 | 8 | .. include:: ../AUTHORS.txt 9 | -------------------------------------------------------------------------------- /Documentation/sidebar.rst: -------------------------------------------------------------------------------- 1 | .. title:: Table of Contents 2 | 3 | .. toctree:: 4 | :maxdepth: 3 5 | 6 | Overview 7 | getstarted 8 | commands 9 | modules 10 | Reference 11 | 12 | .. toctree:: 13 | :maxdepth: 3 14 | 15 | News 16 | download 17 | install 18 | help 19 | publications 20 | people 21 | -------------------------------------------------------------------------------- /Documentation/static/CMakeGUIDefaultConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BioMedIA/MIRTK/ef71a176c120447b3f95291901af7af8b4f00544/Documentation/static/CMakeGUIDefaultConfig.png -------------------------------------------------------------------------------- /Documentation/static/CMakeGUIVTKNotFound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BioMedIA/MIRTK/ef71a176c120447b3f95291901af7af8b4f00544/Documentation/static/CMakeGUIVTKNotFound.png -------------------------------------------------------------------------------- /Documentation/static/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MIRTK Logo 5 | 6 | Layer 1 7 | MIRTK 8 | 9 | -------------------------------------------------------------------------------- /Examples/helloworld/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.9) 2 | project(flip) 3 | 4 | find_package(VTK) 5 | 6 | find_package(MIRTK REQUIRED 7 | PointSet 8 | Common 9 | Numerics 10 | IO 11 | Image 12 | Transformation 13 | Registration 14 | ) 15 | 16 | include(MIRTKTargets) 17 | 18 | add_executable(flip flip.cc) 19 | target_include_directories(flip PUBLIC "${MIRTK_INCLUDE_DIRS}") 20 | target_link_libraries(flip mirtk::LibCommon mirtk::LibPointSet) 21 | install(TARGETS flip DESTINATION bin) 22 | -------------------------------------------------------------------------------- /Examples/helloworld/README.md: -------------------------------------------------------------------------------- 1 | # MIRTK helloworld 2 | 3 | `flip.cc` is just `Applications/src/flip-image.cc` renamed, and is supposed to 4 | be an example program that you might try to build against 5 | [MIRTK](https://github.com/BioMedIA/MIRTK). 6 | 7 | # Setting up MIRTK as a build dependency 8 | 9 | Set `MIRTK_ROOT` to point to your MIRTK install area, and make sure the bin 10 | directory is on your `PATH` and the lib area is on your library path. For 11 | example, on Linux you might append these lines to your `.bashrc`: 12 | 13 | ``` 14 | export MIRTK_ROOT=/opt/mirtk 15 | export PATH="$MIRTK_ROOT/bin:$PATH" 16 | export LD_LIBRARY_PATH="$MIRTK_ROOT/lib:$LD_LIBRARY_PATH" 17 | ``` 18 | 19 | Then build this program with: 20 | 21 | ``` 22 | $ cd MIRTK/Examples/helloworld 23 | $ mkdir build 24 | $ cd build 25 | $ cmake -D CMAKE_MODULE_PATH:PATH=$MIRTK_ROOT/lib/cmake/mirtk .. 26 | $ make 27 | $ make install 28 | ``` 29 | 30 | And run with: 31 | 32 | ``` 33 | $ ./flip 34 | ``` 35 | -------------------------------------------------------------------------------- /Modules/Common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | mirtk_configure_module() 21 | -------------------------------------------------------------------------------- /Modules/Common/config/config.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_CommonConfig_H 21 | #define MIRTK_CommonConfig_H 22 | 23 | 24 | /// Whether MIRTK Common module was built with MATLAB support 25 | #define MIRTK_Common_WITH_MATLAB @WITH_MATLAB_CONFIG@ 26 | 27 | /// Whether MIRTK Common module was built with VTK support 28 | #define MIRTK_Common_WITH_VTK @WITH_VTK_CONFIG@ 29 | 30 | /// Whether MIRTK Common module was built with ZLIB 31 | #define MIRTK_Common_WITH_ZLIB @WITH_ZLIB_CONFIG@ 32 | 33 | 34 | #endif // MIRTK_CommonConfig_H 35 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Array.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Array_H 21 | #define MIRTK_Array_H 22 | 23 | #include 24 | #include 25 | 26 | namespace mirtk { 27 | 28 | 29 | template > 30 | using Array = std::vector; 31 | 32 | 33 | } // namespace mirtk 34 | 35 | #endif // MIRTK_Array_H 36 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/ArrayHeap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | /** 21 | * \file mirtk/ArrayHeap.h 22 | * \brief Imports the STL functions for Array heap operations into the mirtk namespace. 23 | */ 24 | 25 | #ifndef MIRTK_ArrayHeap_H 26 | #define MIRTK_ArrayHeap_H 27 | 28 | #include "mirtk/Array.h" 29 | #include 30 | 31 | 32 | namespace mirtk { 33 | 34 | 35 | using std::make_heap; 36 | using std::push_heap; 37 | using std::pop_heap; 38 | using std::sort_heap; 39 | 40 | 41 | } // namespace mirtk 42 | 43 | #endif // MIRTK_ArrayHeap_H 44 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Cfstream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Cfstream_H 21 | #define MIRTK_Cfstream_H 22 | 23 | 24 | #include "mirtk/Cifstream.h" 25 | #include "mirtk/Cofstream.h" 26 | 27 | 28 | #endif // MIRTK_Cfstream_H 29 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Cuda.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Cuda_H 21 | #define MIRTK_Cuda_H 22 | 23 | 24 | #include "mirtk/Config.h" // MIRTKCU_API 25 | 26 | #ifdef HAVE_CUDA 27 | # include 28 | #endif 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/List.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_List_H 21 | #define MIRTK_List_H 22 | 23 | #include 24 | #include 25 | 26 | namespace mirtk { 27 | 28 | 29 | template > 30 | using List = std::list; 31 | 32 | 33 | } // namespace mirtk 34 | 35 | #endif // MIRTK_List_H 36 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Numeric.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2016 Imperial College London 5 | * Copyright 2016 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Numeric_H 21 | #define MIRTK_Numeric_H 22 | 23 | #include "mirtk/Array.h" 24 | 25 | #include 26 | 27 | 28 | namespace mirtk { 29 | 30 | 31 | using std::accumulate; 32 | 33 | template 34 | T Accumulate(const Array &values) 35 | { 36 | return accumulate(values.begin(), values.end(), T(0)); 37 | } 38 | 39 | 40 | } // namespace mirtk 41 | 42 | #endif // MIRTK_Numeric_H 43 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/OrderedMap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_OrderedMap_H 21 | #define MIRTK_OrderedMap_H 22 | 23 | #include 24 | 25 | namespace mirtk { 26 | 27 | 28 | template > 29 | using OrderedMap = std::map; 30 | 31 | 32 | } // namespace mirtk 33 | 34 | #endif // MIRTK_OrderedMap_H 35 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/OrderedSet.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_OrderedSet_H 21 | #define MIRTK_OrderedSet_H 22 | 23 | #include 24 | 25 | namespace mirtk { 26 | 27 | 28 | template > 29 | using OrderedSet = std::set; 30 | 31 | 32 | } // namespace mirtk 33 | 34 | #endif // MIRTK_OrderedSet_H 35 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Pair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Pair_H 21 | #define MIRTK_Pair_H 22 | 23 | #include 24 | 25 | 26 | namespace mirtk { 27 | 28 | 29 | template 30 | using Pair = std::pair; 31 | 32 | template 33 | Pair MakePair(T1 x, T2 y) 34 | { 35 | return std::make_pair(x, y); 36 | } 37 | 38 | 39 | } // namespace mirtk 40 | 41 | #endif // MIRTK_Pair_H 42 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/PriorityQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_PriorityQueue_H 21 | #define MIRTK_PriorityQueue_H 22 | 23 | #include 24 | #include 25 | 26 | namespace mirtk { 27 | 28 | 29 | template > 30 | using PriorityQueue = std::priority_queue, Compare>; 31 | 32 | 33 | } // namespace mirtk 34 | 35 | #endif // MIRTK_PriorityQueue_H 36 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Queue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Queue_H 21 | #define MIRTK_Queue_H 22 | 23 | #include 24 | #include 25 | 26 | namespace mirtk { 27 | 28 | 29 | template 30 | using Queue = std::queue; 31 | 32 | template 33 | using Deque = std::deque; 34 | 35 | 36 | } // namespace mirtk 37 | 38 | #endif // MIRTK_Queue_H 39 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Random.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Random_H 21 | #define MIRTK_Random_H 22 | 23 | #include 24 | #include 25 | 26 | 27 | namespace mirtk { 28 | 29 | 30 | using std::rand; 31 | using std::srand; 32 | using std::random_device; 33 | using std::mt19937; 34 | using std::uniform_int_distribution; 35 | using std::random_shuffle; 36 | 37 | 38 | } // namespace mirtk 39 | 40 | #endif // MIRTK_Random_H 41 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Stack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Stack_H 21 | #define MIRTK_Stack_H 22 | 23 | #include 24 | 25 | namespace mirtk { 26 | 27 | 28 | template 29 | using Stack = std::stack; 30 | 31 | 32 | } // namespace mirtk 33 | 34 | #endif // MIRTK_Stack_H 35 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/Status.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_Status_H 21 | #define MIRTK_Status_H 22 | 23 | namespace mirtk { 24 | 25 | 26 | // ----------------------------------------------------------------------------- 27 | /// Enumeration of common states for entities such as objective function parameters 28 | enum Status 29 | { 30 | Active, 31 | Passive 32 | }; 33 | 34 | 35 | } // namespace mirtk 36 | 37 | #endif // MIRTK_Status_H 38 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/TestProd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_TestProd_H 21 | #define MIRTK_TestProd_H 22 | 23 | 24 | #if defined(HAVE_GTest) || defined(HAVE_GTEST) 25 | # include "gtest/gtest_prod.h" 26 | #elif !defined(FRIEND_TEST) 27 | # define FRIEND_TEST(test_case_name, test_name) \ 28 | static void FRIEND_TEST_##test_case_name##_##test_name() 29 | #endif 30 | 31 | 32 | #endif // MIRTK_TestProd_H 33 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/UnorderedMap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_UnorderedMap_H 21 | #define MIRTK_UnorderedMap_H 22 | 23 | #include 24 | 25 | namespace mirtk { 26 | 27 | 28 | template , class Pred = std::equal_to > 29 | using UnorderedMap = std::unordered_map; 30 | 31 | 32 | } // namespace mirtk 33 | 34 | #endif // MIRTK_UnorderedMap_H 35 | -------------------------------------------------------------------------------- /Modules/Common/include/mirtk/UnorderedSet.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_UnorderedSet_H 21 | #define MIRTK_UnorderedSet_H 22 | 23 | #include 24 | 25 | namespace mirtk { 26 | 27 | 28 | template , class Pred = std::equal_to > 29 | using UnorderedSet = std::unordered_set; 30 | 31 | 32 | } // namespace mirtk 33 | 34 | #endif // MIRTK_UnorderedSet_H 35 | -------------------------------------------------------------------------------- /Modules/Common/src/Math.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2016 Imperial College London 5 | * Copyright 2016 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #define _USE_MATH_DEFINES 21 | #include 22 | 23 | #include "mirtk/Math.h" 24 | 25 | 26 | namespace mirtk { 27 | 28 | 29 | const double inf = numeric_limits::infinity(); 30 | const double nan = numeric_limits::quiet_NaN(); 31 | const double NaN = numeric_limits::quiet_NaN(); 32 | const double pi = double(M_PI); 33 | const double pi_half = 0.5 * pi; 34 | const double two_pi = 2.0 * pi; 35 | const double rad_per_deg = pi / 180.0; 36 | const double deg_per_rad = 180.0 / pi; 37 | 38 | 39 | } // namespace mirtk 40 | -------------------------------------------------------------------------------- /Modules/Common/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2016 Imperial College London 5 | # Copyright 2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | macro(add_common_test class_name) 21 | mirtk_add_test(${class_name} DEPENDS LibCommon) 22 | endmacro () 23 | 24 | 25 | add_common_test(String) 26 | -------------------------------------------------------------------------------- /Modules/IO/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | option(WITH_NiftiCLib "Require system installation of NIfTI C library, use included NIfTI I/O sources when OFF" OFF) 21 | mark_as_advanced(WITH_NiftiCLib) 22 | 23 | option(WITH_GiftiCLib "Require system installation of GIFTI C library, use included GIFTI I/O sources when OFF" OFF) 24 | mark_as_advanced(WITH_GiftiCLib) 25 | 26 | mirtk_configure_module() 27 | -------------------------------------------------------------------------------- /Modules/IO/src/PGM.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2008-2015 Imperial College London 5 | * Copyright 2008-2015 Daniel Rueckert, Julia Schnabel 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_PGM_H 21 | #define MIRTK_PGM_H 22 | 23 | 24 | #define PGM_MAGIC "P5" 25 | 26 | 27 | #endif // MIRTK_PGM_H 28 | -------------------------------------------------------------------------------- /Modules/IO/src/meta/metaIOConfig.h: -------------------------------------------------------------------------------- 1 | 2 | #define METAIO_USE_NAMESPACE 0 3 | #define METAIO_NAMESPACE ITKMetaIO 4 | #define METAIO_EXPORT 5 | 6 | #include 7 | #include 8 | 9 | #include "zlib.h" 10 | -------------------------------------------------------------------------------- /Modules/Image/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | # Use Python for (re-)generation of ForEachVoxel function templates when 21 | # available without a WITH_Python user option. Just look for it and 22 | # use it if it is available on the system. 23 | set(USE_Python TRUE) 24 | 25 | mirtk_configure_module() 26 | -------------------------------------------------------------------------------- /Modules/Image/config/config.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_ImageConfig_H 21 | #define MIRTK_ImageConfig_H 22 | 23 | 24 | /// Default output image file name extension/format when none specified 25 | #define MIRTK_Image_DEFAULT_EXT "@DEFAULT_IMAGE_EXT_CONFIG@" 26 | 27 | /// Whether MIRTK Image module was built with VTK support 28 | #define MIRTK_Image_WITH_VTK @WITH_VTK_CONFIG@ 29 | 30 | 31 | #endif // MIRTK_ImageConfig_H 32 | -------------------------------------------------------------------------------- /Modules/Image/include/mirtk/VelocityFieldExp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_VelocityFieldExp_H 21 | #define MIRTK_VelocityFieldExp_H 22 | 23 | #include "mirtk/GenericImage.h" 24 | #include "mirtk/VelocityToDisplacementFieldSS.h" 25 | 26 | 27 | namespace mirtk { 28 | 29 | 30 | /// Compute exponential map of given velocity field 31 | template 32 | void Exp(GenericImage *v) 33 | { 34 | VelocityToDisplacementFieldSS vtod; 35 | vtod.SetInput (v); 36 | vtod.SetOutput(v); 37 | vtod.Run(); 38 | } 39 | 40 | 41 | } // mirtk 42 | 43 | #endif // MIRTK_VelocityFieldExp_H 44 | -------------------------------------------------------------------------------- /Modules/Numerics/src/Vector3D.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2008-2015 Imperial College London 5 | * Copyright 2008-2015 Daniel Rueckert, Julia Schnabel 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #include "mirtk/Vector3D.h" 21 | 22 | namespace mirtk { 23 | 24 | 25 | template struct Vector3D; 26 | template struct Vector3D; 27 | template struct Vector3D; 28 | template struct Vector3D; 29 | 30 | 31 | } // namespace mirtk 32 | -------------------------------------------------------------------------------- /Modules/Numerics/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2015 Imperial College London 5 | # Copyright 2013-2015 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | macro(add_numerics_test class_name) 21 | mirtk_add_test(${class_name} SOURCES NumericsTest.h DEPENDS LibNumerics) 22 | endmacro () 23 | 24 | 25 | add_numerics_test(Vector) 26 | add_numerics_test(Matrix) 27 | add_numerics_test(Polynomial) 28 | -------------------------------------------------------------------------------- /Modules/PointSet/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | mirtk_configure_module() 21 | -------------------------------------------------------------------------------- /Modules/PointSet/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2015 Imperial College London 5 | # Copyright 2013-2015 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | macro(add_pointset_test class_name) 21 | mirtk_add_test(${class_name} DEPENDS LibPointSet) 22 | endmacro () 23 | 24 | 25 | add_pointset_test(EdgeTable) 26 | -------------------------------------------------------------------------------- /Modules/Registration/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | mirtk_configure_module() 21 | -------------------------------------------------------------------------------- /Modules/Registration/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2015 Imperial College London 5 | # Copyright 2013-2015 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | macro(add_registration_test class_name) 21 | mirtk_add_test(${class_name} DEPENDS LibRegistration) 22 | endmacro () 23 | 24 | 25 | add_registration_test(RegisteredImage) 26 | -------------------------------------------------------------------------------- /Modules/Transformation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 2013-2016 Imperial College London 5 | # Copyright 2013-2016 Andreas Schuh 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # ============================================================================ 19 | 20 | mirtk_configure_module() 21 | -------------------------------------------------------------------------------- /Modules/Transformation/include/mirtk/TransformationConfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 2013-2015 Imperial College London 5 | * Copyright 2013-2015 Andreas Schuh 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #ifndef MIRTK_TransformationConfig_H 21 | #define MIRTK_TransformationConfig_H 22 | 23 | 24 | namespace mirtk { 25 | 26 | 27 | /// Initialize MIRTK Transformation library 28 | /// 29 | /// Registers all available types with their respective object factories. 30 | void InitializeTransformationLibrary(); 31 | 32 | 33 | } // namespace mirtk 34 | 35 | #endif // MIRTK_TransformationConfig_H 36 | -------------------------------------------------------------------------------- /Scripts/replace.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | ## Small utility script used to search and replace text in all project files. 4 | 5 | old=${1//|/\\|} 6 | new=${2//|/\\|} 7 | if [ -z "${old}" ]; then 8 | echo "usage: $0 " 1>&2 9 | exit 1 10 | fi 11 | 12 | if [[ `uname` == Darwin ]]; then 13 | _replace() 14 | { 15 | sed -i '' "s|$2|$3|g" "$1" 16 | } 17 | else 18 | _replace() 19 | { 20 | sed -i'' "s|$2|$3|g" "$1" 21 | } 22 | fi 23 | 24 | for f in $(find "$PWD" -mindepth 1 -maxdepth 1 -type f ! -name '.*'); do 25 | _replace "$f" "$old" "$new" 26 | done 27 | for d in $(find "$PWD" -mindepth 1 -maxdepth 1 -type d ! -name .git ! -name ThirdParty); do 28 | for f in $(find "$d" -type f ! -name .git); do 29 | _replace "$f" "$old" "$new" 30 | done 31 | done 32 | -------------------------------------------------------------------------------- /Templates/README.md: -------------------------------------------------------------------------------- 1 | MIRTK CMake BASIS Templates 2 | =========================== 3 | 4 | This directory contains template files for the creation of a new MIRTK module. 5 | It can be used with the CMake BASIS "basisproject" tool which automatically 6 | customizes the template files, for example, by inserting the author information 7 | and module description or adding a list of module dependencies. All this can 8 | also be done manually. The _conf.py file is only needed by the "basisproject" 9 | tool and should not be copied into the MIRTK module directory. 10 | -------------------------------------------------------------------------------- /Templates/mirtk-module/1.0/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ============================================================================ 18 | 19 | cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) 20 | 21 | if (NOT COMMAND mirtk_configure_module) 22 | find_package(MIRTK REQUIRED COMPONENTS CMake) 23 | endif () 24 | 25 | mirtk_configure_module() 26 | -------------------------------------------------------------------------------- /Templates/mirtk-module/1.0/README.md: -------------------------------------------------------------------------------- 1 | MIRTK Package 2 | ======================= 3 | 4 | The module of the Medical Image Registration ToolKit (MIRTK). 5 | 6 | 7 | 8 | License 9 | ------- 10 | 11 | The MIRTK module is distributed under the terms of the 12 | [Apache License Version 2](http://www.apache.org/licenses/LICENSE-2.0). 13 | -------------------------------------------------------------------------------- /Templates/mirtk-module/1.0/config/config.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Medical Image Registration ToolKit (MIRTK) 3 | * 4 | * Copyright 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | #ifndef MIRTK_@PROJECT_NAME@Config_H 20 | #define MIRTK_@PROJECT_NAME@Config_H 21 | 22 | 23 | /// Whether MIRTK Numerics module was built with VTK 24 | #define MIRTK_@PROJECT_NAME@_WITH_VTK @WITH_VTK_CONFIG@ 25 | 26 | 27 | #endif // MIRTK_@PROJECT_NAME@Config_H 28 | -------------------------------------------------------------------------------- /Templates/mirtk-module/1.0/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ============================================================================ 18 | 19 | mirtk_add_test(ClassName DEPENDS LibCommon) 20 | -------------------------------------------------------------------------------- /Templates/mirtk-module/1.0/tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ============================================================================ 2 | # Medical Image Registration ToolKit (MIRTK) 3 | # 4 | # Copyright 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ============================================================================ 18 | 19 | ############################################################################## 20 | # @file CMakeLists.txt 21 | # @brief Build configuration of MIRTK tools. 22 | ############################################################################## 23 | 24 | #mirtk_add_executable(foo DEPENDS LibImage OPTIONAL LibPointSet) 25 | --------------------------------------------------------------------------------