DiOverlayPlane Class Reference

Class to handle a single overlay plane. More...

List of all members.

Public Member Functions

 DiOverlayPlane (const DiDocument *docu, const unsigned int group, Uint16 alloc, const Uint16 stored, const Uint16 high)
 constructor
 DiOverlayPlane (const unsigned int group, const Sint16 left_pos, const Sint16 top_pos, const Uint16 columns, const Uint16 rows, const DcmOverlayData &data, const DcmLongString &label, const DcmLongString &description, const EM_Overlay mode)
 constructor, additional
 DiOverlayPlane (DiOverlayPlane *plane, const unsigned int bit, Uint16 *data, Uint16 *temp, const Uint16 width, const Uint16 height, const Uint16 columns, const Uint16 rows)
 constructor, copy
 ~DiOverlayPlane ()
 destructor
Sint16 getLeft (const Sint32 left_pos=0) const
 get x-coordinate of overlay plane origin
Sint16 getTop (const Sint32 top_pos=0) const
 get y-coordinate of overlay plane origin
Uint16 getWidth () const
 get width of overlay plane
Uint16 getHeight () const
 get height of overlay plane
Uint16 getRight (const Sint32 left_pos=0) const
 get right border of overlay plane origin
Uint16 getBottom (const Sint32 top_pos=0) const
 get bottom border of overlay plane origin
int isValid () const
 check whether overlay plane is valid
int isVisible () const
 check whether overlay plane is visible
void show ()
 make overlay plane visible
void hide ()
 make overlay plane invisible
void place (const signed int left_pos, const signed int top_pos)
 move overlay plane to a new place
void setScaling (const double xfactor, const double yfactor)
 set scaling factor in x- and y-direction
void setFlipping (const int horz, const int vert, const signed long columns, const signed long rows)
 set flipping
void setRotation (const int degree, const signed long left_pos, const signed long top_pos, const Uint16 columns, const Uint16 rows)
 set rotation
void show (const double fore, const double thresh, const EM_Overlay mode)
 make overlay plane visible and set parameters
int show (const Uint16 pvalue)
 make overlay plane visible and set p-value.
unsigned long getNumberOfFrames () const
 get number of frames
double getForeground () const
 get foreground color of the plane
double getThreshold () const
 get threshold value of the plane
Uint16 getPValue () const
 get p-value of the plane.
EM_Overlay getMode () const
 get overlay plane mode
int isEmbedded () const
 check whether overlay plane is embedded in the pixel data
const char * getLabel () const
 get label of overlay plane
const char * getDescription () const
 get description of overlay plane
Uint16 getGroupNumber () const
 get group number of overlay plane
void * getData (const unsigned long frame, const Uint16 xmin, const Uint16 ymin, const Uint16 xmax, const Uint16 ymax, const int bits, const Uint16 fore, const Uint16 back)
 get overlay plane data as an array of 1/8/16 bit values.
unsigned long create6xxx3000Data (Uint8 *&buffer, unsigned int &width, unsigned int &height, unsigned long &frames)
 create overlay plane data in (6xxx,3000) format.
int reset (const unsigned long frame)
 reset internal 'cursor' to the beginning of the specified frame
int getNextBit ()
 get value of the current overlay plane bit and move 'cursor' to the next position
void setStart (const Uint16 x, const Uint16 y)
 set internal 'cursor' to a specific position

Protected Attributes

Uint32 NumberOfFrames
 number of frames
Uint16 ImageFrameOrigin
 number of starting frame
Sint16 Top
 y-coordinate of overlay plane's origin
Sint16 Left
 x-coordinate of overlay plane's origin
Uint16 Height
 visible height
Uint16 Width
 visible width
Uint16 Rows
 number of (stored) rows
Uint16 Columns
 number of (stored) columns
Uint16 BitsAllocated
 number of allocated bits per pixel
Uint16 BitPosition
 position of overlay plane bit
double Foreground
 "color" of overlay plane (in percent: '0.0' = dark, '1.0' = bright)
double Threshold
 threshold value used for "threshold replace"
Uint16 PValue
 P-value used for bitmap shutters.
EM_Overlay Mode
 current overlay mode
EM_Overlay DefaultMode
 default (stored) overlay mode
OFString Label
 label of overlay plane
OFString Description
 textual description of overlay plane
Uint16 GroupNumber
 group number of overlay plane
int Valid
 validity status
int Visible
 visibility status

Private Member Functions

 DiOverlayPlane (const DiOverlayPlane &)
DiOverlayPlaneoperator= (const DiOverlayPlane &)

Private Attributes

unsigned long BitPos
 current bit position
unsigned long StartBitPos
 starting bit position of current frame
unsigned int StartLeft
 x-coordinate of first pixel in surrounding memory buffer
unsigned int StartTop
 y-coordinate of first pixel in surrounding memory buffer
int EmbeddedData
 true, if overlay data in embedded in pixel data
const Uint16 * Ptr
 pointer to current element of 'Data'
const Uint16 * StartPtr
 pointer to starting element of current frame
const Uint16 * Data
 pointer to overlay data (standalone) or pixel data (embedded)


Detailed Description

Class to handle a single overlay plane.

Definition at line 59 of file diovpln.h.


Constructor & Destructor Documentation

DiOverlayPlane::DiOverlayPlane ( const DiDocument docu,
const unsigned int  group,
Uint16  alloc,
const Uint16  stored,
const Uint16  high 
)

constructor

Parameters:
docu pointer to dataset (encapsulated)
group group number of the overlay plane
alloc value for bits allocated of the surrounding image
stored value for bits stored of the surrounding image
high value for high bit of the surrounding image

DiOverlayPlane::DiOverlayPlane ( const unsigned int  group,
const Sint16  left_pos,
const Sint16  top_pos,
const Uint16  columns,
const Uint16  rows,
const DcmOverlayData data,
const DcmLongString label,
const DcmLongString description,
const EM_Overlay  mode 
)

constructor, additional

Parameters:
group group number of the overlay plane
left_pos x-coordinate of the plane origin
top_pos y-coordinate of the plane origin
columns width of the overlay plane
rows height of the overlay plane
data element containing the plane data
label element containing the plane label
description element containing the plane description
mode overlay plane mode

DiOverlayPlane::DiOverlayPlane ( DiOverlayPlane plane,
const unsigned int  bit,
Uint16 *  data,
Uint16 *  temp,
const Uint16  width,
const Uint16  height,
const Uint16  columns,
const Uint16  rows 
)

constructor, copy

Parameters:
plane reference overlay plane to be copied
bit position of the plane bit
data pointer to buffer for plane data
temp temporary buffer used to extract plane information
width width of the array where the plane is stored
height height of the array where the plane is stored
columns width of the overlay plane
rows height of the overlay plane


Member Function Documentation

Sint16 DiOverlayPlane::getLeft ( const Sint32  left_pos = 0  )  const [inline]

get x-coordinate of overlay plane origin

Parameters:
left_pos offset to be subtracted from the actual value (optional)
Returns:
x-coordinate of overlay plane origin

Definition at line 130 of file diovpln.h.

References Left.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

Sint16 DiOverlayPlane::getTop ( const Sint32  top_pos = 0  )  const [inline]

get y-coordinate of overlay plane origin

Parameters:
top_pos offset to be subtracted from the actual value (optional)
Returns:
y-coordinate of overlay plane origin

Definition at line 141 of file diovpln.h.

References Top.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

Uint16 DiOverlayPlane::getWidth (  )  const [inline]

get width of overlay plane

Returns:
width of overlay plane

Definition at line 150 of file diovpln.h.

References Width.

Uint16 DiOverlayPlane::getHeight (  )  const [inline]

get height of overlay plane

Returns:
height of overlay plane

Definition at line 159 of file diovpln.h.

References Height.

Uint16 DiOverlayPlane::getRight ( const Sint32  left_pos = 0  )  const [inline]

get right border of overlay plane origin

Parameters:
left_pos offset to be subtracted from the actual value (optional).
Returns:
right border of overlay plane origin. Negative values are set to 0.

Definition at line 170 of file diovpln.h.

References Left, and Width.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay(), and reset().

Uint16 DiOverlayPlane::getBottom ( const Sint32  top_pos = 0  )  const [inline]

get bottom border of overlay plane origin

Parameters:
top_pos offset to be subtracted from the actual value (optional).
Returns:
bottom border of overlay plane origin. Negative values are set to 0.

Definition at line 182 of file diovpln.h.

References Height, and Top.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay(), and reset().

int DiOverlayPlane::isValid (  )  const [inline]

check whether overlay plane is valid

Returns:
true if plane is valid, false otherwise

Definition at line 192 of file diovpln.h.

References Valid.

int DiOverlayPlane::isVisible (  )  const [inline]

check whether overlay plane is visible

Returns:
true if plane is visible, false otherwise

Definition at line 201 of file diovpln.h.

References Visible.

Referenced by DiOverlay::hasPlane(), and DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

void DiOverlayPlane::place ( const signed int  left_pos,
const signed int  top_pos 
)

move overlay plane to a new place

Parameters:
left_pos x-coordinate of the new plane origin (maybe negative)
top_pos y-coordinate of the new plane origin (maybe negative)

void DiOverlayPlane::setScaling ( const double  xfactor,
const double  yfactor 
)

set scaling factor in x- and y-direction

Parameters:
xfactor scaling factor in x-direction
yfactor scaling factor in y-direction

void DiOverlayPlane::setFlipping ( const int  horz,
const int  vert,
const signed long  columns,
const signed long  rows 
)

set flipping

Parameters:
horz flip horizontally if true
vert flip vertically if true
columns width of surrounding image (incl. origin offset)
rows height of surrounding image (incl. origin offset)

void DiOverlayPlane::setRotation ( const int  degree,
const signed long  left_pos,
const signed long  top_pos,
const Uint16  columns,
const Uint16  rows 
)

set rotation

Parameters:
degree angle by which the plane should be rotated
left_pos x-coordinate of the origin for all overlay planes
top_pos y-coordinate of the origin for all overlay planes
columns width of surrounding image (already rotated)
rows height of surrounding image (already rotated)

void DiOverlayPlane::show ( const double  fore,
const double  thresh,
const EM_Overlay  mode 
)

make overlay plane visible and set parameters

Parameters:
fore foreground color of the plane (in percent: 0.0-1.0)
thresh threshold value for 'threshold replace' (0.0-1.0)
mode new overlay plane mode (EMO_Default for stored mode)

int DiOverlayPlane::show ( const Uint16  pvalue  ) 

make overlay plane visible and set p-value.

Only applicable for bitmap shutters.

Parameters:
pvalue p-value to be used for the overlay plane (0..65535)
Returns:
status, true if successful, false otherwise

unsigned long DiOverlayPlane::getNumberOfFrames (  )  const [inline]

get number of frames

Returns:
number of frames

Definition at line 285 of file diovpln.h.

References NumberOfFrames.

double DiOverlayPlane::getForeground (  )  const [inline]

get foreground color of the plane

Returns:
foreground color (in percent: 0.0-1.0)

Definition at line 294 of file diovpln.h.

References Foreground.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

double DiOverlayPlane::getThreshold (  )  const [inline]

get threshold value of the plane

Returns:
threshold value (in percent: 0.0-1.0)

Definition at line 303 of file diovpln.h.

References Threshold.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

Uint16 DiOverlayPlane::getPValue (  )  const [inline]

get p-value of the plane.

Only valid for bitmap shutters.

Returns:
p-value (0..65535)

Definition at line 313 of file diovpln.h.

References PValue.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

EM_Overlay DiOverlayPlane::getMode (  )  const [inline]

get overlay plane mode

Returns:
overlay plane mode

Definition at line 322 of file diovpln.h.

References Mode.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

int DiOverlayPlane::isEmbedded (  )  const [inline]

check whether overlay plane is embedded in the pixel data

Returns:
true if plane is embedded, false otherwise

Definition at line 331 of file diovpln.h.

References EmbeddedData.

const char* DiOverlayPlane::getLabel (  )  const [inline]

get label of overlay plane

Returns:
label if successful, NULL otherwise

Definition at line 340 of file diovpln.h.

References OFString::c_str(), OFString::empty(), and Label.

const char* DiOverlayPlane::getDescription (  )  const [inline]

get description of overlay plane

Returns:
description if successful, NULL otherwise

Definition at line 349 of file diovpln.h.

References OFString::c_str(), Description, and OFString::empty().

Uint16 DiOverlayPlane::getGroupNumber (  )  const [inline]

get group number of overlay plane

Returns:
group number (0x6000-0x60ff)

Definition at line 358 of file diovpln.h.

References GroupNumber.

void* DiOverlayPlane::getData ( const unsigned long  frame,
const Uint16  xmin,
const Uint16  ymin,
const Uint16  xmax,
const Uint16  ymax,
const int  bits,
const Uint16  fore,
const Uint16  back 
)

get overlay plane data as an array of 1/8/16 bit values.

Overlay plane is clipped to the area specified by the four min/max coordinates. Memory isn't handled internally and must therefore be deleted from calling program.

Parameters:
frame number of frame
xmin x-coordinate of the top left hand corner
ymin y-coordinate of the top left hand corner
xmax x-coordinate of the bottom right hand corner
ymax y-coordinate of the bottom right hand corner
bits number of bits (stored) in the resulting array
fore foreground color used for the plane (0x00-0xff)
back transparent background color (0x00-0xff)
Returns:
pointer to pixel data if successful, NULL otherwise

unsigned long DiOverlayPlane::create6xxx3000Data ( Uint8 *&  buffer,
unsigned int &  width,
unsigned int &  height,
unsigned long &  frames 
)

create overlay plane data in (6xxx,3000) format.

(1 bit allocated and stored, foreground color is 1, background color is 0, data is 16 bit padded - even length) Memory isn't handled internally and must therefore be deleted from calling program.

Parameters:
buffer stores pointer to overlay data (memory is allocated internally)
width returns width of overlay plane (in pixels)
height returns height of overlay plane (in pixels)
frames returns number of frames (multiple overlay frames possible!)
Returns:
number of bytes allocated for the 'buffer' if successful, 0 otherwise

int DiOverlayPlane::reset ( const unsigned long  frame  )  [inline]

reset internal 'cursor' to the beginning of the specified frame

Parameters:
frame number of current frame
Returns:
status, true if successful, false otherwise

Definition at line 509 of file diovpln.h.

References BitPos, BitPosition, BitsAllocated, Columns, Data, getBottom(), getRight(), ImageFrameOrigin, NumberOfFrames, Ptr, Rows, StartBitPos, StartLeft, StartPtr, StartTop, and Valid.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

int DiOverlayPlane::getNextBit (  )  [inline]

get value of the current overlay plane bit and move 'cursor' to the next position

Returns:
true if plane bit is set, false otherwise

Definition at line 529 of file diovpln.h.

References BitPos, BitPosition, BitsAllocated, Ptr, and StartPtr.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().

void DiOverlayPlane::setStart ( const Uint16  x,
const Uint16  y 
) [inline]

set internal 'cursor' to a specific position

Parameters:
x new x-coordinate to start from
y new y-coordinate to start from

Definition at line 544 of file diovpln.h.

References BitPos, BitsAllocated, Columns, Left, Ptr, StartBitPos, StartPtr, and Top.

Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay().


The documentation for this class was generated from the following file:


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1