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