VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkImageSlabReslice Class Reference

Thick slab reformat through data. More...

#include <vtkImageSlabReslice.h>

Inheritance diagram for vtkImageSlabReslice:
[legend]
Collaboration diagram for vtkImageSlabReslice:
[legend]

Public Types

typedef vtkImageReslice Superclass
 
- Public Types inherited from vtkImageReslice
typedef vtkThreadedImageAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImageSlabResliceNewInstance () const
 
virtual void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetBlendMode (int)
 
virtual int GetBlendMode ()
 
void SetBlendModeToMin ()
 
void SetBlendModeToMax ()
 
void SetBlendModeToMean ()
 
virtual int GetNumBlendSamplePoints ()
 
virtual void SetSlabThickness (double)
 
virtual double GetSlabThickness ()
 
virtual void SetSlabResolution (double)
 
virtual double GetSlabResolution ()
 
- Public Member Functions inherited from vtkImageReslice
vtkImageResliceNewInstance () const
 
unsigned long int GetMTime ()
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void SetResliceAxes (vtkMatrix4x4 *)
 
virtual vtkMatrix4x4 * GetResliceAxes ()
 
void SetResliceAxesDirectionCosines (double x0, double x1, double x2, double y0, double y1, double y2, double z0, double z1, double z2)
 
void SetResliceAxesDirectionCosines (const double x[3], const double y[3], const double z[3])
 
void SetResliceAxesDirectionCosines (const double xyz[9])
 
void GetResliceAxesDirectionCosines (double x[3], double y[3], double z[3])
 
void GetResliceAxesDirectionCosines (double xyz[9])
 
double * GetResliceAxesDirectionCosines ()
 
void SetResliceAxesOrigin (double x, double y, double z)
 
void SetResliceAxesOrigin (const double xyz[3])
 
void GetResliceAxesOrigin (double xyz[3])
 
double * GetResliceAxesOrigin ()
 
virtual void SetResliceTransform (vtkAbstractTransform *)
 
virtual vtkAbstractTransform * GetResliceTransform ()
 
virtual void SetInformationInput (vtkImageData *)
 
virtual vtkImageData * GetInformationInput ()
 
virtual void SetTransformInputSampling (int)
 
virtual void TransformInputSamplingOn ()
 
virtual void TransformInputSamplingOff ()
 
virtual int GetTransformInputSampling ()
 
virtual void SetAutoCropOutput (int)
 
virtual void AutoCropOutputOn ()
 
virtual void AutoCropOutputOff ()
 
virtual int GetAutoCropOutput ()
 
virtual void SetWrap (int)
 
virtual int GetWrap ()
 
virtual void WrapOn ()
 
virtual void WrapOff ()
 
virtual void SetMirror (int)
 
virtual int GetMirror ()
 
virtual void MirrorOn ()
 
virtual void MirrorOff ()
 
virtual void SetBorder (int)
 
virtual int GetBorder ()
 
virtual void BorderOn ()
 
virtual void BorderOff ()
 
virtual void SetInterpolationMode (int)
 
virtual int GetInterpolationMode ()
 
void SetInterpolationModeToNearestNeighbor ()
 
void SetInterpolationModeToLinear ()
 
void SetInterpolationModeToCubic ()
 
virtual const char * GetInterpolationModeAsString ()
 
virtual void SetInterpolator (vtkAbstractImageInterpolator *sampler)
 
virtual
vtkAbstractImageInterpolator
GetInterpolator ()
 
virtual void SetSlabMode (int)
 
virtual int GetSlabMode ()
 
void SetSlabModeToMin ()
 
void SetSlabModeToMax ()
 
void SetSlabModeToMean ()
 
void SetSlabModeToSum ()
 
virtual const char * GetSlabModeAsString ()
 
virtual void SetSlabNumberOfSlices (int)
 
virtual int GetSlabNumberOfSlices ()
 
virtual void SetSlabTrapezoidIntegration (int)
 
virtual void SlabTrapezoidIntegrationOn ()
 
virtual void SlabTrapezoidIntegrationOff ()
 
virtual int GetSlabTrapezoidIntegration ()
 
virtual void SetOptimization (int)
 
virtual int GetOptimization ()
 
virtual void OptimizationOn ()
 
virtual void OptimizationOff ()
 
virtual void SetBackgroundColor (double, double, double, double)
 
virtual void SetBackgroundColor (double[4])
 
virtual double * GetBackgroundColor ()
 
virtual void GetBackgroundColor (double &, double &, double &, double &)
 
virtual void GetBackgroundColor (double[4])
 
void SetBackgroundLevel (double v)
 
double GetBackgroundLevel ()
 
virtual void SetOutputSpacing (double x, double y, double z)
 
virtual void SetOutputSpacing (const double a[3])
 
virtual double * GetOutputSpacing ()
 
virtual void GetOutputSpacing (double &, double &, double &)
 
virtual void GetOutputSpacing (double[3])
 
void SetOutputSpacingToDefault ()
 
virtual void SetOutputOrigin (double x, double y, double z)
 
virtual void SetOutputOrigin (const double a[3])
 
virtual double * GetOutputOrigin ()
 
virtual void GetOutputOrigin (double &, double &, double &)
 
virtual void GetOutputOrigin (double[3])
 
void SetOutputOriginToDefault ()
 
virtual void SetOutputExtent (int a, int b, int c, int d, int e, int f)
 
virtual void SetOutputExtent (const int a[6])
 
virtual int * GetOutputExtent ()
 
virtual void GetOutputExtent (int &, int &, int &, int &, int &, int &)
 
virtual void GetOutputExtent (int[6])
 
void SetOutputExtentToDefault ()
 
virtual void SetOutputDimensionality (int)
 
virtual int GetOutputDimensionality ()
 
void SetInterpolate (int t)
 
void InterpolateOn ()
 
void InterpolateOff ()
 
int GetInterpolate ()
 
void SetStencilData (vtkImageStencilData *stencil)
 
vtkImageStencilDataGetStencil ()
 
virtual void SetGenerateStencilOutput (int)
 
virtual int GetGenerateStencilOutput ()
 
virtual void GenerateStencilOutputOn ()
 
virtual void GenerateStencilOutputOff ()
 
vtkAlgorithmOutput * GetStencilOutputPort ()
 
vtkImageStencilDataGetStencilOutput ()
 
void SetStencilOutput (vtkImageStencilData *stencil)
 

Static Public Member Functions

static vtkImageSlabResliceNew ()
 
static int IsTypeOf (const char *type)
 
static vtkImageSlabResliceSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageReslice
static vtkImageResliceNew ()
 
static int IsTypeOf (const char *type)
 
static vtkImageResliceSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkImageSlabReslice ()
 
 ~vtkImageSlabReslice ()
 
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
- Protected Member Functions inherited from vtkImageReslice
 vtkImageReslice ()
 
 ~vtkImageReslice ()
 
virtual int ConvertScalarInfo (int &scalarType, int &numComponents)
 
void ConvertScalarsBase (void *inPtr, void *outPtr, int inputType, int inputNumComponents, int count, int idX, int idY, int idZ, int threadId)
 
void GetAutoCroppedOutputBounds (vtkInformation *inInfo, double bounds[6])
 
virtual void AllocateOutputData (vtkImageData *output, vtkInformation *outInfo, int *uExtent)
 
virtual vtkImageData * AllocateOutputData (vtkDataObject *, vtkInformation *)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual void ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 
vtkMatrix4x4 * GetIndexMatrix (vtkInformation *inInfo, vtkInformation *outInfo)
 
vtkAbstractTransform * GetOptimizedTransform ()
 
virtual void ConvertScalars (void *inPtr, void *outPtr, int inputType, int inputNumComponents, int count, int idX, int idY, int idZ, int threadId)
 

Protected Attributes

int BlendMode
 
double SlabThickness
 
double SlabResolution
 
int NumBlendSamplePoints
 
- Protected Attributes inherited from vtkImageReslice
vtkMatrix4x4 * ResliceAxes
 
double ResliceAxesDirectionCosines [9]
 
double ResliceAxesOrigin [3]
 
vtkAbstractTransform * ResliceTransform
 
vtkAbstractImageInterpolatorInterpolator
 
vtkImageData * InformationInput
 
int Wrap
 
int Mirror
 
int Border
 
int InterpolationMode
 
int Optimization
 
int SlabMode
 
int SlabNumberOfSlices
 
int SlabTrapezoidIntegration
 
double BackgroundColor [4]
 
double OutputOrigin [3]
 
double OutputSpacing [3]
 
int OutputExtent [6]
 
int OutputScalarType
 
int OutputDimensionality
 
int TransformInputSampling
 
int AutoCropOutput
 
int HitInputExtent
 
int UsePermuteExecute
 
int ComputeOutputSpacing
 
int ComputeOutputOrigin
 
int ComputeOutputExtent
 
int GenerateStencilOutput
 
vtkMatrix4x4 * IndexMatrix
 
vtkAbstractTransform * OptimizedTransform
 
int HasConvertScalars
 

Detailed Description

Thick slab reformat through data.

This class derives from vtkImageResliceBase. Much like vtkImageReslice, it reslices the data. It is multi-threaded. It takes a three dimensional image as input and produces a two dimensional thick MPR along some direction.

The class reslices the thick slab using a blending function. Supported blending functions are Minimum Intensity blend through the slab, maximum intensity blend and a Mean (average) intensity of values across the slab.

The user can adjust the thickness of the slab by using the method SetSlabThickness. The distance between sample points used for blending across the thickness of the slab is controlled by the method SetSlabResolution. These two methods determine the number of slices used across the slab for blending, which is computed as {(2 x (int)(0.5 x SlabThickness/SlabResolution)) + 1}. This value may be queried via GetNumBlendSamplePoints() and is always >= 1.

Much like vtkImageReslice, the reslice axes direction cosines may be set via the methods SetResliceAxes or SetResliceAxesDirectionCosines. The output spacing is controlled by SetOutputSpacing and the output origin is controlled by SetOutputOrigin. The default value to be set on pixels that lie outside the volume when reformatting is controlled by SetBackgroundColor or SetBackgroundLevel. The SetResliceAxesOrigin() method can also be used to provide an (x,y,z) point that the slice will pass through.

See Also
vtkImageReslice
Examples:
vtkImageSlabReslice (Examples)

Definition at line 57 of file vtkImageSlabReslice.h.

Member Typedef Documentation

Definition at line 62 of file vtkImageSlabReslice.h.

Constructor & Destructor Documentation

vtkImageSlabReslice::vtkImageSlabReslice ( )
protected
vtkImageSlabReslice::~vtkImageSlabReslice ( )
protected

Member Function Documentation

static vtkImageSlabReslice* vtkImageSlabReslice::New ( )
static
static int vtkImageSlabReslice::IsTypeOf ( const char *  type)
static
virtual int vtkImageSlabReslice::IsA ( const char *  type)
virtual

Reimplemented from vtkImageReslice.

static vtkImageSlabReslice* vtkImageSlabReslice::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkImageSlabReslice::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkImageReslice.

vtkImageSlabReslice* vtkImageSlabReslice::NewInstance ( ) const
virtual void vtkImageSlabReslice::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Printself method.

Reimplemented from vtkImageReslice.

virtual void vtkImageSlabReslice::SetBlendMode ( int  )
virtual

Set/Get the blend mode. Default is MIP (ie Max)

virtual int vtkImageSlabReslice::GetBlendMode ( )
virtual

Set/Get the blend mode. Default is MIP (ie Max)

void vtkImageSlabReslice::SetBlendModeToMin ( )
inline

Set/Get the blend mode. Default is MIP (ie Max)

Definition at line 71 of file vtkImageSlabReslice.h.

void vtkImageSlabReslice::SetBlendModeToMax ( )
inline

Set/Get the blend mode. Default is MIP (ie Max)

Definition at line 72 of file vtkImageSlabReslice.h.

void vtkImageSlabReslice::SetBlendModeToMean ( )
inline

Set/Get the blend mode. Default is MIP (ie Max)

Definition at line 73 of file vtkImageSlabReslice.h.

virtual int vtkImageSlabReslice::GetNumBlendSamplePoints ( )
virtual

Number of sample points used across the slab cross-section. If equal to 1, this ends up being a thin reslice through the data a.k.a. vtkImageReslice

virtual void vtkImageSlabReslice::SetSlabThickness ( double  )
virtual

SlabThickness of slab in world coords. SlabThickness must be non-zero and positive.

virtual double vtkImageSlabReslice::GetSlabThickness ( )
virtual

SlabThickness of slab in world coords. SlabThickness must be non-zero and positive.

virtual void vtkImageSlabReslice::SetSlabResolution ( double  )
virtual

Spacing between slabs in world units. (Number of Slices, ie samples to blend is computed from SlabThickness and SlabResolution).

virtual double vtkImageSlabReslice::GetSlabResolution ( )
virtual

Spacing between slabs in world units. (Number of Slices, ie samples to blend is computed from SlabThickness and SlabResolution).

virtual int vtkImageSlabReslice::RequestInformation ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

This method simply calls the superclass method. In addition, it also precomputes the NumBlendSamplePoints based on the SlabThickness and SlabResolution.

Reimplemented from vtkImageReslice.

Member Data Documentation

int vtkImageSlabReslice::BlendMode
protected

Definition at line 109 of file vtkImageSlabReslice.h.

double vtkImageSlabReslice::SlabThickness
protected

Definition at line 110 of file vtkImageSlabReslice.h.

double vtkImageSlabReslice::SlabResolution
protected

Definition at line 111 of file vtkImageSlabReslice.h.

int vtkImageSlabReslice::NumBlendSamplePoints
protected

Definition at line 112 of file vtkImageSlabReslice.h.


The documentation for this class was generated from the following file: