/vol/vipdata/irtk/image++/include/irtkFileToImage.h

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkFileToImage.h 8 2009-03-02 16:12:58Z dr $
00005   Copyright : Imperial College, Department of Computing
00006               Visual Information Processing (VIP), 2008 onwards
00007   Date      : $Date: 2009-03-02 16:12:58 +0000 (Mon, 02 Mar 2009) $
00008   Version   : $Revision: 8 $
00009   Changes   : $Author: dr $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef _IRTKFILETOIMAGE_H
00014 
00015 #define _IRTKFILETOIMAGE_H
00016 
00027 class irtkFileToImage : protected irtkCifstream
00028 {
00029 
00031   char *_imagename;
00032 
00033 protected:
00034 
00036    irtkImageAttributes _attr;
00037    
00039   int _bytes;
00040 
00042   int _type;
00043 
00045   float _slope;
00046 
00048   float _intercept;
00049 
00051   int _start;
00052 
00054   int _reflectX;
00055 
00057   int _reflectY;
00058 
00060   int _reflectZ;
00061 
00063   int _debug;
00064 
00070   virtual void ReadHeader() = 0;
00071 
00072 public:
00073 
00075   irtkFileToImage();
00076 
00078   virtual ~irtkFileToImage();
00079 
00085   static irtkFileToImage *New(const char *);
00086 
00088   virtual void SetInput (const char *);
00089 
00091   virtual irtkImage *GetOutput();
00092 
00094   virtual int  GetDebugFlag();
00095 
00097   virtual void PutDebugFlag(int);
00098 
00100   virtual void Print();
00101 
00103   virtual void Debug(char *);
00104 
00105   // Returns the name of the class
00106   virtual const char *NameOfClass() = 0;
00107 };
00108 
00109 #include <irtkFilePGMToImage.h>
00110 #include <irtkFileVTKToImage.h>
00111 #include <irtkFileGIPLToImage.h>
00112 #ifdef HAS_NIFTI
00113 #include <irtkFileNIFTIToImage.h>
00114 #endif
00115 #include <irtkFileANALYZEToImage.h>
00116 
00117 #endif