/usr/include/gdcm-2.2/gdcmOverlay.h is in libgdcm2-dev 2.2.4-1.1ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | /*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMOVERLAY_H
#define GDCMOVERLAY_H
#include "gdcmTypes.h"
#include "gdcmObject.h"
namespace gdcm
{
class OverlayInternal;
class ByteValue;
class DataSet;
class DataElement;
/**
* \brief Overlay class
* \note
* see AreOverlaysInPixelData
*
* \todo
* Is there actually any way to recognize an overlay ? On images with multiple overlay I do not see
* any way to differenciate them (other than the group tag).
*
* Example:
*/
class GDCM_EXPORT Overlay : public Object
{
public:
Overlay();
~Overlay();
/// Print
void Print(std::ostream &) const;
/// Update overlay from data element de:
void Update(const DataElement & de);
/// Set Group number
void SetGroup(unsigned short group);
/// Get Group number
unsigned short GetGroup() const;
/// set rows
void SetRows(unsigned short rows);
/// get rows
unsigned short GetRows() const;
/// set columns
void SetColumns(unsigned short columns);
/// get columns
unsigned short GetColumns() const;
/// set number of frames
void SetNumberOfFrames(unsigned int numberofframes);
/// set description
void SetDescription(const char* description);
/// get description
const char *GetDescription() const;
typedef enum {
Invalid = 0,
Graphics = 1,
ROI = 2
} OverlayType;
/// set type
void SetType(const char* type);
/// get type
const char *GetType() const;
OverlayType GetTypeAsEnum() const;
static const char *GetOverlayTypeAsString(OverlayType ot);
static OverlayType GetOverlayTypeFromString(const char *);
/// set origin
void SetOrigin(const signed short origin[2]);
/// get origin
const signed short * GetOrigin() const;
/// set frame origin
void SetFrameOrigin(unsigned short frameorigin);
/// set bits allocated
void SetBitsAllocated(unsigned short bitsallocated);
/// return bits allocated
unsigned short GetBitsAllocated() const;
/// set bit position
void SetBitPosition(unsigned short bitposition);
/// return bit position
unsigned short GetBitPosition() const;
/// set overlay from byte array + length
void SetOverlay(const char *array, size_t length);
///
bool GrabOverlayFromPixelData(DataSet const &ds);
/// Return the Overlay Data as ByteValue:
/// Not thread safe
const ByteValue &GetOverlayData() const;
/// Return whether or not the Overlay is empty:
bool IsEmpty() const;
/// return true if all bits are set to 0
bool IsZero() const;
/// return if the Overlay is stored in the pixel data or not
bool IsInPixelData() const;
/// Set wether or no the OverlayData is in the Pixel Data:
void IsInPixelData(bool b);
/// Decode the internal OverlayData (packed bits) into unpacked representation
void Decompress(std::ostream &os) const;
/// Get the raw (packed bits) Overlay Data:
GDCM_LEGACY(bool GetBuffer(char *buffer) const)
/// Do not use
GDCM_LEGACY(bool GetUnpackBuffer(unsigned char *buffer) const)
/// Do not use
GDCM_LEGACY(void Decode(std::istream &is, std::ostream &os))
/// Retrieve the size of the buffer needed to hold the Overlay
/// as specified by Col & Row parameters
size_t GetUnpackBufferLength() const;
/// Retrieve the unpack buffer for Overlay. This is an error if
/// the size if below GetUnpackBufferLength()
bool GetUnpackBuffer(char *buffer, size_t len) const;
Overlay(Overlay const &ov);
private:
OverlayInternal *Internal;
};
} // end namespace gdcm
#endif //GDCMOVERLAY_H
|