net.sourceforge.jiu.color.quantization

Class UniformPaletteQuantizer

Implemented Interfaces:
RGBIndex, RGBQuantizer

public class UniformPaletteQuantizer
extends ImageToImageOperation
implements RGBIndex, RGBQuantizer

A color quantizer that maps to a palette which is equidistantly distributed in the RGB color cube. Equidistantly distributed only within each channel.
Author:
Marco Schmidt

Field Summary

private int
BLUE_BITS
private int
BLUE_RIGHT_SHIFT
private int[]
BLUE_VALUES
private int
GREEN_BITS
private int
GREEN_LEFT_SHIFT
private int
GREEN_RIGHT_SHIFT
private int[]
GREEN_VALUES
private int[]
PALETTE_BLUE
private int[]
PALETTE_GREEN
private int[]
PALETTE_RED
private int
RED_BITS
private int
RED_LEFT_SHIFT
private int
RED_RIGHT_SHIFT
private int[]
RED_VALUES
private int
TOTAL_BITS

Fields inherited from class net.sourceforge.jiu.ops.ImageToImageOperation

canInAndOutBeEqual, inputImage, outputImage

Fields inherited from class net.sourceforge.jiu.ops.Operation

abort, progressListeners

Fields inherited from interface net.sourceforge.jiu.data.RGBIndex

INDEX_BLUE, INDEX_GREEN, INDEX_RED

Constructor Summary

UniformPaletteQuantizer(int redBits, int greenBits, int blueBits)

Method Summary

Palette
createPalette()
int
map(int[] origRgb, int[] quantizedRgb)
int
mapToIndex(int red, int green, int blue)
void
process()
private void
process(RGB24Image in, Paletted8Image out)

Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation

canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage

Methods inherited from class net.sourceforge.jiu.ops.Operation

addProgressListener, addProgressListeners, getAbort, process, removeProgressListener, setAbort, setProgress, setProgress

Field Details

BLUE_BITS

private final int BLUE_BITS

BLUE_RIGHT_SHIFT

private final int BLUE_RIGHT_SHIFT

BLUE_VALUES

private final int[] BLUE_VALUES

GREEN_BITS

private final int GREEN_BITS

GREEN_LEFT_SHIFT

private final int GREEN_LEFT_SHIFT

GREEN_RIGHT_SHIFT

private final int GREEN_RIGHT_SHIFT

GREEN_VALUES

private final int[] GREEN_VALUES

PALETTE_BLUE

private int[] PALETTE_BLUE

PALETTE_GREEN

private int[] PALETTE_GREEN

PALETTE_RED

private int[] PALETTE_RED

RED_BITS

private final int RED_BITS

RED_LEFT_SHIFT

private final int RED_LEFT_SHIFT

RED_RIGHT_SHIFT

private final int RED_RIGHT_SHIFT

RED_VALUES

private final int[] RED_VALUES

TOTAL_BITS

private final int TOTAL_BITS

Constructor Details

UniformPaletteQuantizer

public UniformPaletteQuantizer(int redBits,
                               int greenBits,
                               int blueBits)

Method Details

createPalette

public Palette createPalette()
Specified by:
createPalette in interface RGBQuantizer

map

public int map(int[] origRgb,
               int[] quantizedRgb)
Specified by:
map in interface RGBQuantizer

mapToIndex

public final int mapToIndex(int red,
                            int green,
                            int blue)

process

public void process()
Overrides:
process in interface Operation

process

private void process(RGB24Image in,
                     Paletted8Image out)