Difference between revisions of "Documentation/Labs/OpenGLFilters"
From Slicer Wiki
Line 45: | Line 45: | ||
this class will have the duty to: | this class will have the duty to: | ||
* hanle the I/O comunication between the vtkImageData and the GPU Texture using fully the VTK shader infrastracure, since the shader infrastructure is already available in VTK (safe binding, automatic versioning, etc... http://www.vtk.org/Wiki/Shader_In_VTK). | * hanle the I/O comunication between the vtkImageData and the GPU Texture using fully the VTK shader infrastracure, since the shader infrastructure is already available in VTK (safe binding, automatic versioning, etc... http://www.vtk.org/Wiki/Shader_In_VTK). | ||
− | * child classes will handle different approach (e.g. multipass/iterative filtering). | + | * child classes will handle different approach (e.g. multipass/iterative filtering). |
= Action = | = Action = | ||
* Talk with Steve and getting his feedback. | * Talk with Steve and getting his feedback. | ||
* Ken will be very happy to contribute writing the base class VTKOpenGLImageAlgorithm (in a couple of week after his vacation). | * Ken will be very happy to contribute writing the base class VTKOpenGLImageAlgorithm (in a couple of week after his vacation). |
Revision as of 18:58, 9 June 2016
Home < Documentation < Labs < OpenGLFiltersHere we summurize some efforts for enabling image processing (filtering/smoothing) in VTK/Slicer using OpenGL.
The reason behind this page is to try to coordinate the variuos projects regarding this subject.
Reference
https://www.slicer.org/slicerWiki/index.php/Developer_Meetings/20150609 https://www.slicer.org/slicerWiki/index.php/Developer_Meetings/20150901 https://github.com/pieper/CommonGL/tree/master/GLFilters http://www.vtk.org/Wiki/Shader_In_VTK https://github.com/Kitware/VTK/blob/52d45496877b00852a08a5b9819d109c2fd9bfab/Imaging/General/vtkImageGaussianSmooth.h
meeting 9th June 2016
Attanded by: Davide Punzo, Jean-Christophe Fillion-Robin, Ken Martin.
In order to boost filtering OpenGL solution seems the best to fit our needs:
- no requirment on external library (CUDA or OpenCL).
- performance boosting is fairly good to allow almost interactive filtering up to volume of ~10^8 voxels.
Use Case
based on the Steve Pieper implementation of the classes:
vtkOpenGLTextureImage vtkOpenGLShaderComputation
here an Use case:
https://github.com/Punzo/SlicerAstro/tree/master/Smoothing/Logic https://www.overleaf.com/read/jbxxsqtctpgv
Full integration in VTK
For a full integration of the openGLfilters pipeline in VTK, it will be ideally to have a general purpose class:
VTKOpenGLImageAlgorithm
this class will have the duty to:
- hanle the I/O comunication between the vtkImageData and the GPU Texture using fully the VTK shader infrastracure, since the shader infrastructure is already available in VTK (safe binding, automatic versioning, etc... http://www.vtk.org/Wiki/Shader_In_VTK).
- child classes will handle different approach (e.g. multipass/iterative filtering).
Action
- Talk with Steve and getting his feedback.
- Ken will be very happy to contribute writing the base class VTKOpenGLImageAlgorithm (in a couple of week after his vacation).