00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkImageReader_h
00030 #define __vtkImageReader_h
00031
00032 #include "vtkImageReader2.h"
00033
00034 class vtkTransform;
00035
00036 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00037 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00038
00039 class VTK_IO_EXPORT vtkImageReader : public vtkImageReader2
00040 {
00041 public:
00042 static vtkImageReader *New();
00043 vtkTypeRevisionMacro(vtkImageReader,vtkImageReader2);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047
00049 vtkSetVector6Macro(DataVOI,int);
00050 vtkGetVector6Macro(DataVOI,int);
00052
00054
00060 vtkGetMacro(DataMask, vtkTypeUInt64);
00061 vtkSetMacro(DataMask, vtkTypeUInt64);
00063
00065
00068 virtual void SetTransform(vtkTransform*);
00069 vtkGetObjectMacro(Transform,vtkTransform);
00071
00072
00073
00074 void ComputeInverseTransformedExtent(int inExtent[6],
00075 int outExtent[6]);
00076 void ComputeInverseTransformedIncrements(vtkIdType inIncr[3],
00077 vtkIdType outIncr[3]);
00078
00079 int OpenAndSeekFile(int extent[6], int slice);
00080
00082
00083 vtkSetStringMacro(ScalarArrayName);
00084 vtkGetStringMacro(ScalarArrayName);
00086
00087 protected:
00088 vtkImageReader();
00089 ~vtkImageReader();
00090
00091 vtkTypeUInt64 DataMask;
00092
00093 vtkTransform *Transform;
00094
00095 void ComputeTransformedSpacing (double Spacing[3]);
00096 void ComputeTransformedOrigin (double origin[3]);
00097 void ComputeTransformedExtent(int inExtent[6],
00098 int outExtent[6]);
00099 void ComputeTransformedIncrements(vtkIdType inIncr[3],
00100 vtkIdType outIncr[3]);
00101
00102 int DataVOI[6];
00103
00104 char *ScalarArrayName;
00105
00106 virtual int RequestInformation(vtkInformation* request,
00107 vtkInformationVector** inputVector,
00108 vtkInformationVector* outputVector);
00109
00110 void ExecuteData(vtkDataObject *data);
00111 private:
00112 vtkImageReader(const vtkImageReader&);
00113 void operator=(const vtkImageReader&);
00114 };
00115
00116 #endif