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

From KitwarePublic
Jump to navigationJump to search
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Introduction =
= Introduction =


The [[../VolumeSkinning|Volume Skinning]] module is the first step of the skinning process (the second done by the [[../ComputeArmatureWeight|Compute Weights]] module).
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.  
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]].  
 
 
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.
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.
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.


Line 18: 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 23: 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