Imaging/vtkImageMask.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00032 #ifndef __vtkImageMask_h
00033 #define __vtkImageMask_h
00034
00035
00036 #include "vtkImageTwoInputFilter.h"
00037
00038 class VTK_IMAGING_EXPORT vtkImageMask : public vtkImageTwoInputFilter
00039 {
00040 public:
00041 static vtkImageMask *New();
00042 vtkTypeRevisionMacro(vtkImageMask,vtkImageTwoInputFilter);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 void SetMaskedOutputValue(int num, double *v);
00048 void SetMaskedOutputValue(double v) {this->SetMaskedOutputValue(1, &v);}
00049 void SetMaskedOutputValue(double v1, double v2)
00050 {double v[2]; v[0]=v1; v[1]=v2; this->SetMaskedOutputValue(2, v);}
00051 void SetMaskedOutputValue(double v1, double v2, double v3)
00052 {double v[3]; v[0]=v1; v[1]=v2; v[2]=v3; this->SetMaskedOutputValue(3, v);}
00053 double *GetMaskedOutputValue() {return this->MaskedOutputValue;}
00054 int GetMaskedOutputValueLength() {return this->MaskedOutputValueLength;}
00056
00058
00061 vtkSetClampMacro ( MaskAlpha, double, 0.0, 1.0 );
00062 vtkGetMacro ( MaskAlpha, double );
00064
00066 void SetImageInput(vtkImageData *in) {this->SetInput1(in);}
00067
00069 void SetMaskInput(vtkImageData *in) {this->SetInput2(in);}
00070
00072
00076 vtkSetMacro(NotMask,int);
00077 vtkGetMacro(NotMask,int);
00078 vtkBooleanMacro(NotMask, int);
00080
00081 protected:
00082 vtkImageMask();
00083 ~vtkImageMask();
00084
00085 double *MaskedOutputValue;
00086 int MaskedOutputValueLength;
00087 int NotMask;
00088 double MaskAlpha;
00089
00090 void ExecuteInformation(vtkImageData **inDatas, vtkImageData *outData);
00091 void ExecuteInformation(){this->vtkImageTwoInputFilter::ExecuteInformation();};
00092
00093 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00094 int extent[6], int id);
00095 private:
00096 vtkImageMask(const vtkImageMask&);
00097 void operator=(const vtkImageMask&);
00098 };
00099
00100 #endif
00101
00102
00103