Difference between revisions of "Slicer3:Volume Rendering"
From NAMIC Wiki
(→Goals) |
|||
Line 38: | Line 38: | ||
* MIP (Maximum Intensity Projection) | * MIP (Maximum Intensity Projection) | ||
**[http://en.wikipedia.org/wiki/Maximum_intensity_projection Wikipedia] | **[http://en.wikipedia.org/wiki/Maximum_intensity_projection Wikipedia] | ||
− | **[http://www.vtk.org/doc/release/5.0/html/ | + | **[http://www.vtk.org/doc/release/5.0/html/a01399.html vtkFixedPointVolumeRayCastMapper Class Reference] |
* CT Bone and vessel | * CT Bone and vessel | ||
− | **Use | + | **Use Hounsfield units |
+ | ***Bone +400->+1000 | ||
+ | ***Soft tissue +40->+80 | ||
+ | ***Water 0 | ||
+ | ***Fat -60->-100 | ||
+ | ***Lug -400->-600 | ||
+ | ***-1000 | ||
* T1 MR Air/skin interface | * T1 MR Air/skin interface | ||
* Label map per-label object rendering | * Label map per-label object rendering | ||
− | ** | + | **Use the different MRMLNodes: [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkMRMLVolumeNode.html vtkMRMLVolumeNode] |
− | |||
− | |||
Slicer3 module interface: | Slicer3 module interface: |
Revision as of 14:18, 31 August 2007
Home < Slicer3:Volume RenderingContents
Overview
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 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
next Tasks
- Develop different algorithms for labelmap and grayscale volumes -----algorithm for grayscale is missing => new task: presets
- Find Presets, see also at goals
- 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, -----done, there are two new Buttons to simulate having openGl support or not. standard preset is now MIP (performance issue)
- Add possiblity to change opacity (for labelmaps) -----done, slider
- Include code to make all models invisible(Good for testing) -----done, new button
- Have a closer look on the gradient opacity mapper, when using label maps
Goals
Volume rendering presets :
- MIP (Maximum Intensity Projection)
- CT Bone and vessel
- Use Hounsfield units
- Bone +400->+1000
- Soft tissue +40->+80
- Water 0
- Fat -60->-100
- Lug -400->-600
- -1000
- Use Hounsfield units
- T1 MR Air/skin interface
- Label map per-label object rendering
- Use the different MRMLNodes: vtkMRMLVolumeNode
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