Bender/Documentation/2.0/Modules/VolumeSkinning: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(13 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 labelmap, it defines which bone of the [http://public.kitware.com/Wiki/Bender/Documentation/1.0/Modules/Armatures Armature] will influence its movement the most when [public.kitware.com/Wiki/Bender/Documentation/1.0/Modules/PoseLabelmap Posing].
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://raw.github.com/gist/1303059/b39751f476ce0ea2b3ca3f672df002daf8aa7507/slicer-4.0-module-parameterdescription.xsl |
{{#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

{{#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}}

Volume Skinning panel

Similar Modules