|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
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 1.7.4 |