|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectij.process.ImageProcessor
ij.process.ColorProcessor
This is an 32-bit RGB image and methods that operate on that image.. Based on the ImageProcessor class from "KickAss Java Programming" by Tonny Espeset (http://www.sn.no/~espeset).
| Field Summary | |
protected int[] |
pixels
|
int |
RGB_DILATE
|
int |
RGB_ERODE
|
int |
RGB_FIND_EDGES
|
int |
RGB_MEDIAN
|
int |
RGB_NOISE
|
int |
RGB_THRESHOLD
|
protected int[] |
snapshotPixels
|
| Fields inherited from class ij.process.ImageProcessor |
antialiasedText, baseCM, BLACK, BLACK_AND_WHITE_LUT, bLUT1, bLUT2, boldFont, CENTER_JUSTIFY, clipXMax, clipXMin, clipYMax, clipYMin, cm, cm2, cTable, cx, cy, defaultColorModel, drawingColor, font, fontMetrics, gLUT1, gLUT2, height, histogramMax, histogramMin, histogramSize, image, img, interpolate, inversionTested, invertedLut, justification, LEFT_JUSTIFY, lineWidth, lutAnimation, lutUpdateMode, maxThreshold, minThreshold, newPixels, NO_LUT_UPDATE, NO_THRESHOLD, OVER_UNDER_LUT, raster, RED_LUT, RIGHT_JUSTIFY, rLUT1, rLUT2, roiHeight, roiWidth, roiX, roiY, sampleModel, snapshotHeight, snapshotWidth, source, width, xMax, xMin, yMax, yMin |
| Constructor Summary | |
ColorProcessor(java.awt.Image img)
Creates a ColorProcessor from an AWT Image. |
|
ColorProcessor(int width,
int height)
Creates a blank ColorProcessor of the specified dimensions. |
|
ColorProcessor(int width,
int height,
int[] pixels)
Creates a ColorProcessor from a pixel array. |
|
| Method Summary | |
void |
applyTable(int[] lut)
Transforms the image or ROI using a lookup table. |
void |
applyTable(int[] lut,
int channels)
|
void |
autoThreshold()
Converts the image to binary using an automatically determined threshold. |
void |
convolve(float[] kernel,
int kernelWidth,
int kernelHeight)
Performs a convolution operation using the specified kernel. |
void |
convolve3x3(int[] kernel)
3x3 convolution contributed by Glynne Casteel. |
void |
copyBits(ImageProcessor ip,
int xloc,
int yloc,
int mode)
Copies the image contained in 'ip' to (xloc, yloc) using one of the transfer modes defined in the Blitter interface. |
java.awt.Image |
createImage()
Returns a copy of this image is the form of an AWT Image. |
ImageProcessor |
createProcessor(int width,
int height)
Returns a new, blank ShortProcessor with the specified width and height. |
ImageProcessor |
crop()
Creates a new processor containing an image that corresponds to the current ROI. |
void |
dilate()
Dilates the image or ROI using a 3x3 minimum filter. |
void |
drawPixel(int x,
int y)
Draws a pixel in the current foreground color. |
ImageProcessor |
duplicate()
Returns a duplicate of this image. |
void |
erode()
Erodes the image or ROI using a 3x3 maximum filter. |
void |
fill()
Fills the current rectangular ROI. |
void |
fill(ImageProcessor mask)
Fills pixels that are within roi and part of the mask. |
void |
filter(int type)
3x3 unweighted smoothing. |
void |
filterRGB(int type,
double arg)
Performs the specified 3x3 filter on the reg, green and blue planes. |
void |
findEdges()
Finds edges in the image or ROI using a Sobel operator. |
void |
flipVertical()
Flips the image or ROI vertically. |
int |
get(int index)
|
int |
get(int x,
int y)
This is a faster version of getPixel() that does not do bounds checking. |
int |
getBestIndex(java.awt.Color c)
Always returns 0 since RGB images do not use LUTs. |
FloatProcessor |
getBrightness()
Returns brightness as a FloatProcessor. |
java.awt.Color |
getColor(int x,
int y)
|
float |
getf(int index)
|
float |
getf(int x,
int y)
|
int[] |
getHistogram()
Returns the histogram of the image or ROI. |
int[] |
getHistogram(ImageProcessor mask)
|
void |
getHSB(byte[] H,
byte[] S,
byte[] B)
Returns hue, saturation and brightness in 3 byte arrays. |
double |
getInterpolatedPixel(double x,
double y)
Calls getPixelValue(x,y). |
int |
getInterpolatedRGBPixel(double x,
double y)
Uses bilinear interpolation to find the pixel value at real coordinates (x,y). |
double |
getMax()
Returns the largest displayed pixel value. |
double |
getMin()
Returns the smallest displayed pixel value. |
int |
getNChannels()
Returns the number of color channels of the image, i.e., 3. |
int |
getPixel(int x,
int y)
Returns the value of the pixel at (x,y). |
int[] |
getPixel(int x,
int y,
int[] iArray)
Returns the 3 samples for the pixel at (x,y) in an array of int. |
java.lang.Object |
getPixels()
Returns a reference to the int array containing this image's pixel data. |
java.lang.Object |
getPixelsCopy()
Returns a copy of the pixel data. |
float |
getPixelValue(int x,
int y)
Converts the specified pixel to grayscale using the formula g=(r+g+b)/3 and returns it as a float. |
void |
getRGB(byte[] R,
byte[] G,
byte[] B)
Returns the red, green and blue planes as 3 byte arrays. |
java.lang.Object |
getSnapshotPixels()
Returns a reference to the snapshot pixel array. |
static double[] |
getWeightingFactors()
Returns the three weighting factors used by getPixelValue(), getHistogram() and convertToByte() to do color conversions. |
void |
invertLut()
Does nothing since RGB images do not use LUTs. |
boolean |
isInvertedLut()
Always returns false since RGB images do not use LUTs. |
ImageProcessor |
makeThumbnail(int width2,
int height2,
double smoothFactor)
Uses averaging to creates a new ColorProcessor containing a scaled copy of this image or selection. |
void |
medianFilter()
A 3x3 median filter. |
void |
noise(double range)
Adds random noise to the image or ROI. |
void |
putPixel(int x,
int y,
int value)
Stores the specified value at (x,y). |
void |
putPixel(int x,
int y,
int[] iArray)
Sets a pixel in the image using a 3 element (R, G and B) int array of samples. |
void |
putPixelValue(int x,
int y,
double value)
Stores the specified real grayscale value at (x,y). |
void |
reset()
Restores the pixel data from the snapshot (undo) buffer. |
void |
reset(ImageProcessor mask)
Restores pixels from the snapshot buffer that are within the rectangular roi but not part of the mask. |
ImageProcessor |
resize(int dstWidth,
int dstHeight)
Creates a new ColorProcessor containing a scaled copy of this image or selection. |
void |
rotate(double angle)
Rotates the image or ROI 'angle' degrees clockwise. |
void |
scale(double xScale,
double yScale)
Scales the image or selection using the specified scale factors. |
void |
set(int index,
int value)
|
void |
set(int x,
int y,
int value)
This is a faster version of putPixel() that does not clip out of range values and does not do bounds checking. |
void |
setBackgroundValue(double value)
Sets the background fill value, where value is interpreted as an RGB int. |
void |
setBrightness(FloatProcessor fp)
Updates the brightness using the pixels in the specified FloatProcessor). |
void |
setColor(java.awt.Color color)
Sets the foreground color. |
void |
setf(int index,
float value)
|
void |
setf(int x,
int y,
float value)
|
void |
setHSB(byte[] H,
byte[] S,
byte[] B)
Sets the current pixels from 3 byte arrays (hue, saturation and brightness). |
void |
setMinAndMax(double min,
double max)
Uses a table look-up to map the pixels in this image from min-max to 0-255. |
void |
setMinAndMax(double min,
double max,
int channels)
|
void |
setPixels(int channelNumber,
FloatProcessor fp)
Sets the pixels of one color channel from a FloatProcessor. |
void |
setPixels(java.lang.Object pixels)
Sets a new pixel array for the image. |
void |
setRGB(byte[] R,
byte[] G,
byte[] B)
Sets the current pixels from 3 byte arrays (reg, green, blue). |
void |
setSnapshotPixels(java.lang.Object pixels)
Sets a new pixel array for the snapshot (undo) buffer. |
void |
setValue(double value)
Sets the default fill/draw value, where value is interpreted as an RGB int. |
static void |
setWeightingFactors(double rFactor,
double gFactor,
double bFactor)
Sets the weighting factors used by getPixelValue(), getHistogram() and convertToByte() to do color conversions. |
void |
snapshot()
Makes a copy of this image's pixel data that can be later restored using reset() or reset(mask). |
void |
threshold(int level)
Not implemented. |
FloatProcessor |
toFloat(int channelNumber,
FloatProcessor fp)
Returns a FloatProcessor with one color channel of the image. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected int[] pixels
protected int[] snapshotPixels
public final int RGB_NOISE
public final int RGB_MEDIAN
public final int RGB_FIND_EDGES
public final int RGB_ERODE
public final int RGB_DILATE
public final int RGB_THRESHOLD
| Constructor Detail |
public ColorProcessor(java.awt.Image img)
public ColorProcessor(int width,
int height)
public ColorProcessor(int width,
int height,
int[] pixels)
| Method Detail |
public java.awt.Image createImage()
ImageProcessor
createImage in class ImageProcessor
public ImageProcessor createProcessor(int width,
int height)
createProcessor in class ImageProcessor
public java.awt.Color getColor(int x,
int y)
public void setColor(java.awt.Color color)
setColor in class ImageProcessorpublic void setValue(double value)
value is interpreted as an RGB int.
setValue in class ImageProcessorpublic void setBackgroundValue(double value)
value is interpreted as an RGB int.
setBackgroundValue in class ImageProcessorpublic double getMin()
getMin in class ImageProcessorpublic double getMax()
getMax in class ImageProcessor
public void setMinAndMax(double min,
double max)
setMinAndMax in class ImageProcessor
public void setMinAndMax(double min,
double max,
int channels)
public void snapshot()
ImageProcessor
snapshot in class ImageProcessorImageProcessor.reset(),
ImageProcessor.reset(ImageProcessor)public void reset()
ImageProcessor
reset in class ImageProcessorpublic void reset(ImageProcessor mask)
ImageProcessor
reset in class ImageProcessorpublic void setSnapshotPixels(java.lang.Object pixels)
ImageProcessor
setSnapshotPixels in class ImageProcessorpublic java.lang.Object getSnapshotPixels()
getSnapshotPixels in class ImageProcessorpublic void fill(ImageProcessor mask)
fill in class ImageProcessorpublic java.lang.Object getPixelsCopy()
getPixelsCopy in class ImageProcessorImageProcessor.snapshot(),
ImageProcessor.setSnapshotCopyMode(boolean)
public int getPixel(int x,
int y)
ImageProcessor
getPixel in class ImageProcessor
public final int get(int x,
int y)
ImageProcessor
get in class ImageProcessor
public final void set(int x,
int y,
int value)
ImageProcessor
set in class ImageProcessorpublic final int get(int index)
get in class ImageProcessor
public final void set(int index,
int value)
set in class ImageProcessor
public final float getf(int x,
int y)
getf in class ImageProcessor
public final void setf(int x,
int y,
float value)
setf in class ImageProcessorpublic final float getf(int index)
getf in class ImageProcessor
public final void setf(int index,
float value)
setf in class ImageProcessor
public int[] getPixel(int x,
int y,
int[] iArray)
getPixel in class ImageProcessor
public void putPixel(int x,
int y,
int[] iArray)
putPixel in class ImageProcessor
public double getInterpolatedPixel(double x,
double y)
getInterpolatedPixel in class ImageProcessor
public void putPixel(int x,
int y,
int value)
putPixel in class ImageProcessor
public void putPixelValue(int x,
int y,
double value)
putPixelValue in class ImageProcessor
public float getPixelValue(int x,
int y)
getPixelValue in class ImageProcessor
public void drawPixel(int x,
int y)
drawPixel in class ImageProcessorpublic java.lang.Object getPixels()
getPixels in class ImageProcessorpublic void setPixels(java.lang.Object pixels)
ImageProcessor
setPixels in class ImageProcessor
public void getHSB(byte[] H,
byte[] S,
byte[] B)
public FloatProcessor getBrightness()
public void getRGB(byte[] R,
byte[] G,
byte[] B)
public void setRGB(byte[] R,
byte[] G,
byte[] B)
public void setHSB(byte[] H,
byte[] S,
byte[] B)
public void setBrightness(FloatProcessor fp)
public void copyBits(ImageProcessor ip,
int xloc,
int yloc,
int mode)
copyBits in class ImageProcessorpublic void applyTable(int[] lut)
ImageProcessor
applyTable in class ImageProcessor
public void applyTable(int[] lut,
int channels)
public void fill()
fill in class ImageProcessorfill(ImageProcessor)
public void filterRGB(int type,
double arg)
public void noise(double range)
ImageProcessor
noise in class ImageProcessorrange - the range of random numberspublic void medianFilter()
ImageProcessor
medianFilter in class ImageProcessorpublic void findEdges()
ImageProcessor
findEdges in class ImageProcessorpublic void erode()
ImageProcessor
erode in class ImageProcessorpublic void dilate()
ImageProcessor
dilate in class ImageProcessorpublic void autoThreshold()
ImageProcessor
autoThreshold in class ImageProcessor
public void scale(double xScale,
double yScale)
scale in class ImageProcessorImageProcessor.setInterpolate(boolean)public ImageProcessor crop()
ImageProcessor
crop in class ImageProcessorpublic ImageProcessor duplicate()
duplicate in class ImageProcessor
public int getInterpolatedRGBPixel(double x,
double y)
public ImageProcessor resize(int dstWidth,
int dstHeight)
resize in class ImageProcessorImageProcessor.setInterpolate(boolean)
public ImageProcessor makeThumbnail(int width2,
int height2,
double smoothFactor)
public void rotate(double angle)
rotate in class ImageProcessorImageProcessor.setInterpolate(boolean)public void flipVertical()
ImageProcessor
flipVertical in class ImageProcessorpublic void convolve3x3(int[] kernel)
convolve3x3 in class ImageProcessorpublic void filter(int type)
filter in class ImageProcessorpublic int[] getHistogram()
ImageProcessor
getHistogram in class ImageProcessorpublic int[] getHistogram(ImageProcessor mask)
public void convolve(float[] kernel,
int kernelWidth,
int kernelHeight)
convolve in class ImageProcessor
public static void setWeightingFactors(double rFactor,
double gFactor,
double bFactor)
public static double[] getWeightingFactors()
public boolean isInvertedLut()
isInvertedLut in class ImageProcessorpublic int getBestIndex(java.awt.Color c)
getBestIndex in class ImageProcessorpublic void invertLut()
invertLut in class ImageProcessorpublic void threshold(int level)
threshold in class ImageProcessorpublic int getNChannels()
getNChannels in class ImageProcessor
public FloatProcessor toFloat(int channelNumber,
FloatProcessor fp)
toFloat in class ImageProcessorchannelNumber - Determines the color channel, 0=red, 1=green, 2=bluefp - Here a FloatProcessor can be supplied, or null. The FloatProcessor
is overwritten by this method (re-using its pixels array
improves performance).
public void setPixels(int channelNumber,
FloatProcessor fp)
setPixels in class ImageProcessorchannelNumber - Determines the color channel, 0=red, 1=green, 2=bluefp - The FloatProcessor where the image data are read from.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||