Difference between revisions of "Documentation/Labs/OpenGLFilters"

From Slicer Wiki
Jump to: navigation, search
Line 5: Line 5:
 
= Reference =
 
= Reference =
  
<pre>
+
* [[Developer_Meetings/20150609]]
https://www.slicer.org/slicerWiki/index.php/Developer_Meetings/20150609
+
* [[Developer_Meetings/20150901]]
https://www.slicer.org/slicerWiki/index.php/Developer_Meetings/20150901
+
* https://github.com/pieper/CommonGL/tree/master/GLFilters
https://github.com/pieper/CommonGL/tree/master/GLFilters
+
* http://www.vtk.org/Wiki/Shader_In_VTK
http://www.vtk.org/Wiki/Shader_In_VTK
+
* [https://github.com/Kitware/VTK/blob/52d45496877b00852a08a5b9819d109c2fd9bfab/Imaging/General/vtkImageGaussianSmooth.h VTK/Imaging/General/vtkImageGaussianSmooth.h]
https://github.com/Kitware/VTK/blob/52d45496877b00852a08a5b9819d109c2fd9bfab/Imaging/General/vtkImageGaussianSmooth.h
 
</pre>
 
  
 
= Meeting =
 
= Meeting =

Revision as of 19:25, 9 June 2016

Home < Documentation < Labs < OpenGLFilters

Here we summurize some efforts for enabling image processing (filtering/smoothing) in VTK/Slicer using OpenGL.

The reason behind this page is trying to coordinate the variuos projects regarding this subject.

Reference

Meeting

9th June 2016

Attanded by: Davide Punzo, Jean-Christophe Fillion-Robin, Ken Martin.

In order to boost filtering, OpenGL solution seems the best that fits 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 weeks after his vacation).