Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkDICOMImageIO2.h

Go to the documentation of this file.
00001 00002 /*========================================================================= 00003 00004 Program: Insight Segmentation & Registration Toolkit 00005 Module: $RCSfile: itkDICOMImageIO2.h,v $ 00006 Language: C++ 00007 Date: $Date: 2004/01/08 00:39:04 $ 00008 Version: $1.0$ 00009 00010 Copyright (c) Insight Software Consortium. All rights reserved. 00011 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00012 00013 This software is distributed WITHOUT ANY WARRANTY; without even 00014 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 PURPOSE. See the above copyright notices for more information. 00016 00017 =========================================================================*/ 00018 #ifndef __itkDICOMImageIO2_h 00019 #define __itkDICOMImageIO2_h 00020 00021 #include <fstream> 00022 #include "itkImageIOBase.h" 00023 00024 #include "DICOMParser.h" 00025 #include "DICOMAppHelper.h" 00026 00027 namespace itk 00028 { 00029 00031 class ITK_EXPORT DICOMImageIO2 : public ImageIOBase 00032 { 00033 public: 00035 typedef DICOMImageIO2 Self; 00036 typedef ImageIOBase Superclass; 00037 typedef SmartPointer<Self> Pointer; 00038 00040 itkNewMacro(Self); 00041 00043 itkTypeMacro(DICOMImageIO2, Superclass); 00044 00045 /*-------- This part of the interfaces deals with reading data. ----- */ 00046 00049 virtual bool CanReadFile(const char*) ; 00050 00051 00053 virtual void ReadImageInformation(); 00054 00056 // virtual const std::type_info& GetPixelType() const; 00057 00059 virtual void Read(void* buffer); 00060 00064 // virtual unsigned int GetComponentSize() const; 00065 00066 /*-------- This part of the interfaces deals with writing data. ----- */ 00067 00070 virtual bool CanWriteFile(const char*) {return false;} 00071 00073 virtual void WriteImageInformation() {} 00074 00077 virtual void Write(const void*) {} 00078 00079 00080 protected: 00081 DICOMImageIO2(); 00082 virtual ~DICOMImageIO2(); 00083 void PrintSelf(std::ostream& os, Indent indent) const; 00084 00085 DICOMParser * m_Parser; 00086 DICOMAppHelper * m_AppHelper; 00087 00088 void ReadDataCallback(doublebyte group, 00089 doublebyte element, 00090 DICOMParser::VRTypes type, 00091 unsigned char* val, 00092 quadbyte len); 00093 00094 unsigned char* m_ImageDataBuffer; 00095 00096 private: 00097 DICOMImageIO2(const Self&); //purposely not implemented 00098 void operator=(const Self&); //purposely not implemented 00099 00100 }; 00101 00102 } // end namespace itk 00103 00104 #endif // __itkDICOMImageIO2_h

Generated at Sun Apr 1 02:27:12 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000