go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkMevisDicomTiffImageIO.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 /*=========================================================================
00016 
00017   Program:   Insight Segmentation & Registration Toolkit
00018   Module:    $RCSfile: itkMevisDicomTiffImageIO.h,v $
00019   Language:  C++
00020   Date:      $Date: 2009/10/14 13:28:12 $
00021   Version:   $Revision: 1.7 $
00022 
00023   Copyright (c) Insight Software Consortium. All rights reserved.
00024   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00025 
00026      This software is distributed WITHOUT ANY WARRANTY; without even
00027      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00028      PURPOSE.  See the above copyright notices for more information.
00029 
00030 =========================================================================*/
00031 #ifndef __itkMevisDicomTiffImageIO_h
00032 #define __itkMevisDicomTiffImageIO_h
00033 
00034 #ifdef _MSC_VER
00035 #pragma warning ( disable : 4786 )
00036 #endif
00037 
00038 #include <fstream>
00039 #include <string>
00040 
00041 #include "itkImageIOBase.h"
00042 #include "itk_tiff.h"
00043 
00044 namespace itk
00045 {
00046 
00047 
00116 class TIFFReaderInternal;
00117 
00118 class ITK_EXPORT MevisDicomTiffImageIO : public ImageIOBase
00119 {
00120 public:
00121 
00122   typedef MevisDicomTiffImageIO         Self;
00123   typedef ImageIOBase                   Superclass;
00124   typedef SmartPointer<Self>            Pointer;
00125 
00126   itkNewMacro(Self);
00127   itkTypeMacro(MevisDicomTiffImageIO, Superclass);
00128   itkGetMacro(RescaleSlope, double);
00129   itkGetMacro(RescaleIntercept, double);
00130 
00131   virtual bool CanReadFile(const char*);
00132   virtual void ReadImageInformation();
00133   virtual void Read(void* buffer);
00134   virtual bool CanWriteFile(const char*);
00135   virtual void WriteImageInformation();
00136   virtual void Write(const void* buffer);
00137   virtual bool CanStreamRead()
00138     {
00139     return false;
00140     }
00141 
00142   virtual bool CanStreamWrite()
00143     {
00144     return false;
00145     }
00146 
00147 protected:
00148   MevisDicomTiffImageIO();
00149   ~MevisDicomTiffImageIO();
00150   void PrintSelf(std::ostream& os, Indent indent) const;
00151 
00152 private:
00153 
00154   MevisDicomTiffImageIO(const Self&); //purposely not implemented
00155   void operator=(const Self&); //purposely not implemented
00156 
00157   // the following includes the pathname
00158   // (if these are given)!
00159   std::string                           m_DcmFileName;
00160   std::string                           m_TiffFileName;
00161 
00162   TIFF *                                m_TIFFImage;
00163   unsigned int                          m_TIFFDimension;
00164   bool                                  m_IsOpen;
00165   unsigned short                        m_Compression;
00166   unsigned int                          m_BitsPerSample;
00167   unsigned int                          m_Width;
00168   unsigned int                          m_Length;
00169   unsigned int                          m_Depth;
00170   bool                                  m_IsTiled;
00171   unsigned int                          m_TileWidth;
00172   unsigned int                          m_TileLength;
00173   unsigned int                          m_TileDepth;
00174   unsigned short                        m_NumberOfTiles;
00175 
00176   double                                m_RescaleSlope;
00177   double                                m_RescaleIntercept;
00178   double                                m_EstimatedMinimum;
00179   double                                m_EstimatedMaximum;
00180 
00181 
00182 };
00183 
00184 } // end namespace itk
00185 
00186 #endif // __itkMevisDicomTiffImageIO_h


Generated on 11-05-2011 for elastix by doxygen 1.7.4 elastix logo