vtkImageReader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00036 #ifndef __vtkImageReader_h
00037 #define __vtkImageReader_h
00038
00039 #include "vtkImageReader2.h"
00040
00041 class vtkTransform;
00042
00043 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00044 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00045
00046 class VTK_IO_EXPORT vtkImageReader : public vtkImageReader2
00047 {
00048 public:
00049 static vtkImageReader *New();
00050 vtkTypeRevisionMacro(vtkImageReader,vtkImageReader2);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00056 vtkSetVector6Macro(DataVOI,int);
00057 vtkGetVector6Macro(DataVOI,int);
00059
00061
00062 vtkGetMacro(DataMask,unsigned short);
00063 void SetDataMask(int val)
00064 {if (val == this->DataMask) { return; }
00065 this->DataMask = ((unsigned short)(val)); this->Modified();}
00067
00069
00072 virtual void SetTransform(vtkTransform*);
00073 vtkGetObjectMacro(Transform,vtkTransform);
00075
00076
00077
00078 void ComputeInverseTransformedExtent(int inExtent[6],
00079 int outExtent[6]);
00080 void ComputeInverseTransformedIncrements(int inIncr[3],
00081 int outIncr[3]);
00082
00083 int OpenAndSeekFile(int extent[6], int slice);
00084 protected:
00085 vtkImageReader();
00086 ~vtkImageReader();
00087
00088 unsigned short DataMask;
00089
00090 vtkTransform *Transform;
00091
00092 void ComputeTransformedSpacing (float Spacing[3]);
00093 void ComputeTransformedOrigin (float origin[3]);
00094 void ComputeTransformedExtent(int inExtent[6],
00095 int outExtent[6]);
00096 void ComputeTransformedIncrements(int inIncr[3],
00097 int outIncr[3]);
00098
00099 int DataVOI[6];
00100
00101 void ExecuteInformation();
00102 void ExecuteData(vtkDataObject *data);
00103 private:
00104 vtkImageReader(const vtkImageReader&);
00105 void operator=(const vtkImageReader&);
00106 };
00107
00108 #endif