|
| | 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
|
| |
| | DiMonoOutputPixel (const DiMonoPixel *pixel, const unsigned long size, const unsigned long frame, const unsigned long max) |
| | constructor
|
| |
|
virtual | ~DiMonoOutputPixel () |
| | destructor
|
| |
| unsigned long | getCount () const |
| | get number of pixel per frame
|
| |
| int | isUnused (const unsigned long value) |
| | check whether specified pixel value is used in the image.
|
| |
|
| DiPixelRepresentationTemplate () |
| | default constructor
|
| |
|
virtual | ~DiPixelRepresentationTemplate () |
| | destructor
|
| |
| int | isSigned () const |
| | check whether template type T is signed or not
|
| |
|
| 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
|
| |
template<class T1, class T2, class T3>
class DiMonoOutputPixelTemplate< T1, T2, T3 >
Template class to create monochrome output data.
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
-
| 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) |
References DiMonoOutputPixel::DiMonoOutputPixel(), DiMonoOutputPixel::Count, Data, DeleteData, EFV_Sigmoid, DiMonoOutputPixel::FrameSize, DiBaseLUT::isValid(), nowindow(), overlay(), sigmoid(), voilut(), and window().
template<class T1, class T2, class T3>
initialize an optimization LUT if the optimization criteria is fulfilled
- Parameters
-
| lut | reference to storage area where the optimization LUT should be stored |
| ocnt | number of entries for the optimization LUT (0 = never create one) |
- Returns
- status, true if successful, false otherwise
References DiMonoOutputPixel::Count.
Referenced by nowindow(), sigmoid(), voilut(), and window().
template<class T1, class T2, class T3>
perform linear scaling to the output data (no windowing)
- Parameters
-
| 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) |
References DiMonoOutputPixel::Count, createDisplayLUT(), Data, determineOptimizationCount(), DiMonoOutputPixel::FrameSize, DiMonoPixel::getAbsMaximum(), DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiMonoPixel::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), initOptimizationLUT(), DiBaseLUT::isValid(), and OFBitmanipTemplate< T >::zeroMem().
Referenced by DiMonoOutputPixelTemplate().
template<class T1, class T2, class T3>
apply the currently active overlay planes to the output data
- Parameters
-
| 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 |
References Data, EMO_BitmapShutter, EMO_Complement, EMO_InvertBitmap, EMO_RegionOfInterest, EMO_Replace, EMO_ThresholdReplace, DiOverlayPlane::getBottom(), DiMonoOutputPixel::getCount(), DiOverlay::getCount(), DiOverlayPlane::getForeground(), DiOverlay::getLeft(), DiOverlayPlane::getLeft(), DiDisplayFunction::getLookupTable(), DiOverlayPlane::getMode(), DiOverlayPlane::getNextBit(), DiOverlayPlane::getPValue(), DiOverlayPlane::getRight(), DiOverlayPlane::getThreshold(), DiOverlay::getTop(), DiOverlayPlane::getTop(), DiBaseLUT::getValue(), DiOverlayPlane::isEmbedded(), DiBaseLUT::isValid(), DiDisplayFunction::isValid(), DiOverlayPlane::isVisible(), DicomImageClass::maxval(), DiOverlayPlane::reset(), and DiOverlayPlane::setStart().
Referenced by DiMonoOutputPixelTemplate().
template<class T1, class T2, class T3>
apply the currently active sigmoid VOI window to the output data
- Parameters
-
| 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) |
References DiMonoOutputPixel::Count, createDisplayLUT(), Data, determineOptimizationCount(), DiMonoOutputPixel::FrameSize, DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), initOptimizationLUT(), DiBaseLUT::isValid(), and OFBitmanipTemplate< T >::zeroMem().
Referenced by DiMonoOutputPixelTemplate().
template<class T1, class T2, class T3>
apply the currently active VOI LUT to the output data
- Parameters
-
| 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) |
References DiMonoOutputPixel::Count, createDisplayLUT(), Data, determineOptimizationCount(), DiMonoOutputPixel::FrameSize, DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getFirstEntry(), DiBaseLUT::getFirstValue(), DiBaseLUT::getLastEntry(), DiBaseLUT::getLastValue(), DiBaseLUT::getMaxValue(), DiBaseLUT::getMinValue(), DiBaseLUT::getValue(), initOptimizationLUT(), DiBaseLUT::isValid(), OFBitmanipTemplate< T >::setMem(), and OFBitmanipTemplate< T >::zeroMem().
Referenced by DiMonoOutputPixelTemplate().
template<class T1, class T2, class T3>
apply the currently active linear VOI window to the output data
- Parameters
-
| 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) |
References DiMonoOutputPixel::Count, createDisplayLUT(), Data, determineOptimizationCount(), DiMonoOutputPixel::FrameSize, DiBaseLUT::getAbsMaxRange(), DiMonoPixel::getAbsMaxRange(), DiMonoPixel::getAbsMinimum(), DiBaseLUT::getBits(), DiBaseLUT::getCount(), DiPixel::getData(), DiBaseLUT::getValue(), initOptimizationLUT(), DiBaseLUT::isValid(), and OFBitmanipTemplate< T >::zeroMem().
Referenced by DiMonoOutputPixelTemplate().