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.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkMevisDicomTiffImageIO.h,v $
5  Language: C++
6  Date: $Date: 2009/10/13 15:11:01 $
7  Version: $Revision: 1.23 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkMevisDicomTiffImageIO_h
18 #define __itkMevisDicomTiffImageIO_h
19 
20 #ifdef _MSC_VER
21 #pragma warning ( disable : 4786 )
22 #endif
23 
24 #include "itkImageIOBase.h"
25 #include "itk_tiff.h"
26 #include "gdcmTag.h"
27 #include "gdcmAttribute.h"
28 
29 #include <fstream>
30 #include <string>
31 
32 namespace itk
33 {
34 
106 class TIFFReaderInternal;
107 
108 class ITK_EXPORT MevisDicomTiffImageIO : public ImageIOBase
109 {
110 public:
111 
114  typedef SmartPointer< Self > Pointer;
115 
116  itkNewMacro( Self );
117  itkTypeMacro( MevisDicomTiffImageIO, Superclass );
118  itkGetMacro( RescaleSlope, double );
119  itkGetMacro( RescaleIntercept, double );
120  itkGetMacro( GantryTilt, double );
121 
122  virtual bool CanReadFile( const char * );
123 
124  virtual void ReadImageInformation();
125 
126  virtual void Read( void * buffer );
127 
128  virtual bool CanWriteFile( const char * );
129 
130  virtual void WriteImageInformation();
131 
132  virtual void Write( const void * buffer );
133 
134  virtual bool CanStreamRead()
135  {
136  return false;
137  }
138 
139 
140  virtual bool CanStreamWrite()
141  {
142  return false;
143  }
144 
145 
146 protected:
147 
150  void PrintSelf( std::ostream & os, Indent indent ) const;
151 
152 private:
153 
154  MevisDicomTiffImageIO( const Self & );
155  void operator=( const Self & );
156 
157  bool FindElement( const gdcm::DataSet ds, const gdcm::Tag tag, gdcm::DataElement & de,
158  const bool breadthfirstsearch );
159 
160  // the following may include the pathname
161  std::string m_DcmFileName;
162  std::string m_TiffFileName;
163 
164  TIFF * m_TIFFImage;
165  unsigned int m_TIFFDimension;
166  bool m_IsOpen;
167  unsigned short m_Compression;
168  unsigned int m_BitsPerSample;
169  unsigned int m_Width;
170  unsigned int m_Length;
171  unsigned int m_Depth;
172  bool m_IsTiled;
173  unsigned int m_TileWidth;
174  unsigned int m_TileLength;
175  unsigned int m_TileDepth;
176  unsigned short m_NumberOfTiles;
177 
180  double m_GantryTilt;
183 
184 };
185 
186 } // end namespace itk
187 
188 #endif // __itkMevisDicomTiffImageIO_h


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo