|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.grelf.image.ImageBase
net.grelf.image.Image8or16Base
public abstract class Image8or16Base
Common code for Image8 and Image16, both of which really use a java.awt.image.BufferedImage internally.
| Field Summary | |
|---|---|
protected java.awt.image.BufferedImage |
bim
|
protected double[] |
zeroPxDouble
|
protected int[] |
zeroPxInt
|
| Fields inherited from class net.grelf.image.ImageBase |
|---|
metadata |
| Constructor Summary | |
|---|---|
Image8or16Base()
|
|
| Method Summary | |
|---|---|
void |
add(java.awt.image.BufferedImage bim2)
Add pixel values from bim into the data array. |
void |
addProportion(Image other,
double fractionThis,
double fractionOther)
Add proportion of pixel values from the other Image to a proportion of the current data array. |
void |
addTranslated(java.awt.image.BufferedImage bim,
double dx,
double dy)
Add pixel values from bim into the data array, offset by vector (dx, dy). |
void |
addTranslated(java.awt.image.BufferedImage bim,
int dx,
int dy)
Add pixel values from bim into the data array, offset by vector (dx, dy). |
void |
applyCurve(RangeInt currentRange,
java.util.List<java.awt.Point> points,
java.awt.image.BufferedImage dstBim)
Apply a look-up curve to transform pixels from this image into BufferedImage pixels or, if the BufferedImage is null, back into this image. |
void |
autoCrop()
Automatically remove any rectangular margin of black (0, 0, 0) pixels from the image, thereby cropping it. |
void |
autoStretch(boolean allChannelsSame)
Stretch the contrast in the image so the full range of levels is used. |
void |
autoStretch(boolean allChannelsSame,
java.awt.Point topLeft,
java.awt.Point bottomRight)
Stretch the contrast in the image so the full range of levels is used. |
ByteMask |
autoThreshold()
Threshold automatically. |
void |
averageVertically()
Replace every pixel of every vertical line in the image by the average of the levels along the line. |
void |
averageVertically(int yMin,
int yMax)
Replace every pixel of every vertical line in the image by the average of the levels along the line, within two y coordinate limits. |
void |
blurGaussian(int nx,
int ny,
javax.swing.ProgressMonitor monitor)
Do Gaussian blurring of this image with 1D profiles of width nx (horizontal) and ny (vertical). |
protected void |
checkCompatibility(java.awt.image.BufferedImage bim)
|
abstract Image |
clone()
|
void |
convertToMonochrome()
Convert the image to monochrome, using 0.325 x red + 0.5 * green + 0.175 * blue. |
void |
convertToMonochrome(double... f)
Convert the image to monochrome, using given fractions of each channel. |
void |
convolve(double[] horz,
double[] vert,
javax.swing.ProgressMonitor monitor)
Convolve the given image with the given 1D arrays (horizontal and vertical - may be different). |
void |
convolve(Kernel kernel,
javax.swing.ProgressMonitor monitor)
Perform a 2D linear convolution with the given kernel. |
void |
correctBackground(double scale,
int cellFactor)
Level the background of the image by dividing the image into n x n cells and using the modal values of the histogram in every cell. |
void |
crop(java.awt.Point pt1,
java.awt.Point pt2)
Crop the image by a rectangle defined by the diagonally opposite points. |
void |
deconvolve(Kernel kernel,
int nPasses,
double weight,
javax.swing.ProgressMonitor monitor)
Deconvolve this image with the given kernel, using van Cittert's method. |
void |
dispose()
Release all resources. |
void |
divide(int n)
Divide the value of every pixel by n |
void |
divideByFlatField(Image flat)
Divide by a flat field image. |
void |
drawRim(int width,
java.awt.Color colour)
Draw a rim around the image, of the given width and colour |
void |
fit(int width,
int height)
Scale the image so it fits into the given width and height (in pixels), without changing its proportions. |
void |
flipHorizontal()
Flip the image horizontally. |
void |
flipVertical()
Flip the image vertically. |
int |
getBitsPerChannel()
Get the number of bits per channel. |
static int |
getBitsPerChannel(java.awt.image.BufferedImage bimage)
Not required by Image interface, but useful. |
java.awt.image.BufferedImage |
getBufferedImage()
|
RangeInt[] |
getChannelRanges()
Find the range of values in each channel, as pairs of int values. |
RangeDouble[] |
getChannelRangesDouble()
Find the range of values in each channel, as pairs of double values. |
int |
getHeight()
Get the height, in pixels, of the Image. |
java.lang.String |
getImageTypeAsString()
For displaying image information, get its java.awt.image.BufferedImage type constant name. |
static java.lang.String |
getImageTypeAsString(java.awt.image.BufferedImage bimage)
For displaying image information, get the given image's java.awt.image.BufferedImage type constant name. |
int |
getMaxLevel()
Not required by Image interface. |
static int |
getMaxLevel(java.awt.image.BufferedImage bimage)
Not required by Image interface, but useful. |
Metadata |
getMetadata()
Get metadata associated with the image. |
int |
getNBands()
Get the number of bands (channels) in the Image. |
static int |
getNBands(java.awt.image.BufferedImage bim)
Not required by Image interface, but useful. |
int[] |
getPixel(int x,
int y)
Get array of int pixel values for all bands at the given integer (x, y) position. |
double[] |
getPixelDouble(int x,
int y)
Get array of double pixel values for all bands at the given integer (x, y) position. |
double[] |
getPixelDoubleInterpolated(double x,
double y)
Get array of double pixel values for all bands at the given fractional (x, y) position. |
int[] |
getPixelInterpolated(double x,
double y)
Get array of int pixel values for all bands at the given fractional (x, y) position. |
RangeInt |
getRange()
Get the minimum and maximum values occurring across all channels, as a pair of int values. |
RangeInt |
getRangeByRescanning()
Get overall range of values across all channels, as a pair of int values. |
RangeDouble |
getRangeByRescanningDouble()
Get overall range of values across all channels, as a pair of double values. |
RangeDouble |
getRangeDouble()
Get the minimum and maximum values occurring across all channels, as a pair of double values. |
int |
getWidth()
Get the width, in pixels, of the Image. |
java.awt.image.BufferedImage |
gnomonicProjection(java.awt.image.BufferedImage src,
int focalLength_mm,
double detectorWidth_mm,
double detectorHeight_mm)
Project from sphere to plane. |
protected java.awt.image.BufferedImage |
inverseGnomonicProjection(java.awt.image.BufferedImage src,
int focalLength_mm,
double detectorWidth_mm,
double detectorHeight_mm)
Project from plane to sphere. |
void |
invert()
Invert the colour at every pixel in the image. |
void |
meanFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
Replace every pixel in the image by the mean value of its n x n neighbourhood, where n = 2.halfWidth + 1. |
void |
medianFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
Replace every pixel in the image by the median value of its n x n neighbourhood, where n = 2.halfWidth + 1. |
void |
multiply(double f)
Multiply all pixel values (in all bands) in the Image by factor f, truncating the result if pixels contain integer values. |
void |
multiply(Image other)
Multiply pixel values of current image by those of another. |
void |
multiply(Image other,
double f1,
double f2)
Multiply fraction f1 of this image by f2 of the other. |
void |
nearestExtremeFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
Replace every pixel in the image by the nearest of the max and min of its n x n neighbourhood, where n = 2.halfWidth + 1. |
void |
neutraliseBackground()
Equate the histogram modes of all channels by stretching from the overall maximum value. |
void |
rankFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
Replace every pixel in the image by its rank in its n x n neighbourhood, where n = 2.halfWidth + 1. |
void |
reapplyColour(Image intensityImage,
Image colourImage)
For combining a monochrome intensity image with a multi-band colour information image, the 2 images having been created by ImProcess.splitIntensity (). |
void |
rotate(double angleDegs)
Rotate the image anticlockwise by the given angle (in degrees). |
void |
save(java.lang.String filePath)
Save image as a file. |
void |
save(java.lang.String filePath,
RangeDouble range)
Save image as a file. |
void |
save(java.lang.String filePath,
RangeInt range)
Save image as a file. |
void |
saveAsFITS(java.lang.String filePath)
This is called by save() if the filePath ends in ".fits" but it may be called directly. |
void |
scale(double factor,
boolean interpolating)
Scale the image by the given factor |
java.awt.image.BufferedImage |
scaleDownForDisplay(int factor)
Create a BufferedImage compatible with the display and scale the current Image down into it by an integer factor (maximum speed). |
void |
set(java.awt.image.BufferedImage bim)
Set pixel values from bim into the data array. |
void |
setBufferedImage(java.awt.image.BufferedImage bim)
|
void |
setMetadata(Metadata theData)
Associate metadata with the image. |
void |
setPixel(int x,
int y,
int[] px)
Does nothing if (x, y) is outside the image. |
void |
setPixel(int x,
int y,
int band,
int px)
Set value into a single band of a pixel without changing the other bands. |
void |
setPixelDouble(int x,
int y,
double[] px)
Does nothing if (x, y) is outside the image. |
void |
setPixelDouble(int x,
int y,
int band,
double px)
Set value into a single band of a pixel without changing the other bands. |
void |
showInfo()
Display information about the current image in a dialogue. |
void |
subtract(Image other)
Subtract pixel values of other image from this image data array, raising result by minimum possible so it is always positive. |
void |
subtractToZero(Image other)
Subtract pixel values of other image from this image data array, clipping negative results to zero. |
ByteMask |
threshold(Threshold thresh)
Threshold the image to detect pixels in the range(s) specified by the given threshold. |
java.lang.String |
toFoldedString(java.lang.String lineEnd)
Return complete metadata in a form suitable for display. |
void |
translate(double dx,
double dy)
Displace the image content by the given offset vector, interpolating between pixels. |
void |
translate(int dx,
int dy)
Displace the image content by the given offset vector, a whole number of pixels. |
void |
varianceFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
Replace every pixel in the image by the variance of its n x n neighbourhood, where n = 2.halfWidth + 1. |
| Methods inherited from class net.grelf.image.ImageBase |
|---|
createImage, createImage, getCalibration, getFilePath, getGraphicsConfiguration, recombine, sameBitsAndBands, sameSizeBitsAndBands, setCalibration, setFilePath, showInfo |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface net.grelf.image.Image |
|---|
add, convertToImage16, convertToImage32, convertToImage64, convertToImage8, getCalibration, getFilePath, gnomonicProjection, inverseGnomonicProjection, isRaw, setCalibration, setFilePath, splitChannels, toString |
| Field Detail |
|---|
protected java.awt.image.BufferedImage bim
protected int[] zeroPxInt
protected double[] zeroPxDouble
| Constructor Detail |
|---|
public Image8or16Base()
| Method Detail |
|---|
public java.awt.image.BufferedImage getBufferedImage()
public void setBufferedImage(java.awt.image.BufferedImage bim)
protected void checkCompatibility(java.awt.image.BufferedImage bim)
throws IncompatibleImageException
IncompatibleImageException
public void add(java.awt.image.BufferedImage bim2)
throws IncompatibleImageException
Image
add in interface ImageIncompatibleImageException
public void addProportion(Image other,
double fractionThis,
double fractionOther)
throws IncompatibleImageException
addProportion in interface ImageIncompatibleImageException
public void addTranslated(java.awt.image.BufferedImage bim,
int dx,
int dy)
throws IncompatibleImageException
Image
addTranslated in interface ImageIncompatibleImageException
public void addTranslated(java.awt.image.BufferedImage bim,
double dx,
double dy)
throws IncompatibleImageException
Image
addTranslated in interface ImageIncompatibleImageException
public void applyCurve(RangeInt currentRange,
java.util.List<java.awt.Point> points,
java.awt.image.BufferedImage dstBim)
throws IncompatibleImageException
applyCurve in interface ImageIncompatibleImageExceptionpublic void autoCrop()
autoCrop in interface Imagepublic void autoStretch(boolean allChannelsSame)
autoStretch in interface Image
public void autoStretch(boolean allChannelsSame,
java.awt.Point topLeft,
java.awt.Point bottomRight)
autoStretch in interface Imagepublic ByteMask autoThreshold()
autoThreshold in interface Imagepublic void averageVertically()
averageVertically in interface Image
public void averageVertically(int yMin,
int yMax)
averageVertically in interface Image
public void blurGaussian(int nx,
int ny,
javax.swing.ProgressMonitor monitor)
blurGaussian in interface Imagepublic abstract Image clone()
clone in interface Imageclone in class java.lang.Objectpublic void convertToMonochrome()
convertToMonochrome in interface Imagepublic void convertToMonochrome(double... f)
convertToMonochrome in interface Image
public void convolve(Kernel kernel,
javax.swing.ProgressMonitor monitor)
convolve in interface Image
public void convolve(double[] horz,
double[] vert,
javax.swing.ProgressMonitor monitor)
convolve in interface Image
public void correctBackground(double scale,
int cellFactor)
correctBackground in interface Image
public void crop(java.awt.Point pt1,
java.awt.Point pt2)
crop in interface Image
public void deconvolve(Kernel kernel,
int nPasses,
double weight,
javax.swing.ProgressMonitor monitor)
deconvolve in interface Imagepublic void dispose()
Image
dispose in interface Imagepublic void divide(int n)
divide in interface Imagepublic void divideByFlatField(Image flat)
divideByFlatField in interface Image
public void drawRim(int width,
java.awt.Color colour)
drawRim in interface Image
public void fit(int width,
int height)
fit in interface Imagepublic void flipHorizontal()
flipHorizontal in interface Imagepublic void flipVertical()
flipVertical in interface Imagepublic int getBitsPerChannel()
Image
getBitsPerChannel in interface Imagepublic static int getBitsPerChannel(java.awt.image.BufferedImage bimage)
public RangeInt[] getChannelRanges()
Image
getChannelRanges in interface Imagepublic RangeDouble[] getChannelRangesDouble()
Image
getChannelRangesDouble in interface Imagepublic int getHeight()
Image
getHeight in interface Imagepublic java.lang.String getImageTypeAsString()
getImageTypeAsString in interface Imagepublic static java.lang.String getImageTypeAsString(java.awt.image.BufferedImage bimage)
public int getMaxLevel()
public static int getMaxLevel(java.awt.image.BufferedImage bimage)
public Metadata getMetadata()
ImageBase
getMetadata in interface ImagegetMetadata in class ImageBasepublic int getNBands()
Image
getNBands in interface Imagepublic static int getNBands(java.awt.image.BufferedImage bim)
public RangeInt getRangeByRescanning()
Image
getRangeByRescanning in interface Imagepublic RangeDouble getRangeByRescanningDouble()
Image
getRangeByRescanningDouble in interface Image
public int[] getPixel(int x,
int y)
Image
getPixel in interface Image
public double[] getPixelDouble(int x,
int y)
Image
getPixelDouble in interface Image
public double[] getPixelDoubleInterpolated(double x,
double y)
Image
getPixelDoubleInterpolated in interface Image
public int[] getPixelInterpolated(double x,
double y)
Image
getPixelInterpolated in interface Imagepublic RangeInt getRange()
Image
getRange in interface Imagepublic RangeDouble getRangeDouble()
Image
getRangeDouble in interface Imagepublic int getWidth()
Image
getWidth in interface Image
public java.awt.image.BufferedImage gnomonicProjection(java.awt.image.BufferedImage src,
int focalLength_mm,
double detectorWidth_mm,
double detectorHeight_mm)
protected java.awt.image.BufferedImage inverseGnomonicProjection(java.awt.image.BufferedImage src,
int focalLength_mm,
double detectorWidth_mm,
double detectorHeight_mm)
public void invert()
invert in interface Image
public void meanFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
meanFilter in interface Image
public void medianFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
medianFilter in interface Imagepublic void multiply(double f)
multiply in interface Imagepublic void multiply(Image other)
multiply in interface Image
public void multiply(Image other,
double f1,
double f2)
multiply in interface Image
public void nearestExtremeFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
nearestExtremeFilter in interface Imagepublic void neutraliseBackground()
Image
neutraliseBackground in interface Image
public void rankFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
rankFilter in interface Image
public void reapplyColour(Image intensityImage,
Image colourImage)
Image
reapplyColour in interface Imagepublic void rotate(double angleDegs)
rotate in interface Imagepublic void save(java.lang.String filePath)
save in interface Image
public void save(java.lang.String filePath,
RangeInt range)
save in interface Image
public void save(java.lang.String filePath,
RangeDouble range)
save in interface Imagepublic void saveAsFITS(java.lang.String filePath)
saveAsFITS in interface Image
public void scale(double factor,
boolean interpolating)
scale in interface Imagepublic java.awt.image.BufferedImage scaleDownForDisplay(int factor)
scaleDownForDisplay in interface Image
public void set(java.awt.image.BufferedImage bim)
throws IncompatibleImageException
Image
set in interface ImageIncompatibleImageExceptionpublic void setMetadata(Metadata theData)
ImageBase
setMetadata in interface ImagesetMetadata in class ImageBase
public void setPixel(int x,
int y,
int[] px)
Image
setPixel in interface Image
public void setPixel(int x,
int y,
int band,
int px)
Image
setPixel in interface Image
public void setPixelDouble(int x,
int y,
double[] px)
Image
setPixelDouble in interface Image
public void setPixelDouble(int x,
int y,
int band,
double px)
Image
setPixelDouble in interface Imagepublic void showInfo()
showInfo in interface Image
public void subtract(Image other)
throws IncompatibleImageException
subtract in interface ImageIncompatibleImageException
public void subtractToZero(Image other)
throws IncompatibleImageException
subtractToZero in interface ImageIncompatibleImageExceptionpublic ByteMask threshold(Threshold thresh)
threshold in interface Image
public void translate(int dx,
int dy)
translate in interface Image
public void translate(double dx,
double dy)
translate in interface Image
public void varianceFilter(int halfWidth,
javax.swing.ProgressMonitor monitor)
varianceFilter in interface Imagepublic java.lang.String toFoldedString(java.lang.String lineEnd)
Image
toFoldedString in interface Image
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||