/usr/include/gdcm-2.0/gdcmOverlay.h is in libgdcm2-dev 2.0.18-7.
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 | /*=========================================================================
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;
/// Will traverse the dataset in search for overlay elements
/// this is an hybrid method I don't like having it attach to an Overlay object
static unsigned int GetNumberOfOverlays(DataSet const & ds);
/// 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;
/// set type
void SetType(const char* type);
/// get type
const char *GetType() const;
/// set origin
void SetOrigin(const signed short *origin);
/// 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, unsigned int length);
///
bool GrabOverlayFromPixelData(DataSet const &ds);
const ByteValue &GetOverlayData() const;
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;
void IsInPixelData(bool b);
void Decode(std::istream &is, std::ostream &os);
void Decompress(std::ostream &os) const;
bool GetBuffer(char *buffer) const;
bool GetUnpackBuffer(unsigned char *buffer) const;
Overlay(Overlay const &ov);
private:
OverlayInternal *Internal;
};
} // end namespace gdcm
#endif //GDCMOVERLAY_H
|