|  | 
|  | 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. 
 | 
|  | 
|  | 
| 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 
 | 
|  | 
this class implements Floyd-Steinberg error diffusion. 
It is used during the color quantization of an image. 
  
  | 
        
          | void DcmQuantFloydSteinberg::startRow | ( | long & | col, |  
          |  |  | long & | limitcol ) |  | inline | 
 
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 
- Parameters
- 
  
    | col | initial column for the current row returned in this parameter |  | limitcol | limit column (one past the last valid column) for the current row returned in this parameter. May become negative. |  
 
References columns, fs_direction, nextberr, nextgerr, and nextrerr.