Difference between revisions of "Documentation/Nightly/Extensions/Q3DC"

From Slicer Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
 
Contributor4: Steve Pieper (Isomics, Inc.)<br>
 
Contributor4: Steve Pieper (Isomics, Inc.)<br>
 
Contributor5: Jean-Baptiste Vimort (University of Michigan)<br>
 
Contributor5: Jean-Baptiste Vimort (University of Michigan)<br>
Contact: Lucie Macron, <email>lucie.macron@gmail.com</email><br>
+
Contact: Jean-Baptiste Vimort, <email>jb.vimort@gmail.com</email><br>
 
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]
 
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-introduction-row}}
Line 44: Line 44:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/extension-section|Tutorials}}
 
{{documentation/{{documentation/version}}/extension-section|Tutorials}}
N/A
+
===Visibility of models and Landmarks===
 +
{|
 +
|[[Image:CMFVisibilityOfModelsAndLandmarksTab.png|500px]]
 +
|This tab allows the user to display and hide all the models and landmarks contained in Slicer's scene. <br>
 +
|}
 +
===Add and move landmarks===
 +
{|
 +
|[[Image:CMFAddAndMoveLandmarksTab.png|500px]]
 +
|To add points, the user will need to select a model (on which each landmark will be projected) and a list of landmarks. <br>
 +
This list of Landmarks can already contain landmarks, if that is the case the "on surface" option will project all the landmarks that are not defined as a middle point. <br>
 +
Only one landmark can be moved at the time, the one that is selected in the "landmark modification" part. This landmark can be kept on the surface or not.
 +
|}
 +
===Define a middle point===
 +
{|
 +
|[[Image:CMFDefineMiddlePointsTab.png|500px]]
 +
|In this tab, the user will have to define a middle point defined with two landmarks. <br>
 +
Q3DC won't allow the modification of any middle point, therefore all the middle points will be updated when one of the landmarks that define its is moved.
 +
|}
 +
===Calculate distance between two landmarks===
 +
{|
 +
|[[Image:CMFCalculateDistanceBetweenLandmarksTab.png|500px]]
 +
|To calculate distances between two points the user will need two specify two landmarks that can be from different landmark list. <br>
 +
The result of each measurement will be add as a line in a tab, each measurement will contain the distance between the two points in the 3D space and the 3 components (x,y,z) of the distance. <br>
 +
The result tab can then be exported as a .csv file.
 +
|}
 +
===Calculate angles between two lines===
 +
{|
 +
|[[Image:CMFCalculateAngleBetweenLinesTab.png|500px]]
 +
|To calculate angles between two lines the user will need two specify two lines each composed of two points,  each landmarks can be from different landmark list. <br>
 +
The user will then have the possibility to choose if he want to compute the Roll, Pitch and/or Yaw. <br>
 +
The result of each measurement will be add as a line in a tab, each measurement will contain what the user had decide to compute.<br>
 +
The result tab can then be exported as a .csv file.
 +
|}
 +
===Calculate distance between a landmark and a line===
 +
{|
 +
|[[Image:CMFCalculateDistanceBetweenLineLandmrksTab.png|500px]]
 +
|To calculate distances between a point and a line, the user will need two specify two landmarks that will define the line and an other landmark for the point, each landmark can be from different landmark list. <br>
 +
The point will then be projected on the line, and the distance between the selected point and the projected point will be computed. <br>
 +
The result of each measurement will be add as a line in a tab, each measurement will contain the distance between the two points in the 3D space and the 3 components (x,y,z) of the distance. <br>
 +
The result tab can then be exported as a .csv file.
 +
|}
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->

Latest revision as of 13:50, 20 May 2016

Home < Documentation < Nightly < Extensions < Q3DC


For the latest Slicer documentation, visit the read-the-docs.


Introduction and Acknowledgements

Extension: Q3DC
Acknowledgments: This work was supported by the National Institues of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450
Author: Lucie Macron (University of Michigan)
Contributor1: Francois Budin (UNC)
Contributor2: Beatriz Paniagua (UNC)
Contributor3: Lucia Cevidanes (University of Michigan)
Contributor4: Steve Pieper (Isomics, Inc.)
Contributor5: Jean-Baptiste Vimort (University of Michigan)
Contact: Jean-Baptiste Vimort, <email>jb.vimort@gmail.com</email>
License: Apache License, Version 2.0

Module Description

This extension contains one module of the same name: Q3DC means Quantitative 3D Cephalometrics, meaning head measurements used in craniofacial surgery. Using placed fiducials, it allows users to compute 2D angles: Yaw, Pitch and Roll; and decompose the 3D distance into the three different components: R-L , A-P and S-I. It is possible to compute the middle point between two fiducials and export the values.

Use Cases

Logo for Q3DC
Interface of Q3DC
Q3DC in Slicer

Tutorials

Visibility of models and Landmarks

CMFVisibilityOfModelsAndLandmarksTab.png This tab allows the user to display and hide all the models and landmarks contained in Slicer's scene.

Add and move landmarks

CMFAddAndMoveLandmarksTab.png To add points, the user will need to select a model (on which each landmark will be projected) and a list of landmarks.

This list of Landmarks can already contain landmarks, if that is the case the "on surface" option will project all the landmarks that are not defined as a middle point.
Only one landmark can be moved at the time, the one that is selected in the "landmark modification" part. This landmark can be kept on the surface or not.

Define a middle point

CMFDefineMiddlePointsTab.png In this tab, the user will have to define a middle point defined with two landmarks.

Q3DC won't allow the modification of any middle point, therefore all the middle points will be updated when one of the landmarks that define its is moved.

Calculate distance between two landmarks

CMFCalculateDistanceBetweenLandmarksTab.png To calculate distances between two points the user will need two specify two landmarks that can be from different landmark list.

The result of each measurement will be add as a line in a tab, each measurement will contain the distance between the two points in the 3D space and the 3 components (x,y,z) of the distance.
The result tab can then be exported as a .csv file.

Calculate angles between two lines

CMFCalculateAngleBetweenLinesTab.png To calculate angles between two lines the user will need two specify two lines each composed of two points, each landmarks can be from different landmark list.

The user will then have the possibility to choose if he want to compute the Roll, Pitch and/or Yaw.
The result of each measurement will be add as a line in a tab, each measurement will contain what the user had decide to compute.
The result tab can then be exported as a .csv file.

Calculate distance between a landmark and a line

CMFCalculateDistanceBetweenLineLandmrksTab.png To calculate distances between a point and a line, the user will need two specify two landmarks that will define the line and an other landmark for the point, each landmark can be from different landmark list.

The point will then be projected on the line, and the distance between the selected point and the projected point will be computed.
The result of each measurement will be add as a line in a tab, each measurement will contain the distance between the two points in the 3D space and the 3 components (x,y,z) of the distance.
The result tab can then be exported as a .csv file.

Similar Modules

N/A

Information for Developers

The source code is available on github