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

From Slicer Wiki
Jump to: navigation, search
(Created page with "<noinclude>{{documentation/versioncheck}}</noinclude> <!-- ---------------------------- --> {{documentation/{{documentation/version}}/module-header}} <!-- --------------------...")
 
(editing version of Add3DText)
Line 10: Line 10:
  
  
Extension: [[Documentation/{{documentation/version}}/Extensions/CleaverExtension|CleaverExtension]]<br><br>
+
Extension: [[Documentation/{{documentation/version}}/Extensions/Add3DText|Add3DText]]<br><br>
Cleaver - A MultiMaterial Tetrahedral Meshing Library and Application<br>
 
  
  
 
Acknowledgments:<br><br>
 
Acknowledgments:<br><br>
Cleaver is an Open Source software project that is principally funded through the SCI Institute's NIH/NIGMS CIBC Center. Please use the following acknowledgment and send us references to any publications, presentations, or successful funding applications that make use of NIH/NIGMS CIBC software or data sets. <br>
 
"This project was supported by the National Institute of General Medical Sciences of the National Institutes of Health under grant number P41GM103545."<br><br>
 
  
Developed at the [http://sci.utah.edu SCI Institute], [http://www.utah.edu University of Utah].<br><br>
+
[https://github.com/f-tang/Add3DText Code Resource] <br><br>
[http://www.sci.utah.edu/cibc-software/cleaver-cibc.html Project Webpage] <br><br>
 
  
Author: Jonathan Bronson <br>
+
Author: Fenghe Tang, Xiaojun Chen (Shanghai Jiao Tong University) <br>
Contributor1: Josh Levine (Co-Author)<br>
+
Contact1: Xiaojun Chen, <email>xiaojunchen@163.com</email><br>
Contributor2: Ross Whitaker (Co-Author)<br>
+
Contact2: Fenghe Tang, <email>miketfh@sjtu.edu.cn</email><br>
Contributor3: Brig Bagley (Developer)<br><br>
 
Contact1: Jonathan Bronson, <email>bronson@sci.utah.edu</email><br>
 
Contact2: Brig Bagley, <email>brig@sci.utah.edu</email><br>
 
  
 
{|
 
{|
|[[Image:Sci.png|thumb|340px|SCI Institute]]
+
|[[Image:SJTU_Logo.png|thumb|Shanghai Jiao Tong University]]
|[[Image:CleaverCIBC.png|thumb|340px|Cleaver - CIBC]]
 
|[[Image:uofu.jpg|thumb|340px|University of Utah]]
 
 
|}
 
|}
  
Line 37: Line 28:
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
  
CleaverExtension is a Slicer CLI Module that takes a set of NRRD Volumes and creates a set of tetrahedral meshes
+
Add3DText is a Slicer Loadable module that allows users to emboss 3D text to the model(.stl format). <br><br>
to import into the Slicer MRML.<br><br>
 
 
 
Based on the "Lattice Cleaving" algorithm (see References), this method is theoretically guaranteed to produce valid meshes with bounded dihedral angles, while still conforming to multimaterial material surfaces. Empirically these bounds have been shown to be significant.
 
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
{|
 
{|
|[[Image:FrogSlices.jpeg|thumb|540px|Input Frog image slices]]
+
|[[Image:Add3DText_ScreenShot.png|thumb|720px|Screen shot]]
|[[Image:SlicerFrogOutput.png|thumb|375px|Frog Surface]]
 
 
|}
 
|}
  
Line 54: Line 41:
 
{|
 
{|
 
|
 
|
|[[Image:SlicerGui.png|thumb|300px|Module UI]]
+
|[[Image:Add3DText_Panel.png|thumb|300px|Module UI]]
 
|}
 
|}
*Input Volume 1-8 : Import up to 8 different volumes (NRRD) of the same dimension for Cleaver to mesh.
 
*Output Model1-10 : Create up to 10 new models for Cleaver to write mesh data to. If none or too few are specified for the output, the console will provide the locations of the VTK mesh files and MRML scene file to load.
 
*Use Padding : Often a good option to allow if material transitions exist at the volume boundaries.
 
*Scaling : Scale the volume up or down for higher or lower resolution.
 
*Alpha Short : The minimum distance on an edge cut after which Cleaver does not warp a vertex.
 
*Alpha Long : The maximum distance on an edge cut after which Cleaver will create a sub-tetrahedron (Cleave the current tet).
 
*Verbose : Whether the console is to output detailed information on the cleaving steps.
 
*Output format:
 
**VTKtet : The default option that creates VTK mesh files with the output volume tets.
 
**VTKfac : These VTK files define meshes that signify transitions between materials.
 
**tetgen : This output can be read into the TetGen Program.
 
**scirun : This output can be read into SCI's SciRun program.
 
**matlab : This output can be read into MATLAB.
 
*Restore Defaults : Restores the default options.
 
*AutoRun : Runs the program automatically when a change is made (does not work with CleaverExtension).
 
*Apply : Runs the CLI with the above options within Slicer. See output in the console.
 
*Cancel : Stop the current process.
 
 
Cleaver operates on indicator functions (each defined by an input volume), and requires at least two. If you provide only a single function, Cleaver attempts to make an 'inverse' material for you automatically, by multiplying the field by -1 (therefore one material should have voxel value of X and the other material should have voxel value of -X).
 
  
One other thing you might want to watch out for is you're using a very discontinuous input field. This is going to lead to stair-stepping artifacts on your output mesh. Providing smooth input functions will eliminate this problem.
 
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Tutorials}}
 
{{documentation/{{documentation/version}}/module-section|Tutorials}}
*Both volumes and models are provided and created, respectively. When running in VTKtet output mode, the tet models are automatically loaded into Slicer.<br>
 
{|
 
|[[Image:Screenshot1.jpeg|thumb|700px|Example2]]
 
|}<br>
 
*Volumes are imported, then the program is run in VTKtet output mode. The output MRML is then loaded and clipped.<br>
 
{|
 
|[[Image:Screenshot2.jpeg|thumb|700px|Example3]]
 
|}<br>
 
*Volumes are imported, then the program is run in VTKfac output mode. The output MRML is then loaded and clipped.<br>
 
{|
 
|[[Image:Screenshot3.jpeg|thumb|700px|Example4]]
 
|}<br>
 
*An illustration of noting the output files of CleaverExtension when no models are provided. These can then be loaded into Slicer manually.<br>
 
{|
 
|[[Image:Screenshot4.jpeg|thumb|700px|Example1]]
 
|}<br>
 
  
Sample data: [[Media:CleaverSampleData.zip]]
 
* Option 1 - Use  Cleaver-MRHead-label.nrrd + Cleaver-MRHeader-label-inverse.nrrd.
 
* Option 2a - Use Cleaver-MRHead-label-shifted.nrrd and let Cleaver infer the inverse.
 
* Option 2b - Use Cleaver-MRHead-label-shifted-Gaussian.nrrd and let Cleaver infer the inverse. This is a Gaussian smoothed version of option 2a to show how a smooth function can prevent stair-stepping artefacts.
 
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|References}}
 
{{documentation/{{documentation/version}}/module-section|References}}
* Bronson J., Levine, J., Whitaker R., "Lattice Cleaving: Conforming Tetrahedral Meshes of Multimaterial Domains with Bounded Quality". Proceedings of the 21st International Meshing Roundtable (San Jose, CA, Oct 7-10, 2012).<br>
 
 
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
Line 113: Line 58:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-footer}}
 
{{documentation/{{documentation/version}}/module-footer}}
[[Category:Documentation/{{documentation/version}}/Modules/Segmentation]]
 
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/extension-footer}}
 
{{documentation/{{documentation/version}}/extension-footer}}

Revision as of 03:35, 19 May 2016

Home < Documentation < Nightly < Extensions < Add3DTextExtension


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


Introduction and Acknowledgements


Extension: Add3DText


Acknowledgments:

Code Resource

Author: Fenghe Tang, Xiaojun Chen (Shanghai Jiao Tong University)
Contact1: Xiaojun Chen, <email>xiaojunchen@163.com</email>
Contact2: Fenghe Tang, <email>miketfh@sjtu.edu.cn</email>

Shanghai Jiao Tong University

Module Description

Add3DText is a Slicer Loadable module that allows users to emboss 3D text to the model(.stl format).

Use Cases

Screen shot

Panels and their use

Error creating thumbnail: File missing
Module UI


Tutorials

References

Information for Developers

For technical questions or problems, please use contacts in the introduction.