PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
itkUlteriusImageIO.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2  Program: Plus
3  Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4  See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 #ifndef __itkUlteriusImageIO_h
8 #define __itkUlteriusImageIO_h
9 
10 #ifdef _MSC_VER
11 #pragma warning ( disable : 4786 )
12 #endif
13 
14 #include "itkImageIOBase.h"
15 
16 class uFileHeader;
17 
18 namespace itk
19 {
20 
31 class ITK_EXPORT UlteriusImageIO : public ImageIOBase
32 {
33 public:
36  typedef ImageIOBase Superclass;
37  typedef SmartPointer<Self> Pointer;
38 
40  itkNewMacro(Self);
41 
43  itkTypeMacro(UlteriusImageIO, Superclass);
44 
50  virtual bool SupportsDimension(unsigned long )
51  {
52  return true;
53  }
54 
55  /*-------- This part of the interfaces deals with reading data. ----- */
56 
59  virtual bool CanReadFile(const char*);
60 
62  virtual void ReadImageInformation();
63 
65  virtual void Read(void* buffer);
66 
67  /*-------- This part of the interfaces deals with writing data. ----- */
68 
71  virtual bool CanWriteFile(const char*);
72 
74  virtual void WriteImageInformation();
75 
78  virtual void Write(const void* buffer);
79 
80 protected:
82  ~UlteriusImageIO();
83  void PrintSelf(std::ostream& os, Indent indent) const;
84 
85  bool ReadHeader(const char* filename);
86 
87  uFileHeader* m_FileHeaderPtr;
88 
89 private:
90 
91  UlteriusImageIO(const Self&); //purposely not implemented
92  void operator=(const Self&); //purposely not implemented
93 };
94 
95 } // end namespace itk
96 
97 #endif // __itkUlteriusImageIO_h
SmartPointer< Self > Pointer
uFileHeader * m_FileHeaderPtr
virtual bool SupportsDimension(unsigned long)
Read UlteriusImage file format.