GDCM
2.2.0
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 00005 Copyright (c) 2006-2011 Mathieu Malaterre 00006 All rights reserved. 00007 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for 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 notice for more information. 00012 00013 =========================================================================*/ 00014 #ifndef GDCMOVERLAY_H 00015 #define GDCMOVERLAY_H 00016 00017 #include "gdcmTypes.h" 00018 #include "gdcmObject.h" 00019 00020 namespace gdcm 00021 { 00022 00023 class OverlayInternal; 00024 class ByteValue; 00025 class DataSet; 00026 class DataElement; 00038 class GDCM_EXPORT Overlay : public Object 00039 { 00040 public: 00041 Overlay(); 00042 ~Overlay(); 00044 void Print(std::ostream &) const; 00045 00047 void Update(const DataElement & de); 00048 00050 void SetGroup(unsigned short group); 00052 unsigned short GetGroup() const; 00054 void SetRows(unsigned short rows); 00056 unsigned short GetRows() const; 00058 void SetColumns(unsigned short columns); 00060 unsigned short GetColumns() const; 00062 void SetNumberOfFrames(unsigned int numberofframes); 00064 void SetDescription(const char* description); 00066 const char *GetDescription() const; 00068 void SetType(const char* type); 00070 const char *GetType() const; 00072 void SetOrigin(const signed short *origin); 00074 const signed short * GetOrigin() const; 00076 void SetFrameOrigin(unsigned short frameorigin); 00078 void SetBitsAllocated(unsigned short bitsallocated); 00080 unsigned short GetBitsAllocated() const; 00082 void SetBitPosition(unsigned short bitposition); 00084 unsigned short GetBitPosition() const; 00086 void SetOverlay(const char *array, unsigned int length); 00088 bool GrabOverlayFromPixelData(DataSet const &ds); 00089 00090 const ByteValue &GetOverlayData() const; 00091 00092 bool IsEmpty() const; 00093 00095 bool IsZero() const; 00096 00097 // return if the Overlay is stored in the pixel data or not 00098 bool IsInPixelData() const; 00099 void IsInPixelData(bool b); 00100 00101 void Decode(std::istream &is, std::ostream &os); 00102 00103 void Decompress(std::ostream &os) const; 00104 00105 bool GetBuffer(char *buffer) const; 00106 bool GetUnpackBuffer(unsigned char *buffer) const; 00107 00108 Overlay(Overlay const &ov); 00109 00110 private: 00111 OverlayInternal *Internal; 00112 }; 00113 00114 } // end namespace gdcm 00115 00116 #endif //GDCMOVERLAY_H