|
| 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().