Inheritance diagram for DiScaleTemplate< T >:
Public Member Functions | |
DiScaleTemplate (const int planes, const Uint16 columns, const Uint16 rows, const signed long left_pos, const signed long top_pos, const Uint16 src_cols, const Uint16 src_rows, const Uint16 dest_cols, const Uint16 dest_rows, const Uint32 frames, const int bits=0) | |
constructor, scale clipping area. | |
DiScaleTemplate (const int planes, const Uint16 src_cols, const Uint16 src_rows, const Uint16 dest_cols, const Uint16 dest_rows, const Uint32 frames, const int bits=0) | |
constructor, scale whole image. | |
virtual | ~DiScaleTemplate () |
destructor | |
void | scaleData (const T *src[], T *dest[], const int interpolate, const T value=0) |
choose scaling/clipping algorithm depending on specified parameters. | |
Protected Attributes | |
const signed long | Left |
left coordinate of clipping area | |
const signed long | Top |
top coordinate of clipping area | |
const Uint16 | Columns |
width of source image | |
const Uint16 | Rows |
height of source image | |
Private Member Functions | |
void | clipPixel (const T *src[], T *dest[]) |
clip image to specified area (only inside image boundaries). | |
void | clipBorderPixel (const T *src[], T *dest[], const T value) |
clip image to specified area and add a border if necessary. | |
void | replicatePixel (const T *src[], T *dest[]) |
enlarge image by an integer factor. | |
void | suppressPixel (const T *src[], T *dest[]) |
shrink image by an integer divisor Pixels are suppressed independently in both directions. | |
void | scalePixel (const T *src[], T *dest[]) |
free scaling method without interpolation. | |
void | interpolatePixel (const T *src[], T *dest[]) |
free scaling method with interpolation. | |
void | expandPixel (const T *src[], T *dest[]) |
free scaling method with interpolation (only for expansion). | |
void | reducePixel (const T *src[], T *dest[]) |
free scaling method with interpolation (only for reduction). |
with and without interpolation
Definition at line 100 of file discalet.h.
|
constructor, scale clipping area.
Definition at line 120 of file discalet.h. |
|
constructor, scale whole image.
Definition at line 149 of file discalet.h. |
|
clip image to specified area and add a border if necessary. NOT fully tested - UNTESTED for multi-frame and multi-plane images !!
Definition at line 284 of file discalet.h. References DiScaleTemplate< T >::Columns, DiScaleTemplate< T >::Left, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, DiTransTemplate< T >::Src_X, DiTransTemplate< T >::Src_Y, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
clip image to specified area (only inside image boundaries). This is an optimization of the more general method clipBorderPixel().
Definition at line 251 of file discalet.h. References DiScaleTemplate< T >::Columns, DiScaleTemplate< T >::Left, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, DiTransTemplate< T >::Src_X, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
free scaling method with interpolation (only for expansion).
Definition at line 692 of file discalet.h. References DicomImageClass::checkDebugLevel(), DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Dest_Y, DicomImageClass::DL_Informationals, DiTransTemplate< T >::Frames, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
free scaling method with interpolation.
Definition at line 518 of file discalet.h. References DicomImageClass::checkDebugLevel(), DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Dest_Y, DicomImageClass::DL_Errors, DiTransTemplate< T >::Frames, DiPixelRepresentationTemplate< T >::isSigned(), DicomImageClass::maxval(), DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, and OFBitmanipTemplate< T >::zeroMem(). Referenced by DiScaleTemplate< T >::scaleData(). |
|
free scaling method with interpolation (only for reduction).
Definition at line 795 of file discalet.h. References DicomImageClass::checkDebugLevel(), DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Dest_Y, DicomImageClass::DL_Informationals, DicomImageClass::DL_Warnings, DiTransTemplate< T >::Frames, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
enlarge image by an integer factor. Pixels are replicated independently in both directions.
Definition at line 359 of file discalet.h. References DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Dest_Y, DiScaleTemplate< T >::Left, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, DiTransTemplate< T >::Src_Y, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
|
free scaling method without interpolation. This algorithm is necessary for overlays (1 bpp).
Definition at line 440 of file discalet.h. References DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Dest_Y, DiTransTemplate< T >::Frames, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, OFBitmanipTemplate< T >::setMem(), DiTransTemplate< T >::Src_Y, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |
|
shrink image by an integer divisor Pixels are suppressed independently in both directions.
Definition at line 404 of file discalet.h. References DiScaleTemplate< T >::Columns, DiTransTemplate< T >::Dest_X, DiTransTemplate< T >::Planes, DiScaleTemplate< T >::Rows, and DiScaleTemplate< T >::Top. Referenced by DiScaleTemplate< T >::scaleData(). |