From SlicerWiki
Jump to: navigation, search
Home < Documentation < Nightly < Extensions < ModelToModelDistance

For the stable Slicer documentation, visit the 4.6 page.

Introduction and Acknowledgements

Extension: ModelToModelDistance
Acknowledgments: This work was funded by National Institute of Dental and Craniofacial Research (NIDCR) and the National Institute of Biomedical Imaging and Bioengineering (NIBIB) through the grants R01 DE024450 and R01 DE005215
Author: Francois Budin (UNC)
Contributor1: Julietta Pera (UNC)
Contributor2: Beatriz Paniagua (UNC)
Contact: Francois Budin,
License: Apache License, Version 2.0

Module Description

This extension contains one CLI module of the same name. It computes a point by point distance between two models loaded in Slicer or VTK volumes. It is based on vtkDistancePolyDataFilter. The distance can be signed or unsigned. Even though vtkDistancePolyDataFilter computes both the distance between points and the distance between cells, this module only saves the distance between points. The output volume has the same number of points as the first input volume. The distances are saved as in the model as a point data array under the name "Distance" which is added to the input point and cell arrays already in the first input file.

Use Cases

Input shapes overlaid
Distance computed


More information can be found on

Panels and their use

Quick Tour of Features and Use

A list panels in the interface, their features, what they mean, and how to use them.

  • Input/Ouput:
    • VTK File 1 [----vtkfile1] : VTK File 1 (required)
    • VTK File 2 [----vtkfile2] : VTK File 2 (required)
    • VTK Output File [----output] : VTK Output File (required)
    • distanceType [----distanceType] : Algorithm used to compute the distance between the 2 models (signed_closest_point/absolute_closest_point/corresponding_point_to_point).
      • signed_closest_point and absolute_closest_point are respectively the signed and absolute Hausdorff distance between the points of the 2 models.
      • corresponding_point_to_point requires the 2 models to have the same number of points. It assumes that in each model, point at a certain index correspond to each other. The distance is then computed between each corresponding point. The distances are computed the following way: Point2 - Point1. The output information is saved in a copy of VTKFile1. This methods adds 6 data fields to the vtk file: PointToPointVector, SignedPointToPointDistance, AbsolutePointToPointDistance, MagNormVector, SignedMagNormDirDistance, AbsoluteMagNormDirDistance. PointToPoint distances are the different distances between the models (vector, signed distance and absolute distance). MagNorm distances are computed on the projection of the distance version on the normal at that location. MagNormVector is the normal version multiplied by the dot product of the normal vector and the distance vector. SignedMagNormDirDistance is the dot product between the 2 vectors and AbsoluteMagNormDirDistance its absolute value.
Module UI

Similar Modules


Information for Developers

The source code is available on github