Bender/Documentation/2.0/Modules/VolumeSkinning: Difference between revisions
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction = | = Introduction = | ||
The Volume Skinning module is the first step of the skinning process. For each voxel of the | The [[../VolumeSkinning|Volume Skinning]] module is the first step of the skinning process (the second step is the [[../ComputeArmatureWeight|Compute Weights]] module). | ||
Similarly to the traditional [http://en.wikipedia.org/wiki/Skeletal_animation skinning technique] that assigns a bone for each point of a mesh, [[../VolumeSkinning|Volume Skinning]] does the assignment for each voxel of a volume. | |||
For each voxel of the input volume, the module defines which [[../Armatures|armature]] bone influences the most the transform of the voxel when [[../PoseSurface|Posing]]. For example, all the tissue voxels in the lower part of the leg will be assigned the unique id of the tibia bone and the tissue voxels of the upper part of the leg will be assigned the unique ide of the femur bone. The IDs are the indexes of the bones in the [[../Armatures|armature]]. | |||
The module attempts to find the best bone/voxel pair, however it is not perfect. Manual edition of the skinned volume is likely to be needed. Such edition can be done using the [http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/Editor Editor] module. | |||
Sometimes, a voxel transform might be influenced by more than 1 bone (typically 2). This is the case in the joint's areas (e.g. voxels in the knee area). The transform needs to be a weighted combination of multiple bone transforms (e.g. femur bone + tibia bone). The computation of the weights is done by the [[../ComputeArmatureWeight|Compute Weights]] module. | |||
= Details = | = Details = | ||
Line 14: | Line 24: | ||
Image:BenderVolumeSkinning-ArmatureAndSkinnedVolumeMode.png|Skinned volume and its corresponding model with the armature overlayed. | Image:BenderVolumeSkinning-ArmatureAndSkinnedVolumeMode.png|Skinned volume and its corresponding model with the armature overlayed. | ||
Image:BenderVolumeSkinning-Workflow.png|Volume Skinning in the Workflow after execution | Image:BenderVolumeSkinning-Workflow.png|Volume Skinning in the Workflow after execution | ||
Image:Visibleman-skinned-volumes.png|Left: Visibleman labelmap, Center: Skinned volume, Right: Manually edited | |||
</gallery> | </gallery> | ||
Line 19: | Line 30: | ||
{| width="100%" | {| width="100%" | ||
| valign="top" | | | valign="top" | | ||
{{#xsl: https:// | {{#xsl: https://gist.githubusercontent.com/jcfr/1303059/raw/91a65abd56b8fa451d03a3bcb4447c12ba9a8519/slicer-4.0-module-parameterdescription.xsl | | ||
http://public.kitware.com/gitweb?p=Bender/Bender.git;a=blob_plain;f=Modules/CLI/VolumeSkinning/VolumeSkinning.xml;h=9f83d85411e639182550113cd65ea182ed584f8d;hb=4295a376ab9a2cf4ce962ddd05128ba5e1b9aba0 | parse=true | nocache = false}} | http://public.kitware.com/gitweb?p=Bender/Bender.git;a=blob_plain;f=Modules/CLI/VolumeSkinning/VolumeSkinning.xml;h=9f83d85411e639182550113cd65ea182ed584f8d;hb=4295a376ab9a2cf4ce962ddd05128ba5e1b9aba0 | parse=true | nocache = false}} | ||
| align="right" | [[Image:VolumeSkinningPanel-1.0.png|thumb|550px|Volume Skinning panel]] | | align="right" | [[Image:VolumeSkinningPanel-1.0.png|thumb|550px|Volume Skinning panel]] | ||
|} | |} | ||
= Similar Modules = | |||
* Bender modules: [[../ComputeArmatureWeight|Compute Armature Weights]], [[../FEMWorkflow|Workflow]] | |||
* Slicer modules: [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.3/Modules/Editor Editor] |
Latest revision as of 03:28, 19 March 2014
Introduction
The Volume Skinning module is the first step of the skinning process (the second step is the Compute Weights module). Similarly to the traditional skinning technique that assigns a bone for each point of a mesh, Volume Skinning does the assignment for each voxel of a volume.
For each voxel of the input volume, the module defines which armature bone influences the most the transform of the voxel when Posing. For example, all the tissue voxels in the lower part of the leg will be assigned the unique id of the tibia bone and the tissue voxels of the upper part of the leg will be assigned the unique ide of the femur bone. The IDs are the indexes of the bones in the armature.
The module attempts to find the best bone/voxel pair, however it is not perfect. Manual edition of the skinned volume is likely to be needed. Such edition can be done using the Editor module.
Sometimes, a voxel transform might be influenced by more than 1 bone (typically 2). This is the case in the joint's areas (e.g. voxels in the knee area). The transform needs to be a weighted combination of multiple bone transforms (e.g. femur bone + tibia bone). The computation of the weights is done by the Compute Weights module.
Details
Author: Yuanxin Liu, Kitware
Contributor #1: Johan Andruejol, Kitware
Contributor #2: Julien finet, Kitware
Acknowledgements: This work is supported by the Air Force Research Laboratories.
Contact: Julien Finet
Use Cases
Parameters
Similar Modules
- Bender modules: Compute Armature Weights, Workflow
- Slicer modules: Editor