DCMTK
Version 3.6.1 20120515
OFFIS DICOM Toolkit
|
Template class to create monochrome output data. More...
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 | |
DiMonoOutputPixel * | ColorData |
Template class to create monochrome output data.
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
buffer | storage area for the output pixel data (optional, maybe NULL) |
pixel | pointer to intermediate pixel representation |
overlays | array of overlay management objects |
vlut | VOI LUT (optional, maybe NULL) |
plut | presentation LUT (optional, maybe NULL) |
disp | display function (optional, maybe NULL) |
vfunc | VOI LUT function (optional) |
center | window center (optional, invalid if 'width' < 1) |
width | window width (optional, invalid if < 1) |
low | lowest pixel value for the output data (e.g. 0) |
high | highest pixel value for the output data (e.g. 255) |
columns | image's width (in pixels) |
rows | image's height |
frame | frame to be rendered (#)param frames total number of frames present in intermediate representation |
pastel | flag indicating whether to use not only 'real' grayscale values (optional, experimental) |
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
dlut | reference to storage area where the display LUT should be stored |
disp | pointer to object describing the current display function |
bits | number of bits defining the input width of the display LUT |
const void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getData | ( | ) | const [inline, virtual] |
virtual void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getDataPtr | ( | ) | [inline, virtual] |
size_t DiMonoOutputPixelTemplate< T1, T2, T3 >::getItemSize | ( | ) | const [inline, virtual] |
EP_Representation DiMonoOutputPixelTemplate< T1, T2, T3 >::getRepresentation | ( | ) | const [inline, virtual] |
get integer representation of output data
Implements DiMonoOutputPixel.
int DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT | ( | T3 *& | lut, |
const unsigned long | ocnt | ||
) | [inline, private] |
initialize an optimization LUT if the optimization criteria is fulfilled
lut | reference to storage area where the optimization LUT should be stored |
ocnt | number of entries for the optimization LUT |
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)
inter | pointer to intermediate pixel representation |
start | offset of the first pixel to be processed |
plut | presentation LUT (optional, maybe NULL) |
disp | display function (optional, maybe NULL) |
low | lowest pixel value for the output data (e.g. 0) |
high | highest pixel value for the output data (e.g. 255) |
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
overlays | array of overlay management objects |
disp | display function (optional, maybe NULL) |
columns | image's width (in pixels) |
rows | image's height (in pixels) |
frame | number of frame to be rendered |
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
inter | pointer to intermediate pixel representation |
start | offset of the first pixel to be processed |
plut | presentation LUT (optional, maybe NULL) |
disp | display function (optional, maybe NULL) |
center | window center |
width | window width (>= 1) |
low | lowest pixel value for the output data (e.g. 0) |
high | highest pixel value for the output data (e.g. 255) |
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
inter | pointer to intermediate pixel representation |
start | offset of the first pixel to be processed |
vlut | VOI LUT |
plut | presentation LUT (optional, maybe NULL) |
disp | display function (optional, maybe NULL) |
low | lowest pixel value for the output data (e.g. 0) |
high | highest pixel value for the output data (e.g. 255) |
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
inter | pointer to intermediate pixel representation |
start | offset of the first pixel to be processed |
plut | presentation LUT (optional, maybe NULL) |
disp | display function (optional, maybe NULL) |
center | window center |
width | window width (>= 1) |
low | lowest pixel value for the output data (e.g. 0) |
high | highest pixel value for the output data (e.g. 255) |
int DiMonoOutputPixelTemplate< T1, T2, T3 >::writePPM | ( | STD_NAMESPACE ostream & | stream | ) | const [inline, virtual] |
write pixel data of selected frame to PPM/ASCII file
stream | open C++ output stream |
Implements DiMonoOutputPixel.
int DiMonoOutputPixelTemplate< T1, T2, T3 >::writePPM | ( | FILE * | stream | ) | const [inline, virtual] |
write pixel data of selected frame to PPM/ASCII file
stream | open C file stream |
Implements DiMonoOutputPixel.