FreeMat: vtkGaussianSplatter

FreeMat

- Main Page
- Related Pages

vtkGaussianSplatter

Section: Visualization Toolkit Imaging Classes

# Usage

vtkGaussianSplatter is a filter that injects input points into a structured points (volume) dataset. As each point is injected, it "splats" or distributes values to nearby voxels. Data is distributed using an elliptical, Gaussian distribution function. The distribution function is modified using scalar values (expands distribution) or normals (creates ellipsoidal distribution rather than spherical).

In general, the Gaussian distribution function f(x) around a given splat point p is given by

    f(x) = ScaleFactor * exp( ExponentFactor*((r/Radius)**2) )

where x is the current voxel sample point; r is the distance |x-p| ExponentFactor <= 0.0, and ScaleFactor can be multiplied by the scalar value of the point p that is currently being splatted.

If points normals are present (and NormalWarping is on), then the splat function becomes elliptical (as compared to the spherical one described by the previous equation). The Gaussian distribution function then becomes:

    f(x) = ScaleFactor *
              exp( ExponentFactor*( ((rxy/E)**2 + z**2)/R**2) )

where E is a user-defined eccentricity factor that controls the elliptical shape of the splat; z is the distance of the current voxel sample point along normal N; and rxy is the distance of x in the direction prependicular to N.

This class is typically used to convert point-valued distributions into a volume representation. The volume is then usually iso-surfaced or volume rendered to generate a visualization. It can be used to create surfaces from point distributions, or to create structure (i.e., topology) when none exists.

To create an instance of class vtkGaussianSplatter, simply invoke its constructor as follows

      obj = vtkGaussianSplatter

# Methods

The class vtkGaussianSplatter has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, `obj` is an instance of the vtkGaussianSplatter class.

- `string = obj.GetClassName ()`
- `int = obj.IsA (string name)`
- `vtkGaussianSplatter = obj.NewInstance ()`
- `vtkGaussianSplatter = obj.SafeDownCast (vtkObject o)`
- `obj.SetSampleDimensions (int i, int j, int k)` - Set / get the dimensions of the sampling structured point set. Higher values produce better results but are much slower.
- `obj.SetSampleDimensions (int dim[3])` - Set / get the dimensions of the sampling structured point set. Higher values produce better results but are much slower.
- `int = obj. GetSampleDimensions ()` - Set / get the dimensions of the sampling structured point set. Higher values produce better results but are much slower.
- `obj.SetModelBounds (double , double , double , double , double , double )` - Set / get the (xmin,xmax, ymin,ymax, zmin,zmax) bounding box in which the sampling is performed. If any of the (min,max) bounds values are min >= max, then the bounds will be computed automatically from the input data. Otherwise, the user-specified bounds will be used.
- `obj.SetModelBounds (double a[6])` - Set / get the (xmin,xmax, ymin,ymax, zmin,zmax) bounding box in which the sampling is performed. If any of the (min,max) bounds values are min >= max, then the bounds will be computed automatically from the input data. Otherwise, the user-specified bounds will be used.
- `double = obj. GetModelBounds ()` - Set / get the (xmin,xmax, ymin,ymax, zmin,zmax) bounding box in which the sampling is performed. If any of the (min,max) bounds values are min >= max, then the bounds will be computed automatically from the input data. Otherwise, the user-specified bounds will be used.
- `obj.SetRadius (double )` - Set / get the radius of propagation of the splat. This value is expressed as a percentage of the length of the longest side of the sampling volume. Smaller numbers greatly reduce execution time.
- `double = obj.GetRadiusMinValue ()` - Set / get the radius of propagation of the splat. This value is expressed as a percentage of the length of the longest side of the sampling volume. Smaller numbers greatly reduce execution time.
- `double = obj.GetRadiusMaxValue ()` - Set / get the radius of propagation of the splat. This value is expressed as a percentage of the length of the longest side of the sampling volume. Smaller numbers greatly reduce execution time.
- `double = obj.GetRadius ()` - Set / get the radius of propagation of the splat. This value is expressed as a percentage of the length of the longest side of the sampling volume. Smaller numbers greatly reduce execution time.
- `obj.SetScaleFactor (double )` - Multiply Gaussian splat distribution by this value. If ScalarWarping is on, then the Scalar value will be multiplied by the ScaleFactor times the Gaussian function.
- `double = obj.GetScaleFactorMinValue ()` - Multiply Gaussian splat distribution by this value. If ScalarWarping is on, then the Scalar value will be multiplied by the ScaleFactor times the Gaussian function.
- `double = obj.GetScaleFactorMaxValue ()` - Multiply Gaussian splat distribution by this value. If ScalarWarping is on, then the Scalar value will be multiplied by the ScaleFactor times the Gaussian function.
- `double = obj.GetScaleFactor ()` - Multiply Gaussian splat distribution by this value. If ScalarWarping is on, then the Scalar value will be multiplied by the ScaleFactor times the Gaussian function.
- `obj.SetExponentFactor (double )` - Set / get the sharpness of decay of the splats. This is the exponent constant in the Gaussian equation. Normally this is a negative value.
- `double = obj.GetExponentFactor ()` - Set / get the sharpness of decay of the splats. This is the exponent constant in the Gaussian equation. Normally this is a negative value.
- `obj.SetNormalWarping (int )` - Turn on/off the generation of elliptical splats. If normal warping is on, then the input normals affect the distribution of the splat. This boolean is used in combination with the Eccentricity ivar.
- `int = obj.GetNormalWarping ()` - Turn on/off the generation of elliptical splats. If normal warping is on, then the input normals affect the distribution of the splat. This boolean is used in combination with the Eccentricity ivar.
- `obj.NormalWarpingOn ()` - Turn on/off the generation of elliptical splats. If normal warping is on, then the input normals affect the distribution of the splat. This boolean is used in combination with the Eccentricity ivar.
- `obj.NormalWarpingOff ()` - Turn on/off the generation of elliptical splats. If normal warping is on, then the input normals affect the distribution of the splat. This boolean is used in combination with the Eccentricity ivar.
- `obj.SetEccentricity (double )` - Control the shape of elliptical splatting. Eccentricity is the ratio of the major axis (aligned along normal) to the minor (axes) aligned along other two axes. So Eccentricity > 1 creates needles with the long axis in the direction of the normal; Eccentricity<1 creates pancakes perpendicular to the normal vector.
- `double = obj.GetEccentricityMinValue ()` - Control the shape of elliptical splatting. Eccentricity is the ratio of the major axis (aligned along normal) to the minor (axes) aligned along other two axes. So Eccentricity > 1 creates needles with the long axis in the direction of the normal; Eccentricity<1 creates pancakes perpendicular to the normal vector.
- `double = obj.GetEccentricityMaxValue ()` - Control the shape of elliptical splatting. Eccentricity is the ratio of the major axis (aligned along normal) to the minor (axes) aligned along other two axes. So Eccentricity > 1 creates needles with the long axis in the direction of the normal; Eccentricity<1 creates pancakes perpendicular to the normal vector.
- `double = obj.GetEccentricity ()` - Control the shape of elliptical splatting. Eccentricity is the ratio of the major axis (aligned along normal) to the minor (axes) aligned along other two axes. So Eccentricity > 1 creates needles with the long axis in the direction of the normal; Eccentricity<1 creates pancakes perpendicular to the normal vector.
- `obj.SetScalarWarping (int )` - Turn on/off the scaling of splats by scalar value.
- `int = obj.GetScalarWarping ()` - Turn on/off the scaling of splats by scalar value.
- `obj.ScalarWarpingOn ()` - Turn on/off the scaling of splats by scalar value.
- `obj.ScalarWarpingOff ()` - Turn on/off the scaling of splats by scalar value.
- `obj.SetCapping (int )` - Turn on/off the capping of the outer boundary of the volume to a specified cap value. This can be used to close surfaces (after iso-surfacing) and create other effects.
- `int = obj.GetCapping ()` - Turn on/off the capping of the outer boundary of the volume to a specified cap value. This can be used to close surfaces (after iso-surfacing) and create other effects.
- `obj.CappingOn ()` - Turn on/off the capping of the outer boundary of the volume to a specified cap value. This can be used to close surfaces (after iso-surfacing) and create other effects.
- `obj.CappingOff ()` - Turn on/off the capping of the outer boundary of the volume to a specified cap value. This can be used to close surfaces (after iso-surfacing) and create other effects.
- `obj.SetCapValue (double )` - Specify the cap value to use. (This instance variable only has effect if the ivar Capping is on.)
- `double = obj.GetCapValue ()` - Specify the cap value to use. (This instance variable only has effect if the ivar Capping is on.)
- `obj.SetAccumulationMode (int )` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `int = obj.GetAccumulationModeMinValue ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `int = obj.GetAccumulationModeMaxValue ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `int = obj.GetAccumulationMode ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `obj.SetAccumulationModeToMin ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `obj.SetAccumulationModeToMax ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `obj.SetAccumulationModeToSum ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `string = obj.GetAccumulationModeAsString ()` - Specify the scalar accumulation mode. This mode expresses how scalar values are combined when splats are overlapped. The Max mode acts like a set union operation and is the most commonly used; the Min mode acts like a set intersection, and the sum is just weird.
- `obj.SetNullValue (double )` - Set the Null value for output points not receiving a contribution from the input points. (This is the initial value of the voxel samples.)
- `double = obj.GetNullValue ()` - Set the Null value for output points not receiving a contribution from the input points. (This is the initial value of the voxel samples.)
- `obj.ComputeModelBounds (vtkDataSet input, vtkImageData output, vtkInformation outInfo)` - Compute the size of the sample bounding box automatically from the input data. This is an internal helper function.