Inheritance diagram for DiMonoOutputPixelTemplate< T1, T2, T3 >:
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 |
Definition at line 61 of file dimoopxt.h.
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) |
Definition at line 87 of file dimoopxt.h.
References DiMonoOutputPixel::Count, DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, DiBaseLUT::isValid(), DiMonoOutputPixelTemplate< T1, T2, T3 >::nowindow(), DiMonoOutputPixelTemplate< T1, T2, T3 >::overlay(), DiMonoOutputPixelTemplate< T1, T2, T3 >::sigmoid(), DiMonoOutputPixelTemplate< T1, T2, T3 >::voilut(), and DiMonoOutputPixelTemplate< T1, T2, T3 >::window().
EP_Representation DiMonoOutputPixelTemplate< T1, T2, T3 >::getRepresentation | ( | ) | const [inline, virtual] |
get integer representation of output data
Implements DiMonoOutputPixel.
Definition at line 156 of file dimoopxt.h.
References DiPixelRepresentationTemplate< T >::getRepresentation().
size_t DiMonoOutputPixelTemplate< T1, T2, T3 >::getItemSize | ( | ) | const [inline, virtual] |
get size of one pixel / item in the pixel array
Implements DiMonoOutputPixel.
Definition at line 165 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::ColorData, and DiMonoOutputPixel::getItemSize().
const void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getData | ( | ) | const [inline, virtual] |
get pointer to output pixel data
Implements DiMonoOutputPixel.
Definition at line 174 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::ColorData, DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, and DiMonoOutputPixel::getData().
virtual void* DiMonoOutputPixelTemplate< T1, T2, T3 >::getDataPtr | ( | ) | [inline, virtual] |
get pointer to output pixel data
Implements DiMonoOutputPixel.
Definition at line 183 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::ColorData, DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, and DiMonoOutputPixel::getDataPtr().
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.
Definition at line 202 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::ColorData, DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, and DiMonoOutputPixel::writePPM().
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.
Definition at line 222 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::ColorData, DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, and DiMonoOutputPixel::writePPM().
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 |
Definition at line 267 of file dimoopxt.h.
References DiDisplayFunction::getLookupTable(), DiBaseLUT::isValid(), and DiDisplayFunction::isValid().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::nowindow(), DiMonoOutputPixelTemplate< T1, T2, T3 >::sigmoid(), DiMonoOutputPixelTemplate< T1, T2, T3 >::voilut(), and DiMonoOutputPixelTemplate< T1, T2, T3 >::window().
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 |
Definition at line 289 of file dimoopxt.h.
References DiMonoOutputPixel::Count.
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::nowindow(), DiMonoOutputPixelTemplate< T1, T2, T3 >::sigmoid(), DiMonoOutputPixelTemplate< T1, T2, T3 >::voilut(), and DiMonoOutputPixelTemplate< T1, T2, T3 >::window().
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) |
Definition at line 327 of file dimoopxt.h.
References DiMonoOutputPixel::Count, DiMonoOutputPixelTemplate< T1, T2, T3 >::createDisplayLUT(), DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, DiMonoPixel::getAbsMaxRange(), DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getFirstEntry(), DiBaseLUT::getFirstValue(), DiBaseLUT::getLastEntry(), DiBaseLUT::getLastValue(), DiBaseLUT::getMaxValue(), DiBaseLUT::getMinValue(), DiBaseLUT::getValue(), DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT(), DiBaseLUT::isValid(), OFBitmanipTemplate< T >::setMem(), and OFBitmanipTemplate< T >::zeroMem().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate().
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) |
Definition at line 613 of file dimoopxt.h.
References DiMonoOutputPixel::Count, DiMonoOutputPixelTemplate< T1, T2, T3 >::createDisplayLUT(), DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, DiMonoPixel::getAbsMaximum(), DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiMonoPixel::getBits(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT(), and DiBaseLUT::isValid().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate().
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) |
Definition at line 773 of file dimoopxt.h.
References DiMonoOutputPixel::Count, DiMonoOutputPixelTemplate< T1, T2, T3 >::createDisplayLUT(), DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT(), and DiBaseLUT::isValid().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate().
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) |
Definition at line 932 of file dimoopxt.h.
References DiMonoOutputPixel::Count, DiMonoOutputPixelTemplate< T1, T2, T3 >::createDisplayLUT(), DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiMonoOutputPixel::FrameSize, DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), DiMonoOutputPixelTemplate< T1, T2, T3 >::initOptimizationLUT(), and DiBaseLUT::isValid().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate().
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 |
Definition at line 1135 of file dimoopxt.h.
References DiMonoOutputPixelTemplate< T1, T2, T3 >::Data, DiOverlayPlane::getBottom(), DiOverlay::getCount(), DiMonoOutputPixel::getCount(), DiOverlayPlane::getForeground(), DiOverlayPlane::getLeft(), DiOverlay::getLeft(), DiDisplayFunction::getLookupTable(), DiOverlayPlane::getMode(), DiOverlayPlane::getNextBit(), DiOverlayPlane::getPValue(), DiOverlayPlane::getRight(), DiOverlayPlane::getThreshold(), DiOverlayPlane::getTop(), DiOverlay::getTop(), DiBaseLUT::getValue(), DiBaseLUT::isValid(), DiDisplayFunction::isValid(), DiOverlayPlane::isVisible(), DicomImageClass::maxval(), DiOverlayPlane::reset(), and DiOverlayPlane::setStart().
Referenced by DiMonoOutputPixelTemplate< T1, T2, T3 >::DiMonoOutputPixelTemplate().