[vtkusers] Voxelize a point cloud (vtkVoxelModeller?)
lynx.abraxas at freenet.de
lynx.abraxas at freenet.de
Tue Nov 3 16:00:49 EST 2009
On 02/11/09 17:18:41, David Doria wrote:
> Lynx,
>
> Yes, this is perfect. I made an example here:
> http://www.vtk.org/Wiki/Embed_points_into_a_volume
> Maybe vtkVoxelModeller should be marked as deprecated? Or was I not
> using it for the its intended use?
>
> I tried to do SetRadius(0) which I thought would set the "spread" of
> the point to be zero (an impulse) and therefore the entire
> contribution of the point would be added directly to the voxel that it
> is inside. However, when I did that (and even with SetRadius(.01)),
> none of the voxels received any contributions (i.e. the resulting
> imagedata was completely zeros). Do you know why that might be?
>
Hm, I'm not sure. I've been wondering about the parameters the Gaussiain
Splatter needs.
(there is an example http://www.itk.org/Wiki/Create_a_surface_from_Unorganized_Points_(Gaussian_Splat))
The radius (as the docs state, SetRadius) is expressed as a percentage of the
length of the longest side of the sampling volume. I haven't found the time to
check but perhaps 1/(2n) (eg. 0.05) would give an effective range of 1 voxel
in Your example. Below (if rounded) will probably result in what You got.
I'm not really understanding SetModelBounds. I'd think a parameter that
restricts the sampling reagion is necessary since the Gaussian extends to
infinity. If SetModelBounds
is doint that setting that to 1 voxel might help as well.
One thing I'm not sure is if the filter generates a Gaussian blob (extending
acc. to ModelBounds) at the injection point or if it "injectes random
secondary points" distributed gaussian. In the latter (random) case one would
need to worry if there is always a full contribution to the centre voxel.
Hope this might be of help.
Lynx
More information about the vtkusers
mailing list