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