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 
33 namespace itk
34 {
35 
36 
108 class TIFFReaderInternal;
109 
110 class ITK_EXPORT MevisDicomTiffImageIO : public ImageIOBase
111 {
112 public:
113 
116  typedef SmartPointer<Self> Pointer;
117 
118  itkNewMacro(Self);
119  itkTypeMacro(MevisDicomTiffImageIO, Superclass);
120  itkGetMacro(RescaleSlope, double);
121  itkGetMacro(RescaleIntercept, double);
122  itkGetMacro(GantryTilt, double);
123 
124  virtual bool CanReadFile(const char*);
125  virtual void ReadImageInformation();
126  virtual void Read(void* buffer);
127  virtual bool CanWriteFile(const char*);
128  virtual void WriteImageInformation();
129  virtual void Write(const void* buffer);
130  virtual bool CanStreamRead()
131  {
132  return false;
133  }
134 
135  virtual bool CanStreamWrite()
136  {
137  return false;
138  }
139 
140 protected:
143  void PrintSelf(std::ostream& os, Indent indent) const;
144 
145 private:
146 
147  MevisDicomTiffImageIO(const Self&);
148  void operator=(const Self&);
149 
150  bool FindElement(const gdcm::DataSet ds, const gdcm::Tag tag, gdcm::DataElement &de,
151  const bool breadthfirstsearch);
152 
153  // the following may include the pathname
154  std::string m_DcmFileName;
155  std::string m_TiffFileName;
156 
157  TIFF * m_TIFFImage;
158  unsigned int m_TIFFDimension;
159  bool m_IsOpen;
160  unsigned short m_Compression;
161  unsigned int m_BitsPerSample;
162  unsigned int m_Width;
163  unsigned int m_Length;
164  unsigned int m_Depth;
165  bool m_IsTiled;
166  unsigned int m_TileWidth;
167  unsigned int m_TileLength;
168  unsigned int m_TileDepth;
169  unsigned short m_NumberOfTiles;
170 
173  double m_GantryTilt;
176 
177 
178 };
179 
180 } // end namespace itk
181 
182 #endif // __itkMevisDicomTiffImageIO_h


Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo