Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkImageReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageReader.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00032 #ifndef __vtkImageReader_h
00033 #define __vtkImageReader_h
00034 
00035 #include "vtkImageReader2.h"
00036 
00037 class vtkTransform;
00038 
00039 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00040 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00041 
00042 class VTK_IO_EXPORT vtkImageReader : public vtkImageReader2
00043 {
00044 public:
00045   static vtkImageReader *New();
00046   vtkTypeRevisionMacro(vtkImageReader,vtkImageReader2);
00047   void PrintSelf(ostream& os, vtkIndent indent);   
00048 
00050 
00052   vtkSetVector6Macro(DataVOI,int);
00053   vtkGetVector6Macro(DataVOI,int);
00055   
00057 
00058   vtkGetMacro(DataMask,unsigned short);
00059   void SetDataMask(int val) 
00060        {if (val == this->DataMask) { return; }
00061         this->DataMask = ((unsigned short)(val)); this->Modified();}
00063   
00065 
00068   virtual void SetTransform(vtkTransform*);
00069   vtkGetObjectMacro(Transform,vtkTransform);
00071 
00072   // Warning !!!
00073   // following should only be used by methods or template helpers, not users
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   unsigned short DataMask;  // Mask each pixel with ...
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&);  // Not implemented.
00113   void operator=(const vtkImageReader&);  // Not implemented.
00114 };
00115 
00116 #endif

Generated on Mon Jan 21 23:07:31 2008 for VTK by  doxygen 1.4.3-20050530