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