Public Member Functions | |
DcmQuantFloydSteinberg () | |
constructor | |
~DcmQuantFloydSteinberg () | |
destructor | |
OFCondition | initialize (unsigned long cols) |
initializes the Floyd-Steinberg error vectors for an image with the given number of columns. | |
void | adjust (DcmQuantPixel &px, long col, long maxval) |
uses the Floyd-Steinberg error vectors to adjust the color of the current image pixel. | |
void | propagate (const DcmQuantPixel &px, const DcmQuantPixel &mapped, long col) |
propagates the Floyd-Steinberg error terms for one pixel. | |
void | startRow (long &col, long &limitcol) |
starts error diffusion for a new row. | |
void | finishRow () |
finishes error diffusion for one image row. | |
void | nextCol (long &col) const |
increases or decreases the column number depending on the direction flag. | |
Private Member Functions | |
void | cleanup () |
frees all memory allocated by the error vectors | |
DcmQuantFloydSteinberg (const DcmQuantFloydSteinberg &src) | |
private undefined copy constructor | |
DcmQuantFloydSteinberg & | operator= (const DcmQuantFloydSteinberg &src) |
private undefined copy assignment operator | |
Private Attributes | |
long * | thisrerr |
current red error vector. Points to an array of (columns + 2) entries. | |
long * | nextrerr |
red error vector for next row. Points to an array of (columns + 2) entries. | |
long * | thisgerr |
current green error vector. Points to an array of (columns + 2) entries. | |
long * | nextgerr |
green error vector for next row. Points to an array of (columns + 2) entries. | |
long * | thisberr |
current blue error vector. Points to an array of (columns + 2) entries. | |
long * | nextberr |
blue error vector for next row. Points to an array of (columns + 2) entries. | |
long * | temperr |
temporary pointer used for swapping error vectors | |
int | fs_direction |
boolean flag indicating in which direction (left to right/right to left) the FS distribution should be done. | |
unsigned long | columns |
number of columns in image |
It is used during the color quantization of an image.
Definition at line 52 of file diqtfs.h.
|
uses the Floyd-Steinberg error vectors to adjust the color of the current image pixel.
Definition at line 75 of file diqtfs.h. References DcmQuantPixel::assign(), DcmQuantPixel::getBlue(), DcmQuantPixel::getGreen(), DcmQuantPixel::getRed(), thisberr, thisgerr, and thisrerr. |
|
finishes error diffusion for one image row. The direction flag is inverted and the error vectors for the "current" and "next" image row are swapped. Definition at line 165 of file diqtfs.h. References fs_direction, nextberr, nextgerr, nextrerr, temperr, thisberr, thisgerr, and thisrerr. |
|
initializes the Floyd-Steinberg error vectors for an image with the given number of columns.
|
|
increases or decreases the column number depending on the direction flag.
Definition at line 183 of file diqtfs.h. References fs_direction. |
|
propagates the Floyd-Steinberg error terms for one pixel.
Definition at line 94 of file diqtfs.h. References fs_direction, DcmQuantPixel::getBlue(), DcmQuantPixel::getGreen(), DcmQuantPixel::getRed(), nextberr, nextgerr, nextrerr, thisberr, thisgerr, and thisrerr. |
|
starts error diffusion for a new row. The error vectors for the next image row are initialized to zero. The initial and last column of the current row are determined
Definition at line 144 of file diqtfs.h. References columns, fs_direction, nextberr, nextgerr, and nextrerr. |
|
boolean flag indicating in which direction (left to right/right to left) the FS distribution should be done. Flag is inverted after each row. Definition at line 223 of file diqtfs.h. Referenced by finishRow(), nextCol(), propagate(), and startRow(). |