|
|
| (64 intermediate revisions by 4 users not shown) |
| Line 1: |
Line 1: |
| − | == Overview ==
| + | <big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:Volume_Rendering here]</font></big> |
| − | ==Test the module==
| |
| − | *Copy the following folder from the svn repository http://www.na-mic.org/svn/Slicer3/trunk/Base/GUI/Testing/VolumeRendering to the following path <YourSlicerBuildDir>\lib\Slicer3\Modules\Packages\VolumeRendering.
| |
| − | *Restart Slicer
| |
| − | *Load a MRML-Scene (e. g. tutorial.xml from the [http://www.na-mic.org/Wiki/images/f/f8/Tutorial-with-dicom.zip Tutorial Dataset])
| |
| − | *Go to the module dropdown and select VolumeRendering
| |
| − | *Select "all" (if you use the tutorial dataset) as the Source Volume and click LoadNode =>The volume rendered Volume should appear.
| |
| − | *Play with the transfer function etc.
| |
| − | *Note: After changing a setting please click on the volume one time to load the new settings
| |
| − | ==Latest results and limitations==
| |
| − | ===Description===
| |
| − | *Loading of MRML-Nodes is possible
| |
| − | *At the moment no removing of MRML-Nodes possible
| |
| − | *Change properties
| |
| − | *Calculate transfer functions automatically
| |
| − | *No performance tuning at all
| |
| − | *Shading
| |
| − | | |
| − | ===Screenshots===
| |
| − | [[Image:VolumeRendering.jpg|thumb|500px|center|volume rendered label map of the tutorial dataset]]
| |
| − | [[Image:VolumeRenderingWithShading.jpg|thumb|500px|center|
| |
| − | volume rendered label map of the tutorial dataset, shading enabled]]
| |
| − | | |
| − | ==next Tasks==
| |
| − | *Develop different algorithms for labelmap and grayscale volumes
| |
| − | *Try to reduce artefacts in labelmaps by using several RGB points in the mapping function -----done, artefacts still there?
| |
| − | *Implement a possibility to change between different volumes during runtime -----done
| |
| − | *Have a closer look on the final calculation of the renderer
| |
| − | *Detect if video card can use 3d Texture Mapping or not, if not use MIP
| |
| − | *Add possiblity to change opacity (for labelmaps)
| |
| − | *Include code to make all models invisible(Good for testing) -----done
| |
| − | *Have a closer look on the gradient opacity mapper, when using label maps
| |
| − | | |
| − | == Goals ==
| |
| − | | |
| − | Volume rendering presets :
| |
| − | * MIP (Maximum Intensity Projection)
| |
| − | **[http://en.wikipedia.org/wiki/Maximum_intensity_projection Wikipedia]
| |
| − | **[http://www.vtk.org/doc/release/5.0/html/a02186.html vtkVolumeRayCastMIPFunction Class Reference]
| |
| − | * CT Bone and vessel
| |
| − | **Use histogram and tresholds, find possibilities to avoid outliers
| |
| − | * T1 MR Air/skin interface
| |
| − | * Label map per-label object rendering
| |
| − | **Possible starting points for this task: [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkMRMLVolumeNode.html vtkMRMLVolumeNode]
| |
| − | ***[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkMRMLVolumeNode.html vtkMRMLVolumeNode]
| |
| − | ***[http://www.vtk.org/doc/release/5.0/html/a01551.html vtkImageMapToRGBA]
| |
| − | | |
| − | Slicer3 module interface:
| |
| − | * Select from loaded volumes
| |
| − | * Specify preset transfer functions or use KWWidgets tools
| |
| − | | |
| − | Slicer3 internals:
| |
| − | * Correct coordinates including transforms
| |
| − | * Level of detail rendering
| |
| − | * Proper integration with surface rendering
| |
| − | | |
| − | Different Volume Rendering Algorithms
| |
| − | *RayCast
| |
| − | *2D Texture Mapping
| |
| − | *3D Texture Mapping
| |
| − | *...
| |
| − | | |
| − | == Wish List ==
| |
| − | | |
| − | | |
| − | * 2D Transfer functions - may require specialized opengl code integrated with VTK. Talk with Gordon about latest work from Utah.
| |
| − | | |
| − | * use glTexSubImage3D so that incremental changes to the volume can be quickly reflected
| |