Difference between revisions of "Documentation/4.3/Extensions/CleaverExtension"
(Wiki page complete.) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 54: | Line 54: | ||
{| | {| | ||
| | | | ||
− | |[[Image:SlicerGui.png|thumb| | + | |[[Image:SlicerGui.png|thumb|300px|Module UI]] |
|} | |} | ||
*Input Volume 1-8 : Import up to 8 different volumes (NRRD) of the same dimension for Cleaver to mesh. | *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. | *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. | *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 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). | *Alpha Long : The maximum distance on an edge cut after which Cleaver will create a sub-tetrahedron (Cleave the current tet). | ||
Line 72: | Line 73: | ||
*Apply : Runs the CLI with the above options within Slicer. See output in the console. | *Apply : Runs the CLI with the above options within Slicer. See output in the console. | ||
*Cancel : Stop the current process. | *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. | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
Line 91: | Line 96: | ||
|[[Image:Screenshot4.jpeg|thumb|700px|Example1]] | |[[Image:Screenshot4.jpeg|thumb|700px|Example1]] | ||
|}<br> | |}<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}} |
Latest revision as of 02:20, 4 November 2014
Home < Documentation < 4.3 < Extensions < CleaverExtension
For the latest Slicer documentation, visit the read-the-docs. |
Introduction and Acknowledgements
Developed at the SCI Institute, University of Utah. Author: Jonathan Bronson Module DescriptionCleaverExtension is a Slicer CLI Module that takes a set of NRRD Volumes and creates a set of tetrahedral meshes
to import into the Slicer MRML. 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. Use CasesPanels and their use
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. Tutorials
Sample data: Media:CleaverSampleData.zip
References
Information for DevelopersFor technical questions or problems, please use contacts in the introduction. |