DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DiMonoOutputPixelTemplate< T1, T2, T3 > Class Template Reference

Template class to create monochrome output data. More...

+ Inheritance diagram for DiMonoOutputPixelTemplate< T1, T2, T3 >:

List of all members.

Public Member Functions

 DiMonoOutputPixelTemplate (void *buffer, const DiMonoPixel *pixel, DiOverlay *overlays[2], const DiLookupTable *vlut, const DiLookupTable *plut, DiDisplayFunction *disp, const EF_VoiLutFunction vfunc, const double center, const double width, const Uint32 low, const Uint32 high, const Uint16 columns, const Uint16 rows, const unsigned long frame, const unsigned long, const int pastel=0)
 constructor
virtual ~DiMonoOutputPixelTemplate ()
 destructor
EP_Representation getRepresentation () const
 get integer representation of output data
size_t getItemSize () const
 get size of one pixel / item in the pixel array
const void * getData () const
 get pointer to output pixel data
virtual void * getDataPtr ()
 get pointer to output pixel data
void removeDataReference ()
 remove reference to (internally handled) pixel data (abstract)
int writePPM (STD_NAMESPACE ostream &stream) const
 write pixel data of selected frame to PPM/ASCII file
int writePPM (FILE *stream) const
 write pixel data of selected frame to PPM/ASCII file

Protected Member Functions

void determineUsedValues ()
 examine which pixel values are actually used

Private Member Functions

void createDisplayLUT (const DiDisplayLUT *&dlut, DiDisplayFunction *disp, const int bits)
 create a display LUT with the specified number of input bits
int initOptimizationLUT (T3 *&lut, const unsigned long ocnt)
 initialize an optimization LUT if the optimization criteria is fulfilled
void voilut (const DiMonoPixel *inter, const Uint32 start, const DiLookupTable *vlut, const DiLookupTable *plut, DiDisplayFunction *disp, const T3 low, const T3 high)
 apply the currently active VOI LUT to the output data
void nowindow (const DiMonoPixel *inter, const Uint32 start, const DiLookupTable *plut, DiDisplayFunction *disp, const T3 low, const T3 high)
 perform linear scaling to the output data (no windowing)
void sigmoid (const DiMonoPixel *inter, const Uint32 start, const DiLookupTable *plut, DiDisplayFunction *disp, const double center, const double width, const T3 low, const T3 high)
 apply the currently active sigmoid VOI window to the output data
void window (const DiMonoPixel *inter, const Uint32 start, const DiLookupTable *plut, DiDisplayFunction *disp, const double center, const double width, const T3 low, const T3 high)
 apply the currently active linear VOI window to the output data
void overlay (DiOverlay *overlays[2], DiDisplayFunction *disp, const Uint16 columns, const Uint16 rows, const unsigned long frame)
 apply the currently active overlay planes to the output data
 DiMonoOutputPixelTemplate (const DiMonoOutputPixelTemplate< T1, T2, T3 > &)
DiMonoOutputPixelTemplate< T1,
T2, T3 > & 
operator= (const DiMonoOutputPixelTemplate< T1, T2, T3 > &)

Private Attributes

T3 * Data
 pointer to the storage area where the output data should be stored
int DeleteData
 flag indicating whether the output data buffer should be deleted in the destructor
DiMonoOutputPixelColorData

Detailed Description

template<class T1, class T2, class T3>
class DiMonoOutputPixelTemplate< T1, T2, T3 >

Template class to create monochrome output data.


Constructor & Destructor Documentation

template<class T1 , class T2 , class T3 >
DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate ( void *  buffer,
const DiMonoPixel pixel,
DiOverlay overlays[2],
const DiLookupTable vlut,
const DiLookupTable plut,
DiDisplayFunction disp,
const EF_VoiLutFunction  vfunc,
const double  center,
const double  width,
const Uint32  low,
const Uint32  high,
const Uint16  columns,
const Uint16  rows,
const unsigned long  frame,
const unsigned  long,
const int  pastel = 0 
) [inline]

constructor

Parameters:
bufferstorage area for the output pixel data (optional, maybe NULL)
pixelpointer to intermediate pixel representation
overlaysarray of overlay management objects
vlutVOI LUT (optional, maybe NULL)
plutpresentation LUT (optional, maybe NULL)
dispdisplay function (optional, maybe NULL)
vfuncVOI LUT function (optional)
centerwindow center (optional, invalid if 'width' < 1)
widthwindow width (optional, invalid if < 1)
lowlowest pixel value for the output data (e.g. 0)
highhighest pixel value for the output data (e.g. 255)
columnsimage's width (in pixels)
rowsimage's height
frameframe to be rendered (#)param frames total number of frames present in intermediate representation
pastelflag indicating whether to use not only 'real' grayscale values (optional, experimental)

Member Function Documentation

template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::createDisplayLUT ( const DiDisplayLUT *&  dlut,
DiDisplayFunction disp,
const int  bits 
) [inline, private]

create a display LUT with the specified number of input bits

Parameters:
dlutreference to storage area where the display LUT should be stored
disppointer to object describing the current display function
bitsnumber of bits defining the input width of the display LUT
template<class T1 , class T2 , class T3 >
const void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getData ( ) const [inline, virtual]

get pointer to output pixel data

Returns:
pointer to pixel data

Implements DiMonoOutputPixel.

template<class T1 , class T2 , class T3 >
virtual void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getDataPtr ( ) [inline, virtual]

get pointer to output pixel data

Returns:
pointer to pixel data

Implements DiMonoOutputPixel.

template<class T1 , class T2 , class T3 >
size_t DiMonoOutputPixelTemplate< T1, T2, T3 >::getItemSize ( ) const [inline, virtual]

get size of one pixel / item in the pixel array

Returns:
item size

Implements DiMonoOutputPixel.

template<class T1 , class T2 , class T3 >
EP_Representation DiMonoOutputPixelTemplate< T1, T2, T3 >::getRepresentation ( ) const [inline, virtual]

get integer representation of output data

Returns:
integer representation

Implements DiMonoOutputPixel.

template<class T1 , class T2 , class T3 >
int DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT ( T3 *&  lut,
const unsigned long  ocnt 
) [inline, private]

initialize an optimization LUT if the optimization criteria is fulfilled

Parameters:
lutreference to storage area where the optimization LUT should be stored
ocntnumber of entries for the optimization LUT
template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::nowindow ( const DiMonoPixel inter,
const Uint32  start,
const DiLookupTable plut,
DiDisplayFunction disp,
const T3  low,
const T3  high 
) [inline, private]

perform linear scaling to the output data (no windowing)

Parameters:
interpointer to intermediate pixel representation
startoffset of the first pixel to be processed
plutpresentation LUT (optional, maybe NULL)
dispdisplay function (optional, maybe NULL)
lowlowest pixel value for the output data (e.g. 0)
highhighest pixel value for the output data (e.g. 255)
template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay ( DiOverlay overlays[2],
DiDisplayFunction disp,
const Uint16  columns,
const Uint16  rows,
const unsigned long  frame 
) [inline, private]

apply the currently active overlay planes to the output data

Parameters:
overlaysarray of overlay management objects
dispdisplay function (optional, maybe NULL)
columnsimage's width (in pixels)
rowsimage's height (in pixels)
framenumber of frame to be rendered
template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::sigmoid ( const DiMonoPixel inter,
const Uint32  start,
const DiLookupTable plut,
DiDisplayFunction disp,
const double  center,
const double  width,
const T3  low,
const T3  high 
) [inline, private]

apply the currently active sigmoid VOI window to the output data

Parameters:
interpointer to intermediate pixel representation
startoffset of the first pixel to be processed
plutpresentation LUT (optional, maybe NULL)
dispdisplay function (optional, maybe NULL)
centerwindow center
widthwindow width (>= 1)
lowlowest pixel value for the output data (e.g. 0)
highhighest pixel value for the output data (e.g. 255)
template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::voilut ( const DiMonoPixel inter,
const Uint32  start,
const DiLookupTable vlut,
const DiLookupTable plut,
DiDisplayFunction disp,
const T3  low,
const T3  high 
) [inline, private]

apply the currently active VOI LUT to the output data

Parameters:
interpointer to intermediate pixel representation
startoffset of the first pixel to be processed
vlutVOI LUT
plutpresentation LUT (optional, maybe NULL)
dispdisplay function (optional, maybe NULL)
lowlowest pixel value for the output data (e.g. 0)
highhighest pixel value for the output data (e.g. 255)
template<class T1 , class T2 , class T3 >
void DiMonoOutputPixelTemplate< T1, T2, T3 >::window ( const DiMonoPixel inter,
const Uint32  start,
const DiLookupTable plut,
DiDisplayFunction disp,
const double  center,
const double  width,
const T3  low,
const T3  high 
) [inline, private]

apply the currently active linear VOI window to the output data

Parameters:
interpointer to intermediate pixel representation
startoffset of the first pixel to be processed
plutpresentation LUT (optional, maybe NULL)
dispdisplay function (optional, maybe NULL)
centerwindow center
widthwindow width (>= 1)
lowlowest pixel value for the output data (e.g. 0)
highhighest pixel value for the output data (e.g. 255)
template<class T1 , class T2 , class T3 >
int DiMonoOutputPixelTemplate< T1, T2, T3 >::writePPM ( STD_NAMESPACE ostream &  stream) const [inline, virtual]

write pixel data of selected frame to PPM/ASCII file

Parameters:
streamopen C++ output stream
Returns:
status, true if successful, false otherwise

Implements DiMonoOutputPixel.

template<class T1 , class T2 , class T3 >
int DiMonoOutputPixelTemplate< T1, T2, T3 >::writePPM ( FILE *  stream) const [inline, virtual]

write pixel data of selected frame to PPM/ASCII file

Parameters:
streamopen C file stream
Returns:
status, true if successful, false otherwise

Implements DiMonoOutputPixel.


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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027