[vtkusers] making vtkGaussianSplatter multi-threaded

Dr. Roman Grothausmann grothausmann.roman at mh-hannover.de
Mon Jan 12 05:56:33 EST 2015


Dear mailing list members,


Since I already started to create and use a modified version of 
vtkGaussianSplatter I now wonder if it were possible to make vtkGaussianSplatter 
run multi-threaded. I'd expect that this is possible if getting and setting 
pixel values is thread-safe. In vtkGaussianSplatter pixel values are stored in a 
vtkDoubleArray and read with GetValue and written with SetTuple. There is no 
info in the docs whether SetTuple (in the way used) is thread-safe. Although 
GetValue seems to exist, I cannot find any hint in the docs that vtkDoubleArray 
offers this function, however a thread-safe version of GetTuple exists.
So is there any reason vtkGaussianSplatter cannot be made multi-threaded with VTK6?

I found vtkGaussianScalarSplatter in the MADAI Workbench 
(https://github.com/MADAI/MADAIWorkbench/tree/71086409933f5c7dbb4ad56e1cd79939325ee7cd/Plugins/GaussianScalarSplatter) 
which seems to be based on vtkGaussianSplatter and originally was multi-threaded 
(https://github.com/MADAI/MADAIWorkbench/commit/8a6d9eba7a1cddeac38a9af03ef6c3dd197308d7). 

As far as I understand the code, the output of that filter is different to that 
of vtkGaussianSplatter, as setting the model bounds is disabled and the function 
SetScalar is gone and replaced by vtkGaussianScalarSplatter_erf.

Are there any other derivatives of vtkGaussianSplatter that are multi-threaded 
that I could use instead?

Thanks for any help or hints.
Roman

-- 
Dr. Roman Grothausmann

Tomographie und Digitale Bildverarbeitung
Tomography and Digital Image Analysis

Institut für Funktionelle und Angewandte Anatomie, OE 4120
Medizinische Hochschule Hannover
Carl-Neuberg-Str. 1
D-30625 Hannover

Tel. +49 511 532-9574


More information about the vtkusers mailing list