00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00032
#ifndef __vtkImageShrink3D_h
00033
#define __vtkImageShrink3D_h
00034
00035
00036
#include "vtkImageToImageFilter.h"
00037
00038 class VTK_IMAGING_EXPORT vtkImageShrink3D :
public vtkImageToImageFilter
00039 {
00040
public:
00041
static vtkImageShrink3D *
New();
00042 vtkTypeRevisionMacro(vtkImageShrink3D,
vtkImageToImageFilter);
00043
void PrintSelf(ostream& os,
vtkIndent indent);
00044
00046
00047 vtkSetVector3Macro(ShrinkFactors,
int);
00048 vtkGetVector3Macro(ShrinkFactors,
int);
00050
00052
00053 vtkSetVector3Macro(Shift,
int);
00054 vtkGetVector3Macro(Shift,
int);
00056
00058
00063
void SetAveraging(
int);
00064 int GetAveraging() {
return this->GetMean();};
00065 vtkBooleanMacro(Averaging,
int);
00067
00068
void SetMean(
int);
00069 vtkGetMacro(Mean,
int);
00070 vtkBooleanMacro(Mean,
int);
00071
00072
void SetMinimum(
int);
00073 vtkGetMacro(Minimum,
int);
00074 vtkBooleanMacro(Minimum,
int);
00075
00076
void SetMaximum(
int);
00077 vtkGetMacro(Maximum,
int);
00078 vtkBooleanMacro(Maximum,
int);
00079
00080
void SetMedian(
int);
00081 vtkGetMacro(Median,
int);
00082 vtkBooleanMacro(Median,
int);
00083
00084
00085
protected:
00086 vtkImageShrink3D();
00087 ~vtkImageShrink3D() {};
00088
00089 int ShrinkFactors[3];
00090 int Shift[3];
00091 int Mean;
00092 int Minimum;
00093 int Maximum;
00094 int Median;
00095
00096
void ExecuteInformation(
vtkImageData *inData,
vtkImageData *outData);
00097
void ComputeInputUpdateExtent(
int inExt[6],
int outExt[6]);
00098 void ExecuteInformation(){this->
vtkImageToImageFilter::ExecuteInformation();};
00099
void ThreadedExecute(
vtkImageData *inData,
vtkImageData *outData,
00100
int ext[6],
int id);
00101
private:
00102 vtkImageShrink3D(
const vtkImageShrink3D&);
00103
void operator=(
const vtkImageShrink3D&);
00104 };
00105
00106
#endif
00107
00108
00109