<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prisgdd</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prisgdd"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Prisgdd"/>
	<updated>2026-05-09T21:05:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=52570</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=52570"/>
		<updated>2017-06-28T19:09:15Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
To use this extension on Windows, you '''must''' run 3D Slicer as administrator.&lt;br /&gt;
&lt;br /&gt;
* MacOS&lt;br /&gt;
Mac OS 10.11.0 or later&lt;br /&gt;
&lt;br /&gt;
* Linux&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the classifier&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer] &amp;lt;br&amp;gt;&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=52561</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=52561"/>
		<updated>2017-06-28T15:22:33Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
To use this extension on Windows, you '''must''' run 3D Slicer as administrator.&lt;br /&gt;
&lt;br /&gt;
* MacOS&lt;br /&gt;
&lt;br /&gt;
* Linux&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the classifier&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer] &amp;lt;br&amp;gt;&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification-Classify.png&amp;diff=52246</id>
		<title>File:MorphologicalClassification-Classify.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification-Classify.png&amp;diff=52246"/>
		<updated>2017-06-08T14:20:14Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification-Classify.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52223</id>
		<title>File:MorphologicalClassification.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52223"/>
		<updated>2017-06-07T18:32:20Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52222</id>
		<title>File:MorphologicalClassification.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52222"/>
		<updated>2017-06-07T18:28:47Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52221</id>
		<title>File:MorphologicalClassification.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52221"/>
		<updated>2017-06-07T18:28:21Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52220</id>
		<title>File:MorphologicalClassification.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification.png&amp;diff=52220"/>
		<updated>2017-06-07T18:27:21Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:MorphologicalClassification-CreateNetwork.png&amp;diff=52219</id>
		<title>File:MorphologicalClassification-CreateNetwork.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:MorphologicalClassification-CreateNetwork.png&amp;diff=52219"/>
		<updated>2017-06-07T18:25:35Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:MorphologicalClassification-CreateNetwork.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-GUI.png&amp;diff=52218</id>
		<title>File:ShapeVariationAnalyzer-GUI.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-GUI.png&amp;diff=52218"/>
		<updated>2017-06-07T18:17:54Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:ShapeVariationAnalyzer-GUI.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51887</id>
		<title>File:FullView ShapeVariationAnalyzer.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51887"/>
		<updated>2017-05-10T20:41:33Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:FullView ShapeVariationAnalyzer.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51886</id>
		<title>File:FullView ShapeVariationAnalyzer.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51886"/>
		<updated>2017-05-10T20:37:19Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:FullView ShapeVariationAnalyzer.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51885</id>
		<title>File:ShapeVariationAnalyzer-Logo.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51885"/>
		<updated>2017-05-10T20:09:55Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:ShapeVariationAnalyzer-Logo.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51884</id>
		<title>File:ShapeVariationAnalyzer-Logo.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51884"/>
		<updated>2017-05-10T20:06:12Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: Prisgdd uploaded a new version of File:ShapeVariationAnalyzer-Logo.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51883</id>
		<title>File:ShapeVariationAnalyzer-Logo.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-Logo.png&amp;diff=51883"/>
		<updated>2017-05-10T19:43:55Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51880</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51880"/>
		<updated>2017-05-10T19:43:24Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the classifier&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer] &amp;lt;br&amp;gt;&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51877</id>
		<title>Documentation/Nightly/ModuleExtensionListing/Extensions by category</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51877"/>
		<updated>2017-05-10T18:40:15Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Quantification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[#Extensions_by_category|Extensions by category]]&lt;br /&gt;
= Extensions by category =&lt;br /&gt;
33 categories:&lt;br /&gt;
* [[#Extensions_by_category_Astronomy|Astronomy]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac|Cardiac]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac_MRI_toolkit|Cardiac MRI toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Chest_Imaging_Platform|Chest Imaging Platform]]&lt;br /&gt;
* [[#Extensions_by_category_Converters|Converters]]&lt;br /&gt;
* [[#Extensions_by_category_Developer_Tools|Developer Tools]]&lt;br /&gt;
* [[#Extensions_by_category_DICOM|DICOM]]&lt;br /&gt;
* [[#Extensions_by_category_Diffusion|Diffusion]]&lt;br /&gt;
* [[#Extensions_by_category_Digital_Pathology|Digital Pathology]]&lt;br /&gt;
* [[#Extensions_by_category_Editor_Effects|Editor Effects]]&lt;br /&gt;
* [[#Extensions_by_category_Examples|Examples]]&lt;br /&gt;
* [[#Extensions_by_category_Exporter|Exporter]]&lt;br /&gt;
* [[#Extensions_by_category_Filtering|Filtering]]&lt;br /&gt;
* [[#Extensions_by_category_IGT|IGT]]&lt;br /&gt;
* [[#Extensions_by_category_Informatics|Informatics]]&lt;br /&gt;
* [[#Extensions_by_category_Libraries|Libraries]]&lt;br /&gt;
* [[#Extensions_by_category_Machine_Learning|Machine Learning]]&lt;br /&gt;
* [[#Extensions_by_category_Mesh_Generation|Mesh Generation]]&lt;br /&gt;
* [[#Extensions_by_category_Microscopy|Microscopy]]&lt;br /&gt;
* [[#Extensions_by_category_Nuclear_Medicine|Nuclear Medicine]]&lt;br /&gt;
* [[#Extensions_by_category_Quantification|Quantification]]&lt;br /&gt;
* [[#Extensions_by_category_Radiotherapy|Radiotherapy]]&lt;br /&gt;
* [[#Extensions_by_category_Registration|Registration]]&lt;br /&gt;
* [[#Extensions_by_category_Remote|Remote]]&lt;br /&gt;
* [[#Extensions_by_category_Scoliosis|Scoliosis]]&lt;br /&gt;
* [[#Extensions_by_category_Segmentation|Segmentation]]&lt;br /&gt;
* [[#Extensions_by_category_Sequences|Sequences]]&lt;br /&gt;
* [[#Extensions_by_category_Shape_Analysis|Shape Analysis]]&lt;br /&gt;
* [[#Extensions_by_category_Tractography|Tractography]]&lt;br /&gt;
* [[#Extensions_by_category_Training|Training]]&lt;br /&gt;
* [[#Extensions_by_category_Vascular_Modeling_Toolkit|Vascular Modeling Toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Web_System_Tools|Web System Tools]]&lt;br /&gt;
* [[#Extensions_by_category_Wizards|Wizards]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Astronomy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Astronomy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerAstro|SlicerAstro]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerHeart|SlicerHeart]]&lt;br /&gt;
* [http://brainsia.github.io/CardiacAgatstonMeasures/ CardiacAgatstonMeasures]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac_MRI_toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac MRI toolkit ==&lt;br /&gt;
* [http://capulet.med.utah.edu/namic/cmrslicer/ Cardiac_MRI_Toolkit]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Chest_Imaging_Platform'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Chest Imaging Platform ==&lt;br /&gt;
* [http://www.chestimagingplatform.org Chest_Imaging_Platform]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Converters'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Converters ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PETDICOM PETDICOMExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Developer_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Developer Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeveloperToolsForExtensions|DeveloperToolsForExtensions]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DebuggingTools|DebuggingTools]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MatlabBridge|MatlabBridge]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ImageMaker|ImageMaker]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_DICOM'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== DICOM ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DCMQI|DCMQI]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Diffusion'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Diffusion ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerDMRI|SlicerDMRI]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResampleDTIlogEuclidean|ResampleDTIlogEuclidean]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Digital_Pathology'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Digital Pathology ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerPathology|SlicerPathology]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Editor_Effects'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Editor Effects ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/WindowLevelEffect|WindowLevelEffect]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Examples'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCVExample|OpenCVExample]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Exporter'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Exporter ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerToKiwiExporter|SlicerToKiwiExporter]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Filtering'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filtering ==&lt;br /&gt;
* [https://kitwaremedical.github.io/SlicerITKUltrasoundDoc/ SlicerITKUltrasound]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_IGT'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== IGT ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/GyroGuide|GyroGuide]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/TrackerStabilizer TrackerStabilizer]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CornerAnnotation|CornerAnnotation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SliceTracker|SliceTracker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PercutaneousApproachAnalysis|PercutaneousApproachAnalysis]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/NeedleFinder|NeedleFinder]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerIGT|SlicerIGT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/iGyne|iGyne]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResectionPlanner|ResectionPlanner]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Informatics'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Informatics ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CurveMaker|CurveMaker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LongitudinalPETCT|LongitudinalPETCT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/mpReview|mpReview]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/TCIABrowser|TCIABrowser]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerProstate|SlicerProstate]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/QuantitativeReporting|QuantitativeReporting]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Libraries'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerOpenCV|SlicerOpenCV]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Machine_Learning'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Machine Learning ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeepInfer|DeepInfer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Mesh_Generation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mesh Generation ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CBC_3D_I2MConversion|CBC_3D_I2MConversion]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CleaverExtension|CleaverExtension]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Microscopy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Microscopy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IASEM|IASEM]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Nuclear_Medicine'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Nuclear Medicine ==&lt;br /&gt;
* [http://gti-fing.github.io/SlicerPetSpectAnalysis PetSpectAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Quantification'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Quantification ==&lt;br /&gt;
* [http://slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/DSC_MRI_Analysis DSCMRIAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ModelToModelDistance|ModelToModelDistance]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/T1Mapping|T1Mapping]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeQuantifier|ShapeQuantifier]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DiceComputation|DiceComputation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETLiverUptakeMeasurement|PETLiverUptakeMeasurement]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PET-IndiC|PET-IndiC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PkModeling|PkModeling]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeVariationAnalyzer|ShapeVariationAnalyzer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Radiotherapy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Radiotherapy ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/FilmDosimetry FilmDosimetryAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MarginCalculator|MarginCalculator]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerRT|SlicerRT]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GelDosimetry GelDosimetryAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Registration'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Registration ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ScatteredTransform|ScatteredTransform]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CMFreg|CMFreg]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PBNRR|PBNRR]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Remote'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Remote ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/XNATSlicer|XNATSlicer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Scoliosis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scoliosis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Scoliosis|Scoliosis]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Segmentation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Segmentation ==&lt;br /&gt;
* [http://publish.uwo.ca/~dchen285/GraphCutSegment/GraphCutSegment.html GraphCutSegment]&lt;br /&gt;
* [http://www.nitrc.org/projects/abc ABC]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ROBEXBrainExtraction|ROBEXBrainExtraction]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SwissSkullStripper|SwissSkullStripper]]&lt;br /&gt;
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/CarreraSliceInteractiveSegmenter CarreraSlice]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SkullStripper|SkullStripper]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETTumorSegmentation|PETTumorSegmentation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LAScarSegmenter|LAScarSegmenter]]&lt;br /&gt;
* [https://github.com/lassoan/SlicerSegmentEditorExtraEffects SegmentEditorExtraEffects]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCAD|OpenCAD]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IntensitySegmenter|IntensitySegmenter]]&lt;br /&gt;
* [https://github.com/Tomnl/Slicer-Wasp Wasp]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/AirwaySegmentation AirwaySegmentation]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SobolevSegmenter|SobolevSegmenter]]&lt;br /&gt;
* [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut FastGrowCutEffect]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/VolumeClip|VolumeClip]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Sequences'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sequences ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Sequences|Sequences]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Shape_Analysis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Shape Analysis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MeshToLabelMap|MeshToLabelMap]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Q3DC|Q3DC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/EasyClip|EasyClip]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PickAndPaint PickAndPaintExtension]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/MeshStatistics MeshStatisticsExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Tractography'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Tractography ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/UKFTractography|UKFTractography]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Training'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Training ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PerkTutor|PerkTutor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Vascular_Modeling_Toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Vascular Modeling Toolkit ==&lt;br /&gt;
* [http://slicer.vmtk.org/ VMTK]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Web_System_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Web System Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DatabaseInteractor|DatabaseInteractor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Wizards'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Wizards ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ChangeTracker|ChangeTracker]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51874</id>
		<title>Documentation/Nightly/ModuleExtensionListing/Extensions by category</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51874"/>
		<updated>2017-05-10T18:39:58Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Machine Learning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[#Extensions_by_category|Extensions by category]]&lt;br /&gt;
= Extensions by category =&lt;br /&gt;
33 categories:&lt;br /&gt;
* [[#Extensions_by_category_Astronomy|Astronomy]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac|Cardiac]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac_MRI_toolkit|Cardiac MRI toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Chest_Imaging_Platform|Chest Imaging Platform]]&lt;br /&gt;
* [[#Extensions_by_category_Converters|Converters]]&lt;br /&gt;
* [[#Extensions_by_category_Developer_Tools|Developer Tools]]&lt;br /&gt;
* [[#Extensions_by_category_DICOM|DICOM]]&lt;br /&gt;
* [[#Extensions_by_category_Diffusion|Diffusion]]&lt;br /&gt;
* [[#Extensions_by_category_Digital_Pathology|Digital Pathology]]&lt;br /&gt;
* [[#Extensions_by_category_Editor_Effects|Editor Effects]]&lt;br /&gt;
* [[#Extensions_by_category_Examples|Examples]]&lt;br /&gt;
* [[#Extensions_by_category_Exporter|Exporter]]&lt;br /&gt;
* [[#Extensions_by_category_Filtering|Filtering]]&lt;br /&gt;
* [[#Extensions_by_category_IGT|IGT]]&lt;br /&gt;
* [[#Extensions_by_category_Informatics|Informatics]]&lt;br /&gt;
* [[#Extensions_by_category_Libraries|Libraries]]&lt;br /&gt;
* [[#Extensions_by_category_Machine_Learning|Machine Learning]]&lt;br /&gt;
* [[#Extensions_by_category_Mesh_Generation|Mesh Generation]]&lt;br /&gt;
* [[#Extensions_by_category_Microscopy|Microscopy]]&lt;br /&gt;
* [[#Extensions_by_category_Nuclear_Medicine|Nuclear Medicine]]&lt;br /&gt;
* [[#Extensions_by_category_Quantification|Quantification]]&lt;br /&gt;
* [[#Extensions_by_category_Radiotherapy|Radiotherapy]]&lt;br /&gt;
* [[#Extensions_by_category_Registration|Registration]]&lt;br /&gt;
* [[#Extensions_by_category_Remote|Remote]]&lt;br /&gt;
* [[#Extensions_by_category_Scoliosis|Scoliosis]]&lt;br /&gt;
* [[#Extensions_by_category_Segmentation|Segmentation]]&lt;br /&gt;
* [[#Extensions_by_category_Sequences|Sequences]]&lt;br /&gt;
* [[#Extensions_by_category_Shape_Analysis|Shape Analysis]]&lt;br /&gt;
* [[#Extensions_by_category_Tractography|Tractography]]&lt;br /&gt;
* [[#Extensions_by_category_Training|Training]]&lt;br /&gt;
* [[#Extensions_by_category_Vascular_Modeling_Toolkit|Vascular Modeling Toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Web_System_Tools|Web System Tools]]&lt;br /&gt;
* [[#Extensions_by_category_Wizards|Wizards]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Astronomy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Astronomy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerAstro|SlicerAstro]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerHeart|SlicerHeart]]&lt;br /&gt;
* [http://brainsia.github.io/CardiacAgatstonMeasures/ CardiacAgatstonMeasures]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac_MRI_toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac MRI toolkit ==&lt;br /&gt;
* [http://capulet.med.utah.edu/namic/cmrslicer/ Cardiac_MRI_Toolkit]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Chest_Imaging_Platform'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Chest Imaging Platform ==&lt;br /&gt;
* [http://www.chestimagingplatform.org Chest_Imaging_Platform]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Converters'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Converters ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PETDICOM PETDICOMExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Developer_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Developer Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeveloperToolsForExtensions|DeveloperToolsForExtensions]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DebuggingTools|DebuggingTools]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MatlabBridge|MatlabBridge]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ImageMaker|ImageMaker]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_DICOM'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== DICOM ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DCMQI|DCMQI]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Diffusion'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Diffusion ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerDMRI|SlicerDMRI]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResampleDTIlogEuclidean|ResampleDTIlogEuclidean]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Digital_Pathology'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Digital Pathology ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerPathology|SlicerPathology]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Editor_Effects'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Editor Effects ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/WindowLevelEffect|WindowLevelEffect]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Examples'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCVExample|OpenCVExample]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Exporter'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Exporter ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerToKiwiExporter|SlicerToKiwiExporter]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Filtering'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filtering ==&lt;br /&gt;
* [https://kitwaremedical.github.io/SlicerITKUltrasoundDoc/ SlicerITKUltrasound]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_IGT'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== IGT ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/GyroGuide|GyroGuide]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/TrackerStabilizer TrackerStabilizer]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CornerAnnotation|CornerAnnotation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SliceTracker|SliceTracker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PercutaneousApproachAnalysis|PercutaneousApproachAnalysis]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/NeedleFinder|NeedleFinder]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerIGT|SlicerIGT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/iGyne|iGyne]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResectionPlanner|ResectionPlanner]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Informatics'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Informatics ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CurveMaker|CurveMaker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LongitudinalPETCT|LongitudinalPETCT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/mpReview|mpReview]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/TCIABrowser|TCIABrowser]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerProstate|SlicerProstate]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/QuantitativeReporting|QuantitativeReporting]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Libraries'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerOpenCV|SlicerOpenCV]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Machine_Learning'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Machine Learning ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeepInfer|DeepInfer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Mesh_Generation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mesh Generation ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CBC_3D_I2MConversion|CBC_3D_I2MConversion]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CleaverExtension|CleaverExtension]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Microscopy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Microscopy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IASEM|IASEM]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Nuclear_Medicine'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Nuclear Medicine ==&lt;br /&gt;
* [http://gti-fing.github.io/SlicerPetSpectAnalysis PetSpectAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Quantification'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Quantification ==&lt;br /&gt;
* [http://slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/DSC_MRI_Analysis DSCMRIAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ModelToModelDistance|ModelToModelDistance]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/T1Mapping|T1Mapping]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeQuantifier|ShapeQuantifier]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DiceComputation|DiceComputation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETLiverUptakeMeasurement|PETLiverUptakeMeasurement]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PET-IndiC|PET-IndiC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PkModeling|PkModeling]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Radiotherapy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Radiotherapy ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/FilmDosimetry FilmDosimetryAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MarginCalculator|MarginCalculator]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerRT|SlicerRT]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GelDosimetry GelDosimetryAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Registration'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Registration ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ScatteredTransform|ScatteredTransform]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CMFreg|CMFreg]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PBNRR|PBNRR]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Remote'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Remote ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/XNATSlicer|XNATSlicer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Scoliosis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scoliosis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Scoliosis|Scoliosis]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Segmentation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Segmentation ==&lt;br /&gt;
* [http://publish.uwo.ca/~dchen285/GraphCutSegment/GraphCutSegment.html GraphCutSegment]&lt;br /&gt;
* [http://www.nitrc.org/projects/abc ABC]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ROBEXBrainExtraction|ROBEXBrainExtraction]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SwissSkullStripper|SwissSkullStripper]]&lt;br /&gt;
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/CarreraSliceInteractiveSegmenter CarreraSlice]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SkullStripper|SkullStripper]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETTumorSegmentation|PETTumorSegmentation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LAScarSegmenter|LAScarSegmenter]]&lt;br /&gt;
* [https://github.com/lassoan/SlicerSegmentEditorExtraEffects SegmentEditorExtraEffects]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCAD|OpenCAD]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IntensitySegmenter|IntensitySegmenter]]&lt;br /&gt;
* [https://github.com/Tomnl/Slicer-Wasp Wasp]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/AirwaySegmentation AirwaySegmentation]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SobolevSegmenter|SobolevSegmenter]]&lt;br /&gt;
* [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut FastGrowCutEffect]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/VolumeClip|VolumeClip]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Sequences'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sequences ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Sequences|Sequences]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Shape_Analysis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Shape Analysis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MeshToLabelMap|MeshToLabelMap]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Q3DC|Q3DC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/EasyClip|EasyClip]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PickAndPaint PickAndPaintExtension]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/MeshStatistics MeshStatisticsExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Tractography'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Tractography ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/UKFTractography|UKFTractography]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Training'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Training ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PerkTutor|PerkTutor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Vascular_Modeling_Toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Vascular Modeling Toolkit ==&lt;br /&gt;
* [http://slicer.vmtk.org/ VMTK]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Web_System_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Web System Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DatabaseInteractor|DatabaseInteractor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Wizards'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Wizards ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ChangeTracker|ChangeTracker]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51871</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51871"/>
		<updated>2017-05-10T14:13:15Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the classifier&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer] &amp;lt;br&amp;gt;&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51868</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51868"/>
		<updated>2017-05-10T14:08:12Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the classifier&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51865</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51865"/>
		<updated>2017-05-10T14:07:10Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Computation of mean groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the average shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51862</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51862"/>
		<updated>2017-05-10T14:00:53Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Creation of CSV File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
To create this file, we recommend that &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51859</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51859"/>
		<updated>2017-05-10T13:54:44Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Creation of CSV File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV lists all the files used in the &amp;lt;u&amp;gt;training dataset&amp;lt;/u&amp;gt;. It will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51856</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51856"/>
		<updated>2017-05-10T13:52:39Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Prerequisities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
This can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51853</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51853"/>
		<updated>2017-05-10T13:42:55Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Prerequisities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important during the training phase. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the better it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and improved with RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51850</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51850"/>
		<updated>2017-05-09T22:17:25Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51847</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51847"/>
		<updated>2017-05-09T22:17:00Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
ShapeVariationAnalyzer allows the classification of 3D models, according to their morphological variation. This classifier can be used to identify shapes, help to provide a diagnosis, evaluate the staging of a disease. &lt;br /&gt;
This tool is based on a deep learning neural network which evaluates all the possible options and learns from past experience. The aim of this extension is to help understand morphological variations and provide an idea of the classification.  &amp;lt;br&amp;gt;&lt;br /&gt;
In a first phase, the neural network needs to learn from well-known shapes, in order to be able to process new models in the classification phase.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51844</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51844"/>
		<updated>2017-05-09T21:39:24Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|600px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51841</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51841"/>
		<updated>2017-05-09T20:50:55Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer-GUI.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|700px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-GUI.png&amp;diff=51840</id>
		<title>File:ShapeVariationAnalyzer-GUI.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:ShapeVariationAnalyzer-GUI.png&amp;diff=51840"/>
		<updated>2017-05-09T20:50:02Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51839</id>
		<title>File:FullView ShapeVariationAnalyzer.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:FullView_ShapeVariationAnalyzer.png&amp;diff=51839"/>
		<updated>2017-05-09T20:45:52Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51836</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51836"/>
		<updated>2017-05-09T20:45:21Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Logo.png|thumb|200px|Logo for ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:ShapeVariationAnalyzer_Interface.png|thumb|300px|Interface of ShapeVariationAnalyzer]]&lt;br /&gt;
|[[Image:FullView_ShapeVariationAnalyzer.png|thumb|700px|ShapeVariationAnalyzer in Slicer]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51803</id>
		<title>Documentation/Nightly/ModuleExtensionListing/Extensions by category</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51803"/>
		<updated>2017-05-08T13:21:32Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Machine Learning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[#Extensions_by_category|Extensions by category]]&lt;br /&gt;
= Extensions by category =&lt;br /&gt;
33 categories:&lt;br /&gt;
* [[#Extensions_by_category_Astronomy|Astronomy]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac|Cardiac]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac_MRI_toolkit|Cardiac MRI toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Chest_Imaging_Platform|Chest Imaging Platform]]&lt;br /&gt;
* [[#Extensions_by_category_Converters|Converters]]&lt;br /&gt;
* [[#Extensions_by_category_Developer_Tools|Developer Tools]]&lt;br /&gt;
* [[#Extensions_by_category_DICOM|DICOM]]&lt;br /&gt;
* [[#Extensions_by_category_Diffusion|Diffusion]]&lt;br /&gt;
* [[#Extensions_by_category_Digital_Pathology|Digital Pathology]]&lt;br /&gt;
* [[#Extensions_by_category_Editor_Effects|Editor Effects]]&lt;br /&gt;
* [[#Extensions_by_category_Examples|Examples]]&lt;br /&gt;
* [[#Extensions_by_category_Exporter|Exporter]]&lt;br /&gt;
* [[#Extensions_by_category_Filtering|Filtering]]&lt;br /&gt;
* [[#Extensions_by_category_IGT|IGT]]&lt;br /&gt;
* [[#Extensions_by_category_Informatics|Informatics]]&lt;br /&gt;
* [[#Extensions_by_category_Libraries|Libraries]]&lt;br /&gt;
* [[#Extensions_by_category_Machine_Learning|Machine Learning]]&lt;br /&gt;
* [[#Extensions_by_category_Mesh_Generation|Mesh Generation]]&lt;br /&gt;
* [[#Extensions_by_category_Microscopy|Microscopy]]&lt;br /&gt;
* [[#Extensions_by_category_Nuclear_Medicine|Nuclear Medicine]]&lt;br /&gt;
* [[#Extensions_by_category_Quantification|Quantification]]&lt;br /&gt;
* [[#Extensions_by_category_Radiotherapy|Radiotherapy]]&lt;br /&gt;
* [[#Extensions_by_category_Registration|Registration]]&lt;br /&gt;
* [[#Extensions_by_category_Remote|Remote]]&lt;br /&gt;
* [[#Extensions_by_category_Scoliosis|Scoliosis]]&lt;br /&gt;
* [[#Extensions_by_category_Segmentation|Segmentation]]&lt;br /&gt;
* [[#Extensions_by_category_Sequences|Sequences]]&lt;br /&gt;
* [[#Extensions_by_category_Shape_Analysis|Shape Analysis]]&lt;br /&gt;
* [[#Extensions_by_category_Tractography|Tractography]]&lt;br /&gt;
* [[#Extensions_by_category_Training|Training]]&lt;br /&gt;
* [[#Extensions_by_category_Vascular_Modeling_Toolkit|Vascular Modeling Toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Web_System_Tools|Web System Tools]]&lt;br /&gt;
* [[#Extensions_by_category_Wizards|Wizards]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Astronomy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Astronomy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerAstro|SlicerAstro]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerHeart|SlicerHeart]]&lt;br /&gt;
* [http://brainsia.github.io/CardiacAgatstonMeasures/ CardiacAgatstonMeasures]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac_MRI_toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac MRI toolkit ==&lt;br /&gt;
* [http://capulet.med.utah.edu/namic/cmrslicer/ Cardiac_MRI_Toolkit]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Chest_Imaging_Platform'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Chest Imaging Platform ==&lt;br /&gt;
* [http://www.chestimagingplatform.org Chest_Imaging_Platform]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Converters'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Converters ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PETDICOM PETDICOMExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Developer_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Developer Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeveloperToolsForExtensions|DeveloperToolsForExtensions]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DebuggingTools|DebuggingTools]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MatlabBridge|MatlabBridge]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ImageMaker|ImageMaker]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_DICOM'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== DICOM ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DCMQI|DCMQI]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Diffusion'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Diffusion ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerDMRI|SlicerDMRI]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResampleDTIlogEuclidean|ResampleDTIlogEuclidean]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Digital_Pathology'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Digital Pathology ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerPathology|SlicerPathology]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Editor_Effects'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Editor Effects ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/WindowLevelEffect|WindowLevelEffect]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Examples'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCVExample|OpenCVExample]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Exporter'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Exporter ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerToKiwiExporter|SlicerToKiwiExporter]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Filtering'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filtering ==&lt;br /&gt;
* [https://kitwaremedical.github.io/SlicerITKUltrasoundDoc/ SlicerITKUltrasound]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_IGT'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== IGT ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/GyroGuide|GyroGuide]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/TrackerStabilizer TrackerStabilizer]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CornerAnnotation|CornerAnnotation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SliceTracker|SliceTracker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PercutaneousApproachAnalysis|PercutaneousApproachAnalysis]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/NeedleFinder|NeedleFinder]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerIGT|SlicerIGT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/iGyne|iGyne]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResectionPlanner|ResectionPlanner]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Informatics'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Informatics ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CurveMaker|CurveMaker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LongitudinalPETCT|LongitudinalPETCT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/mpReview|mpReview]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/TCIABrowser|TCIABrowser]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerProstate|SlicerProstate]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/QuantitativeReporting|QuantitativeReporting]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Libraries'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerOpenCV|SlicerOpenCV]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Machine_Learning'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Machine Learning ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeepInfer|DeepInfer]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeVariationAnalyzer|ShapeVariationAnalyzer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Mesh_Generation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mesh Generation ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CBC_3D_I2MConversion|CBC_3D_I2MConversion]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CleaverExtension|CleaverExtension]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Microscopy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Microscopy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IASEM|IASEM]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Nuclear_Medicine'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Nuclear Medicine ==&lt;br /&gt;
* [http://gti-fing.github.io/SlicerPetSpectAnalysis PetSpectAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Quantification'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Quantification ==&lt;br /&gt;
* [http://slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/DSC_MRI_Analysis DSCMRIAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ModelToModelDistance|ModelToModelDistance]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/T1Mapping|T1Mapping]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeQuantifier|ShapeQuantifier]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DiceComputation|DiceComputation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETLiverUptakeMeasurement|PETLiverUptakeMeasurement]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PET-IndiC|PET-IndiC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PkModeling|PkModeling]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Radiotherapy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Radiotherapy ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/FilmDosimetry FilmDosimetryAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MarginCalculator|MarginCalculator]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerRT|SlicerRT]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GelDosimetry GelDosimetryAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Registration'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Registration ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ScatteredTransform|ScatteredTransform]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CMFreg|CMFreg]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PBNRR|PBNRR]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Remote'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Remote ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/XNATSlicer|XNATSlicer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Scoliosis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scoliosis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Scoliosis|Scoliosis]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Segmentation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Segmentation ==&lt;br /&gt;
* [http://publish.uwo.ca/~dchen285/GraphCutSegment/GraphCutSegment.html GraphCutSegment]&lt;br /&gt;
* [http://www.nitrc.org/projects/abc ABC]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ROBEXBrainExtraction|ROBEXBrainExtraction]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SwissSkullStripper|SwissSkullStripper]]&lt;br /&gt;
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/CarreraSliceInteractiveSegmenter CarreraSlice]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SkullStripper|SkullStripper]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETTumorSegmentation|PETTumorSegmentation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LAScarSegmenter|LAScarSegmenter]]&lt;br /&gt;
* [https://github.com/lassoan/SlicerSegmentEditorExtraEffects SegmentEditorExtraEffects]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCAD|OpenCAD]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IntensitySegmenter|IntensitySegmenter]]&lt;br /&gt;
* [https://github.com/Tomnl/Slicer-Wasp Wasp]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/AirwaySegmentation AirwaySegmentation]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SobolevSegmenter|SobolevSegmenter]]&lt;br /&gt;
* [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut FastGrowCutEffect]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/VolumeClip|VolumeClip]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Sequences'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sequences ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Sequences|Sequences]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Shape_Analysis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Shape Analysis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MeshToLabelMap|MeshToLabelMap]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Q3DC|Q3DC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/EasyClip|EasyClip]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PickAndPaint PickAndPaintExtension]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/MeshStatistics MeshStatisticsExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Tractography'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Tractography ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/UKFTractography|UKFTractography]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Training'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Training ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PerkTutor|PerkTutor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Vascular_Modeling_Toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Vascular Modeling Toolkit ==&lt;br /&gt;
* [http://slicer.vmtk.org/ VMTK]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Web_System_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Web System Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DatabaseInteractor|DatabaseInteractor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Wizards'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Wizards ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ChangeTracker|ChangeTracker]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51800</id>
		<title>Documentation/Nightly/ModuleExtensionListing/Extensions by category</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModuleExtensionListing/Extensions_by_category&amp;diff=51800"/>
		<updated>2017-05-08T13:21:21Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Quantification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[#Extensions_by_category|Extensions by category]]&lt;br /&gt;
= Extensions by category =&lt;br /&gt;
33 categories:&lt;br /&gt;
* [[#Extensions_by_category_Astronomy|Astronomy]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac|Cardiac]]&lt;br /&gt;
* [[#Extensions_by_category_Cardiac_MRI_toolkit|Cardiac MRI toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Chest_Imaging_Platform|Chest Imaging Platform]]&lt;br /&gt;
* [[#Extensions_by_category_Converters|Converters]]&lt;br /&gt;
* [[#Extensions_by_category_Developer_Tools|Developer Tools]]&lt;br /&gt;
* [[#Extensions_by_category_DICOM|DICOM]]&lt;br /&gt;
* [[#Extensions_by_category_Diffusion|Diffusion]]&lt;br /&gt;
* [[#Extensions_by_category_Digital_Pathology|Digital Pathology]]&lt;br /&gt;
* [[#Extensions_by_category_Editor_Effects|Editor Effects]]&lt;br /&gt;
* [[#Extensions_by_category_Examples|Examples]]&lt;br /&gt;
* [[#Extensions_by_category_Exporter|Exporter]]&lt;br /&gt;
* [[#Extensions_by_category_Filtering|Filtering]]&lt;br /&gt;
* [[#Extensions_by_category_IGT|IGT]]&lt;br /&gt;
* [[#Extensions_by_category_Informatics|Informatics]]&lt;br /&gt;
* [[#Extensions_by_category_Libraries|Libraries]]&lt;br /&gt;
* [[#Extensions_by_category_Machine_Learning|Machine Learning]]&lt;br /&gt;
* [[#Extensions_by_category_Mesh_Generation|Mesh Generation]]&lt;br /&gt;
* [[#Extensions_by_category_Microscopy|Microscopy]]&lt;br /&gt;
* [[#Extensions_by_category_Nuclear_Medicine|Nuclear Medicine]]&lt;br /&gt;
* [[#Extensions_by_category_Quantification|Quantification]]&lt;br /&gt;
* [[#Extensions_by_category_Radiotherapy|Radiotherapy]]&lt;br /&gt;
* [[#Extensions_by_category_Registration|Registration]]&lt;br /&gt;
* [[#Extensions_by_category_Remote|Remote]]&lt;br /&gt;
* [[#Extensions_by_category_Scoliosis|Scoliosis]]&lt;br /&gt;
* [[#Extensions_by_category_Segmentation|Segmentation]]&lt;br /&gt;
* [[#Extensions_by_category_Sequences|Sequences]]&lt;br /&gt;
* [[#Extensions_by_category_Shape_Analysis|Shape Analysis]]&lt;br /&gt;
* [[#Extensions_by_category_Tractography|Tractography]]&lt;br /&gt;
* [[#Extensions_by_category_Training|Training]]&lt;br /&gt;
* [[#Extensions_by_category_Vascular_Modeling_Toolkit|Vascular Modeling Toolkit]]&lt;br /&gt;
* [[#Extensions_by_category_Web_System_Tools|Web System Tools]]&lt;br /&gt;
* [[#Extensions_by_category_Wizards|Wizards]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Astronomy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Astronomy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerAstro|SlicerAstro]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerHeart|SlicerHeart]]&lt;br /&gt;
* [http://brainsia.github.io/CardiacAgatstonMeasures/ CardiacAgatstonMeasures]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Cardiac_MRI_toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cardiac MRI toolkit ==&lt;br /&gt;
* [http://capulet.med.utah.edu/namic/cmrslicer/ Cardiac_MRI_Toolkit]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Chest_Imaging_Platform'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Chest Imaging Platform ==&lt;br /&gt;
* [http://www.chestimagingplatform.org Chest_Imaging_Platform]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Converters'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Converters ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PETDICOM PETDICOMExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Developer_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Developer Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeveloperToolsForExtensions|DeveloperToolsForExtensions]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DebuggingTools|DebuggingTools]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MatlabBridge|MatlabBridge]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ImageMaker|ImageMaker]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_DICOM'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== DICOM ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DCMQI|DCMQI]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Diffusion'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Diffusion ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerDMRI|SlicerDMRI]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResampleDTIlogEuclidean|ResampleDTIlogEuclidean]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Digital_Pathology'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Digital Pathology ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerPathology|SlicerPathology]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Editor_Effects'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Editor Effects ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/WindowLevelEffect|WindowLevelEffect]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Examples'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCVExample|OpenCVExample]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Exporter'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Exporter ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerToKiwiExporter|SlicerToKiwiExporter]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Filtering'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filtering ==&lt;br /&gt;
* [https://kitwaremedical.github.io/SlicerITKUltrasoundDoc/ SlicerITKUltrasound]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_IGT'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== IGT ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/GyroGuide|GyroGuide]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/TrackerStabilizer TrackerStabilizer]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CornerAnnotation|CornerAnnotation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SliceTracker|SliceTracker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PercutaneousApproachAnalysis|PercutaneousApproachAnalysis]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/NeedleFinder|NeedleFinder]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerIGT|SlicerIGT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/iGyne|iGyne]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ResectionPlanner|ResectionPlanner]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Informatics'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Informatics ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CurveMaker|CurveMaker]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LongitudinalPETCT|LongitudinalPETCT]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/mpReview|mpReview]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/TCIABrowser|TCIABrowser]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerProstate|SlicerProstate]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/QuantitativeReporting|QuantitativeReporting]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Libraries'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerOpenCV|SlicerOpenCV]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Machine_Learning'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Machine Learning ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DeepInfer|DeepInfer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Mesh_Generation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Mesh Generation ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CBC_3D_I2MConversion|CBC_3D_I2MConversion]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CleaverExtension|CleaverExtension]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Microscopy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Microscopy ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IASEM|IASEM]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Nuclear_Medicine'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Nuclear Medicine ==&lt;br /&gt;
* [http://gti-fing.github.io/SlicerPetSpectAnalysis PetSpectAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Quantification'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Quantification ==&lt;br /&gt;
* [http://slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/DSC_MRI_Analysis DSCMRIAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ModelToModelDistance|ModelToModelDistance]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/T1Mapping|T1Mapping]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ShapeQuantifier|ShapeQuantifier]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DiceComputation|DiceComputation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETLiverUptakeMeasurement|PETLiverUptakeMeasurement]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PET-IndiC|PET-IndiC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PkModeling|PkModeling]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Radiotherapy'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Radiotherapy ==&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/FilmDosimetry FilmDosimetryAnalysis]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MarginCalculator|MarginCalculator]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SlicerRT|SlicerRT]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/GelDosimetry GelDosimetryAnalysis]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Registration'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Registration ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ScatteredTransform|ScatteredTransform]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/CMFreg|CMFreg]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PBNRR|PBNRR]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Remote'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Remote ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/XNATSlicer|XNATSlicer]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Scoliosis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scoliosis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Scoliosis|Scoliosis]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Segmentation'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Segmentation ==&lt;br /&gt;
* [http://publish.uwo.ca/~dchen285/GraphCutSegment/GraphCutSegment.html GraphCutSegment]&lt;br /&gt;
* [http://www.nitrc.org/projects/abc ABC]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ROBEXBrainExtraction|ROBEXBrainExtraction]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SwissSkullStripper|SwissSkullStripper]]&lt;br /&gt;
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/CarreraSliceInteractiveSegmenter CarreraSlice]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SkullStripper|SkullStripper]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PETTumorSegmentation|PETTumorSegmentation]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/LAScarSegmenter|LAScarSegmenter]]&lt;br /&gt;
* [https://github.com/lassoan/SlicerSegmentEditorExtraEffects SegmentEditorExtraEffects]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/OpenCAD|OpenCAD]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/IntensitySegmenter|IntensitySegmenter]]&lt;br /&gt;
* [https://github.com/Tomnl/Slicer-Wasp Wasp]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/AirwaySegmentation AirwaySegmentation]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/SobolevSegmenter|SobolevSegmenter]]&lt;br /&gt;
* [https://www.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/FastGrowCut FastGrowCutEffect]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/VolumeClip|VolumeClip]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Sequences'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sequences ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Sequences|Sequences]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Shape_Analysis'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Shape Analysis ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/MeshToLabelMap|MeshToLabelMap]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/Q3DC|Q3DC]]&lt;br /&gt;
* [[Documentation/Nightly/Extensions/EasyClip|EasyClip]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PickAndPaint PickAndPaintExtension]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/MeshStatistics MeshStatisticsExtension]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Tractography'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Tractography ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/UKFTractography|UKFTractography]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Training'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Training ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/PerkTutor|PerkTutor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Vascular_Modeling_Toolkit'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Vascular Modeling Toolkit ==&lt;br /&gt;
* [http://slicer.vmtk.org/ VMTK]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Web_System_Tools'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Web System Tools ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/DatabaseInteractor|DatabaseInteractor]]&lt;br /&gt;
&amp;lt;span id='Extensions_by_category_Wizards'&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Wizards ==&lt;br /&gt;
* [[Documentation/Nightly/Extensions/ChangeTracker|ChangeTracker]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51794</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51794"/>
		<updated>2017-05-05T18:34:53Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
Acknowledgments: This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51791</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51791"/>
		<updated>2017-05-05T18:33:54Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
Extension: '''ShapeVariationAnalyzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51788</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51788"/>
		<updated>2017-05-05T18:31:18Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51785</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51785"/>
		<updated>2017-05-05T18:28:37Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Results/Analysis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
Results of the classification are automatically loaded into this tab when the computation is done. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
The source code of this module is available on GitHub: [https://github.com/pdedumast/ShapeVariationAnalyzer]&lt;br /&gt;
The source code of the CLI used to compute an average shape and extract the features is available on Github, independently of the module:  [https://github.com/pdedumast/SurfaceFeaturesExtractor]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51782</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51782"/>
		<updated>2017-05-05T16:31:27Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the classification, the results are automatically displayed in the next tab Results/Analysis.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51779</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51779"/>
		<updated>2017-05-05T16:30:11Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
To classify one or more shapes, you would need: &lt;br /&gt;
* The network previously trained (zipfile)&lt;br /&gt;
* The VTK file of the shape you would like to classify OR a CSV file containing all the paths to the VTK you want to classify.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please note that classifying too many shapes at the same time (via CSV file), can stop Slicer.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51776</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51776"/>
		<updated>2017-05-05T16:21:12Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51773</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51773"/>
		<updated>2017-05-05T16:20:20Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Training the network'''&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;) &amp;lt;br&amp;gt;&lt;br /&gt;
At the end of the training, the estimated accuracy is displayed. If you are satisfied, you can export the Classifier, if not, you can try to re-train the network using different parameters or features.&amp;lt;br&amp;gt;&lt;br /&gt;
When you click on '''Export Network''', this will create a zip file in the chosen directory, containing everything necessary for later classification. &lt;br /&gt;
Please do not modify it, at risk that it no longer functions afterward.&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51770</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51770"/>
		<updated>2017-05-05T16:09:09Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
'''Preprocessing the data'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during that preprocessing phase. &amp;lt;br&amp;gt;&lt;br /&gt;
In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those selected will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is closed, by default all the features are used. &amp;lt;br&amp;gt;&lt;br /&gt;
The possible features are: Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The training time of the classifier depends on the number of shapes, their size, the number of groups and the advanced parameters. This can take a while. Be patient! ;)&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51767</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51767"/>
		<updated>2017-05-05T15:59:31Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
'''Training the classifier'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during the preprocessing phase. In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is not open, by default all the features are used (Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes, ...)&lt;br /&gt;
&lt;br /&gt;
The training time of this network will depend on the number of shape, their size, the number of groups. This can take a while. Be patient! ;)&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51764</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51764"/>
		<updated>2017-05-05T15:51:26Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
'''Training the classifier'''&lt;br /&gt;
The neural network needs to know from which specific features of the shapes it should learn.&lt;br /&gt;
Those features are extracted from the shape during the preprocessing phase. In the ''Advanced parameters'' box, the user can select the features he thinks are the most relevant. Only those will be used during the training and in future classification based on this classifier. If the ''Advanced parameters'' tab is not open, by default all the features are used (Curvedness, Normals, Maximum Curvature, Minimum Curvature, Mean Curvature, Gaussian Curvature, Shape Index, Distances to average shapes, ...)&lt;br /&gt;
&lt;br /&gt;
The training time of this network will depend on the number of shape, their size, the number of groups. This can take a while. Be patient! ;)&lt;br /&gt;
&lt;br /&gt;
TODO: Choice of more advanced network parameters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51746</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51746"/>
		<updated>2017-05-05T15:34:26Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Morphological classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab is divided into 2 panels: &lt;br /&gt;
# The creation and the training of the neural network&lt;br /&gt;
# The classification using a neural network previously trained&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51743</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51743"/>
		<updated>2017-05-05T15:30:46Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51740</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51740"/>
		<updated>2017-05-05T15:30:04Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Creation of CSV File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|500px]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51737</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51737"/>
		<updated>2017-05-05T15:29:44Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Preview/Update of the classification groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|400px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|500px]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51734</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51734"/>
		<updated>2017-05-05T15:29:28Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Preview/Update of the classification groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|400px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
After loading your CSV File containing the groups&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|500px]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51731</id>
		<title>Documentation/Nightly/Modules/ShapeVariationAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/ShapeVariationAnalyzer&amp;diff=51731"/>
		<updated>2017-05-05T15:28:14Z</updated>

		<summary type="html">&lt;p&gt;Prisgdd: /* Creation of CSV File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work was supported by the National Institutes of Dental and Craniofacial Research and Biomedical Imaging and Bioengineering of the National Institutes of Health under Award Number R01DE024450.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Priscille de Dumast (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor1: Laura Pascal (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor2: Lucia Cevidanes (University of Michigan)&amp;lt;br&amp;gt;&lt;br /&gt;
Contributor3: Juan Carlos Prieto (University of North Carolina)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Priscille de Dumast, &amp;lt;email&amp;gt;prisgdd@umich.edu&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
License: [http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:UofM-logo.png|University of Michigan&lt;br /&gt;
Image:Logo-namic.jpg‎|NAMIC&lt;br /&gt;
Image:UNC-logo.png|UNC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Shape Variation Analyzer allows the classification of 3D models, according to their morphological variation. &lt;br /&gt;
This tool is based on a deep learning neural network.&amp;lt;br&amp;gt;&lt;br /&gt;
The module is composed of multiple panels to perform the different steps of the process: create the classification groups, compute their average shapes, train the classifier and classify shapes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====What is an artificial neural network?===== &lt;br /&gt;
A neural network is a computing system, inspired by our own human brain. It learns from a large dataset (training dataset) containing both the input and the expected output (in our case, the 3D model and its morphology classification). During the training, the network’s settings are adjusted until we achieve automatic classification that matches the expert classification.&amp;lt;br&amp;gt;&lt;br /&gt;
The network can then be tested with any input, preferably not from the training dataset. This allows to evaluate the performance of the network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
===Prerequisities===&lt;br /&gt;
&lt;br /&gt;
The classification can be performed with as many groups as desired. &amp;lt;br&amp;gt;&lt;br /&gt;
Please note that the amount of data is very important. The more data you have, the more accurate the classification will be. Moreover, it is better to have a dataset equally divided into the classes. &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Both the 3D models into the training dataset and those to classify must have the same number of points. The most correspondent the shapes are, the best it is for the computation.&lt;br /&gt;
Those 2 steps can be performed thanks to ShapeAnalysisModule and RigidAlignment/Groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creation of CSV File===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:CreationofCSV-1.png|400px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the user to create a CSV file gathering all the VTK file paths and their corresponding group.&amp;lt;br&amp;gt;&lt;br /&gt;
This CSV file will be necessary at each step of the classification. &amp;lt;br&amp;gt;&lt;br /&gt;
The file is automatically loaded into the next steps when it is exported.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CreationofCSV-AddGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyGroup.png|300px|center]] || [[Image:CreationofCSV-ModifyRemove.png|300px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
'''Add Group'''&lt;br /&gt;
Add one by one the directories containing the VTK files for each group. &amp;lt;br&amp;gt;&lt;br /&gt;
For a new group, the group number is automatically selected.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Modify Group'''&lt;br /&gt;
Each group can be edited, with a modification of its corresponding repository. &amp;lt;br&amp;gt;&lt;br /&gt;
For this, review the group already added thanks to the spin box.&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
'''Remove Group'''&lt;br /&gt;
Only the last group added can be removed. &amp;lt;br&amp;gt;&lt;br /&gt;
Select the group with the spinbox and remove it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preview/Update of the classification groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:PreviewUpdateGroups-1.png|350px|frameless]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the visualization of the 3D models in ShapePopulationViewer, and update the group assigned to the shapes if needed. &amp;lt;br&amp;gt;&lt;br /&gt;
If the groups are updated, a new CSV file will be generated.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview with ShapePopulationViewer&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PreviewUpdateGroups-details.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Select the groups or specific shapes you would like to visualize&lt;br /&gt;
# Colors that the meshes will have in Shape Population Viewer with the attribute &amp;quot;DisplayClassificationGroup&amp;quot;&lt;br /&gt;
# Possibility to change the group of a shape thanks to the spinbox in the group row.&lt;br /&gt;
# Clic on the Preview button, and select '''all''' the VTK Files in the pop-up window&lt;br /&gt;
# If some changes were made on the groups, please export those modifications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computation of mean groups===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-1.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
This tab allows the computation of the average shape of each group, export those resulting models locally and allows their visualization into 3D Slicer. &amp;lt;br&amp;gt;&lt;br /&gt;
You’ll need to provide the CSV file which contains the classification groups. &amp;lt;br&amp;gt;&lt;br /&gt;
The exported CSV file will be automatically loaded into the next step.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Perform the computation&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-computation.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing the classification groups, if you haven't performed the previous steps&lt;br /&gt;
# Clic on '''Compute mean group'''&lt;br /&gt;
# Chose a repository to export the average shapes and a CSV File listing them. &lt;br /&gt;
Average shapes : ''meanGroup[i].vtk'' &amp;lt;br&amp;gt;&lt;br /&gt;
CSV File mean shapes : ''MeanGroups.csv''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Preview of Group's mean&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ComputationAverage-preview.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# Load the CSV file containing all the shapes if you haven't performed the computation step.&lt;br /&gt;
# Select the control group - it will appear in a different color.&lt;br /&gt;
# Clic on '''Preview''' to visualize the average shapes&lt;br /&gt;
# Check the eye icon on the left to choose which shape you want to display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Morphological classification===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification.png|500px]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create Network&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-CreateNetwork.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
#&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Classify shape(s)&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:MorphologicalClassification-Classify.png|350px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Results/Analysis===&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:ResultsAnalysis.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
This extension has been designed to work with this [https://ec2-52-42-49-63.us-west-2.compute.amazonaws.com:8180/DCBIA-OrthoLab/public/ website] and should not work with other architectures. &lt;br /&gt;
If you want to use this plugin on another server, you need to make sure your documents are stored by CouchDB and your documents contains a field &amp;quot;type&amp;quot; set to &amp;quot;morphologicalData&amp;quot;.&lt;br /&gt;
Your user would need to connect using [https://jwt.io/ JWT] and have a &amp;quot;scope&amp;quot; field.&amp;lt;br&amp;gt;&lt;br /&gt;
For more information, you can take a look at the website source code [https://github.com/DCBIA-OrthoLab/shiny-tooth here].&amp;lt;br&amp;gt;&lt;br /&gt;
The source code is available on [https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/tree/release github]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prisgdd</name></author>
		
	</entry>
</feed>