Module ij
Package ij.process

# Class ShortProcessor

java.lang.Object
ij.process.ImageProcessor
ij.process.ShortProcessor

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `SignedShortProcessor`

public class ShortProcessor extends ImageProcessor
ShortProcessors contain a 16-bit unsigned image and methods that operate on that image.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`fixedScale`
`protected int`
`max`
`protected int`
`min`
`protected short[]`
`pixels`
`protected byte[]`
`pixels8`
`protected int`
`snapshotMax`
`protected int`
`snapshotMin`

### Fields inherited from class ij.process.ImageProcessor

`antialiasedText, baseCM, BICUBIC, BILINEAR, BLACK, BLACK_AND_WHITE_LUT, BLUR_MORE, bLUT1, bLUT2, boldFont, CENTER_JUSTIFY, clipXMax, clipXMin, clipYMax, clipYMin, cm, cm2, CONVOLVE, cTable, cx, cy, defaultColorModel, drawingColor, fillValueSet, FIND_EDGES, fmGraphics, fmImage, font, fontMetrics, gLUT1, gLUT2, height, histogramMax, histogramMin, histogramSize, image, img, interpolate, interpolationMethod, inversionTested, INVERT_PROJECTION, invertedLut, ISODATA, ISODATA2, justification, LEFT_JUSTIFY, lineWidth, lutAnimation, lutUpdateMode, MAX, MAX_PROJECTION, maxThreshold, MEDIAN_FILTER, MIN, MIN_PROJECTION, minMaxSet, minThreshold, NEAREST_NEIGHBOR, newPixels, NO_LUT_UPDATE, NO_THRESHOLD, NONE, OVER_UNDER_LUT, raster, RED_LUT, RIGHT_JUSTIFY, rLUT1, rLUT2, rnd, roiHeight, roiWidth, roiX, roiY, sampleModel, seed, SET_FIRST_CHANNEL, snapshotHeight, snapshotWidth, source, SUM_PROJECTION, UPDATE_BLUE, UPDATE_GREEN, UPDATE_RED, width, xMax, xMin, yMax, yMin`

## Constructor Summary

Constructors
Constructor
Description
`ShortProcessor(int width, int height)`
Creates a blank ShortProcessor using the default grayscale LUT that displays zero as black.
`ShortProcessor(int width, int height, boolean unsigned)`
Obsolete.
`ShortProcessor(int width, int height, short[] pixels, ColorModel cm)`
Creates a new ShortProcessor using the specified pixel array and ColorModel.
`ShortProcessor(int width, int height, short[] pixels, ColorModel cm, boolean unsigned)`
Deprecated.
16 bit images are normally unsigned but signed images can be simulated by subtracting 32768 and using a calibration function to restore the original values.
`ShortProcessor(BufferedImage bi)`
Creates a ShortProcessor from a TYPE_USHORT_GRAY BufferedImage.

## Method Summary

Modifier and Type
Method
Description
`void`
`abs()`
If this is a 32-bit or signed 16-bit image, performs an absolute value transform, otherwise does nothing.
`void`
`add(double value)`
Adds 'value' to each pixel in the image or ROI.
`void`
`add(int value)`
Adds 'value' to each pixel in the image or ROI.
`void`
`and(int value)`
Binary AND of each pixel in the image or ROI with 'value'.
`void`
`applyTable(int[] lut)`
Transforms the pixel data using a 65536 entry lookup table.
`void`
`convolve(float[] kernel, int kernelWidth, int kernelHeight)`
Performs a convolution operation using the specified kernel.
`void`
`convolve3x3(int[] kernel)`
Does 3x3 convolution.
`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.
`Image`
`createImage()`
Create an 8-bit AWT image by scaling pixels in the range min-max to 0-255.
`ByteProcessor`
`createMask()`
Returns a binary mask, or null if a threshold is not set.
`ImageProcessor`
`createProcessor(int width, int height)`
Returns a new, blank ShortProcessor with the specified width and height.
`ImageProcessor`
`crop()`
Returns a new processor containing an image that corresponds to the current ROI.
`void`
`dilate()`
Not implemented.
`void`
`drawPixel(int x, int y)`
Draws a pixel in the current foreground color.
`ImageProcessor`
`duplicate()`
Returns a duplicate of this image.
`void`
`erode()`
Not implemented.
`void`
`exp()`
Performs a exponential transform on the image or ROI.
`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)`
Filters using a 3x3 neighborhood.
`void`
`findMinAndMax()`
`void`
`flipVertical()`
Flips the image or ROI vertically.
`void`
`gamma(double value)`
Performs gamma correction of the image or ROI.
`final int`
`get(int index)`
`int`
`get(int x, int y)`
This is a faster version of getPixel() that does not do bounds checking.
`BufferedImage`
`get16BitBufferedImage()`
Returns a copy of this image as a TYPE_USHORT_GRAY BufferedImage.
`double`
`getBackgroundValue()`
Returns the background fill value.
`int`
`getBitDepth()`
Returns the bit depth, 8, 16, 24 (RGB) or 32.
`BufferedImage`
`getBufferedImage()`
Returns this image as an 8-bit BufferedImage .
`final float`
`getf(int index)`
`final float`
`getf(int x, int y)`
Returns the value of the pixel at (x,y) as a float.
`double`
`getForegroundValue()`
Returns the foreground fill/draw value.
`int[]`
`getHistogram()`
Returns 65,536 bin histogram of the current ROI, which can be non-rectangular.
`double`
`getInterpolatedPixel(double x, double y)`
Uses the current interpolation method (BILINEAR or BICUBIC) to calculate 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`
`getPixel(int x, int y)`
Returns the value of the pixel at (x,y).
`final int`
`getPixelInterpolated(double x, double y)`
Uses the current interpolation method to find the pixel value at real coordinates (x,y).
`Object`
`getPixels()`
Returns a reference to the short array containing this image's pixel data.
`Object`
`getPixelsCopy()`
Returns a copy of the pixel data.
`float`
`getPixelValue(int x, int y)`
Returns the value of the pixel at (x,y) as a float.
`Object`
`getSnapshotPixels()`
Returns a reference to the snapshot (undo) buffer, or null.
`void`
`invert()`
If "Full range 16-bit inversions" (Prefs.fullRange16bitInversions) is set in Edit/Options/Conversions, the image or ROI is inverted using the full pixel value range (0-65535) or, if set, using the "Unsigned 16-bit range" in the "Set" option of the Image>Adjust>Brightness/Contrast dialog.
Otherwise, each pixel in the image or ROI is inverted using v2=max-(v1-min), where 'min' and 'max' are the image's minimum and maximum pixel values.
`boolean`
`isSigned16Bit()`
Returns 'true' if this is a signed 16-bit image.
`void`
`log()`
Does a natural logarithmic (base e) transform of the image or ROI.
`void`
`max(double value)`
Pixels greater than 'value' are set to 'value'.
`double`
`maxValue()`
Returns the maximum possible pixel value.
`void`
`medianFilter()`
Not implemented.
`void`
`min(double value)`
Pixels less than 'value' are set to 'value'.
`void`
`multiply(double value)`
Multiplies each pixel in the image or ROI by 'value'.
`void`
`noise(double standardDeviation)`
Adds pseudorandom, Gaussian ("normally") distributed values, with mean 0.0 and the specified standard deviation, to this image or ROI.
`void`
`or(int value)`
Binary OR of each pixel in the image or ROI with 'value'.
`protected void`
`process(int op, double value)`
`final void`
`putPixel(int x, int y, int value)`
Stores the specified value at (x,y).
`void`
`putPixelValue(int x, int y, double value)`
Stores the specified real 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.
`void`
`resetMinAndMax()`
Recalculates the min and max values used to scale pixel values to 0-255 for display.
`ImageProcessor`
`resize(int dstWidth, int dstHeight)`
Creates a new ShortProcessor 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(double value)`
Assigns 'value' to each pixel in the image or ROI.
`final void`
`set(int index, int value)`
`final 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`
`setBackgroundColor(Color color)`
Sets the background fill/draw color.
`void`
`setBackgroundValue(double value)`
Sets the background fill value used by the rotate() and scale() methods.
`void`
`setColor(Color color)`
Sets the foreground fill/draw color.
`final void`
`setf(int index, float value)`
`final void`
`setf(int x, int y, float value)`
Sets the value of the pixel at (x,y) to 'value'.
`void`
`setLutAnimation(boolean lutAnimation)`
For 16 and 32 bit processors, set 'lutAnimation' true to have createImage() use the cached 8-bit version of the image.
`void`
`setMinAndMax(double minimum, double maximum)`
Sets the min and max variables that control how real pixel values are mapped to 0-255 screen values.
`void`
`setPixels(int channelNumber, FloatProcessor fp)`
Sets the pixels from a FloatProcessor, no scaling.
`void`
`setPixels(Object pixels)`
Sets a new pixel array for the image.
`void`
`setSnapshotPixels(Object pixels)`
Sets a new pixel array for the snapshot (undo) buffer.
`void`
`setThreshold(double minThreshold, double maxThreshold, int lutUpdate)`
Sets the lower and upper threshold levels.
`void`
`setValue(double value)`
Sets the default fill/draw value, where 0invalid input: '<'=valueinvalid input: '<'=65535).
`void`
`snapshot()`
Makes a copy of this image's pixel data that can be later restored using reset() or reset(mask).
`void`
`sqr()`
Performs a square transform on the image or ROI.
`void`
`sqrt()`
Performs a square root transform on the image or ROI.
`void`
`swapPixelArrays()`
Swaps the pixel and snapshot (undo) arrays.
`void`
`threshold(int level)`
Sets pixels less than or equal to level to 0 and all other pixels to 255.
`FloatProcessor`
`toFloat(int channelNumber, FloatProcessor fp)`
Returns a FloatProcessor with the same image, no scaling or calibration (pixel values 0 to 65535).
`void`
`xor(int value)`
Binary exclusive OR of each pixel in the image or ROI with 'value'.

### Methods inherited from class ij.process.ImageProcessor

`applyMacro, autoThreshold, bin, blurGaussian, clone, convertToByte, convertToByteProcessor, convertToByteProcessor, convertToColorProcessor, convertToFloat, convertToFloatProcessor, convertToRGB, convertToShort, convertToShortProcessor, convertToShortProcessor, cubic, draw, drawDot, drawDot2, drawLine, drawLine4, drawOval, drawOverlay, drawPolygon, drawRect, drawRoi, drawString, drawString, drawString, fill, fillOutside, fillOval, fillPolygon, fillRect, fillValueSet, findEdges, flipHorizontal, getAutoThreshold, getAutoThreshold, getBestIndex, getBicubicInterpolatedPixel, getCalibrationTable, getColorModel, getColumn, getColumn, getCurrentColorModel, getDefaultColorModel, getFloatArray, getFont, getFontMetrics, getHeight, getHistogram, getHistogramMax, getHistogramMin, getHistogramSize, getIndexSampleModel, getIntArray, getInterpolate, getInterpolatedValue, getInterpolationMethod, getInterpolationMethods, getLine, getLineWidth, getLut, getLutUpdateMode, getMask, getMaskArray, getMaxThreshold, getMinThreshold, getNChannels, getNeighborhood, getOverlay, getPixel, getPixelCount, getProgressIncrement, getRoi, getRow, getRow, getSliceNumber, getStatistics, getStats, getStringBounds, getStringWidth, getThresholdColorModel, getValue, getWidth, hideProgress, insert, invertLut, isBinary, isColorLut, isDefaultLut, isGrayscale, isInvertedLut, isKillable, isPseudoColorLut, isThreshold, lineTo, ln, makeDefaultColorModel, maskSizeError, minValue, moveTo, putColumn, putColumn, putPixel, putRow, putRow, resetBinaryThreshold, resetRoi, resetThreshold, resize, resize, resizeLinearly, rotateLeft, rotateRight, scaleAndSetThreshold, setAntialiasedText, setAutoThreshold, setAutoThreshold, setAutoThreshold, setAutoThreshold, setAutoThreshold, setBinaryThreshold, setCalibrationTable, setClipRect, setColor, setColor, setColor, setColorModel, setFloatArray, setFont, setFontSize, setGlobalBackgroundColor, setGlobalForegroundColor, setHistogramRange, setHistogramSize, setIntArray, setInterpolate, setInterpolationMethod, setJustification, setLineWidth, setLut, setMask, setOverColor, setOverlay, setProgressBar, setRandomSeed, setRoi, setRoi, setRoi, setRoi, setSliceNumber, setSnapshotCopyMode, setThreshold, setUnderColor, setUseBicubic, sharpen, showProgress, smooth, subtract, threshold, toString, translate, translate, updateComposite`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### min

protected int min

### max

protected int max

### snapshotMin

protected int snapshotMin

### snapshotMax

protected int snapshotMax

### pixels

protected short[] pixels

### pixels8

protected byte[] pixels8

### fixedScale

protected boolean fixedScale

## Constructor Details

### ShortProcessor

public ShortProcessor(int width, int height, short[] pixels, ColorModel cm)
Creates a new ShortProcessor using the specified pixel array and ColorModel. Set 'cm' to null to use the default grayscale LUT.

### ShortProcessor

public ShortProcessor(int width, int height)
Creates a blank ShortProcessor using the default grayscale LUT that displays zero as black. Call invertLut() to display zero as white.

### ShortProcessor

public ShortProcessor(BufferedImage bi)
Creates a ShortProcessor from a TYPE_USHORT_GRAY BufferedImage.

### ShortProcessor

public ShortProcessor(int width, int height, short[] pixels, ColorModel cm, boolean unsigned)
Deprecated.
16 bit images are normally unsigned but signed images can be simulated by subtracting 32768 and using a calibration function to restore the original values.

### ShortProcessor

public ShortProcessor(int width, int height, boolean unsigned)
Obsolete. 16 bit images are normally unsigned but signed images can be used by subtracting 32768 and using a calibration function to restore the original values.

## Method Details

### findMinAndMax

public void findMinAndMax()

### createImage

public Image createImage()
Create an 8-bit AWT image by scaling pixels in the range min-max to 0-255.

Specified by:
  `createImage` in class `ImageProcessor`

### getBufferedImage

public BufferedImage getBufferedImage()
Returns this image as an 8-bit BufferedImage .

Overrides:
  `getBufferedImage` in class `ImageProcessor`

### get16BitBufferedImage

public BufferedImage get16BitBufferedImage()
Returns a copy of this image as a TYPE_USHORT_GRAY BufferedImage.

### createProcessor

public ImageProcessor createProcessor(int width, int height)
Returns a new, blank ShortProcessor with the specified width and height.

Specified by:
  `createProcessor` in class `ImageProcessor`

### snapshot

public void snapshot()
Description copied from class: `ImageProcessor`
Makes a copy of this image's pixel data that can be later restored using reset() or reset(mask).

Specified by:
  `snapshot` in class `ImageProcessor`
See Also:
  - `ImageProcessor.reset()`
  - `ImageProcessor.reset(ImageProcessor)`

### reset

public void reset()
Description copied from class: `ImageProcessor`
Restores the pixel data from the snapshot (undo) buffer.

Specified by:
  `reset` in class `ImageProcessor`

### reset

public void reset(ImageProcessor mask)
Description copied from class: `ImageProcessor`
Restores pixels from the snapshot buffer that are within the rectangular roi but not part of the mask.

Specified by:
  `reset` in class `ImageProcessor`

### swapPixelArrays

public void swapPixelArrays()
Swaps the pixel and snapshot (undo) arrays.

Specified by:
  `swapPixelArrays` in class `ImageProcessor`

### setSnapshotPixels

public void setSnapshotPixels(Object pixels)
Description copied from class: `ImageProcessor`
Sets a new pixel array for the snapshot (undo) buffer.

Specified by:
  `setSnapshotPixels` in class `ImageProcessor`

### getSnapshotPixels

public Object getSnapshotPixels()
Description copied from class: `ImageProcessor`
Returns a reference to the snapshot (undo) buffer, or null.

Specified by:
  `getSnapshotPixels` in class `ImageProcessor`

### getMin

public double getMin()
Returns the smallest displayed pixel value.

Specified by:
  `getMin` in class `ImageProcessor`

### getMax

public double getMax()
Returns the largest displayed pixel value.

Specified by:
  `getMax` in class `ImageProcessor`

### setMinAndMax

public void setMinAndMax(double minimum, double maximum)
Sets the min and max variables that control how real pixel values are mapped to 0-255 screen values. With signed 16-bit images, use IJ.setMinAndMax(imp,min,max).

Specified by:
  `setMinAndMax` in class `ImageProcessor`
See Also:
  - `resetMinAndMax()`
  - `ContrastAdjuster`
  - `IJ.setMinAndMax(ij.ImagePlus,double,double)`

### resetMinAndMax

public void resetMinAndMax()
Recalculates the min and max values used to scale pixel values to 0-255 for display. This ensures that this ShortProcessor is set up to correctly display the image.

Overrides:
  `resetMinAndMax` in class `ImageProcessor`

### getPixel

public int getPixel(int x, int y)
Description copied from class: `ImageProcessor`
Returns the value of the pixel at (x,y). For RGB images, the argb values are packed in an int. For float images, the the value must be converted using Float.intBitsToFloat(). Returns zero if either the x or y coodinate is out of range. Use getValue(x,y) to get calibrated values from 8-bit and 16-bit images, to get intensity values from RGB images and to get float values from 32-bit images.

Specified by:
  `getPixel` in class `ImageProcessor`
See Also:
  - `ImageProcessor.getValue(int, int)`

### get

public int get(int x, int y)
Description copied from class: `ImageProcessor`
This is a faster version of getPixel() that does not do bounds checking.

Specified by:
  `get` in class `ImageProcessor`

### set

public final void set(int x, int y, int value)
Description copied from class: `ImageProcessor`
This is a faster version of putPixel() that does not clip out of range values and does not do bounds checking.

Specified by:
  `set` in class `ImageProcessor`

### get

public final int get(int index)

Specified by:
  `get` in class `ImageProcessor`

### set

public final void set(int index, int value)

Specified by:
  `set` in class `ImageProcessor`

### getf

public final float getf(int x, int y)
Description copied from class: `ImageProcessor`
Returns the value of the pixel at (x,y) as a float. Faster than getPixelValue() but does no bounds checking and does not return calibrated values.

Specified by:
  `getf` in class `ImageProcessor`

### setf

public final void setf(int x, int y, float value)
Description copied from class: `ImageProcessor`
Sets the value of the pixel at (x,y) to 'value'. Does no bounds checking or clamping, making it faster than putPixel(). Due to the lack of bounds checking, (x,y) coordinates outside the image may cause an exception. Due to the lack of clamping, values outside the 0-255 range (for byte) or 0-65535 range (for short) are not handled correctly.

Specified by:
  `setf` in class `ImageProcessor`

### getf

public final float getf(int index)

Specified by:
  `getf` in class `ImageProcessor`

### setf

public final void setf(int index, float value)

Specified by:
  `setf` in class `ImageProcessor`

### getInterpolatedPixel

public double getInterpolatedPixel(double x, double y)
Uses the current interpolation method (BILINEAR or BICUBIC) to calculate the pixel value at real coordinates (x,y).

Specified by:
  `getInterpolatedPixel` in class `ImageProcessor`

### getPixelInterpolated

public final int getPixelInterpolated(double x, double y)
Description copied from class: `ImageProcessor`
Uses the current interpolation method to find the pixel value at real coordinates (x,y). For RGB images, the argb values are packed in an int. For float images, the value must be converted using Float.intBitsToFloat(). Returns zero if the (x, y) is not inside the image.

Specified by:
  `getPixelInterpolated` in class `ImageProcessor`

### putPixel

public final void putPixel(int x, int y, int value)
Stores the specified value at (x,y). Does nothing if (x,y) is outside the image boundary. Values outside the range 0-65535 are clipped.

Specified by:
  `putPixel` in class `ImageProcessor`

### putPixelValue

public void putPixelValue(int x, int y, double value)
Stores the specified real value at (x,y). Does nothing if (x,y) is outside the image boundary. Values outside the range 0-65535 (-32768-32767 for signed images) are clipped. Support for signed values requires a calibration table, which is set up automatically with PlugInFilters.

Specified by:
  `putPixelValue` in class `ImageProcessor`

### drawPixel

public void drawPixel(int x, int y)
Draws a pixel in the current foreground color.

Specified by:
  `drawPixel` in class `ImageProcessor`

### getPixelValue

public float getPixelValue(int x, int y)
Returns the value of the pixel at (x,y) as a float. For signed images, returns a signed value if a calibration table has been set using setCalibrationTable() (this is done automatically in PlugInFilters).

Specified by:
  `getPixelValue` in class `ImageProcessor`
See Also:
  - `ImageProcessor.getPixel(int, int)`
  - `ImageProcessor.getValue(int, int)`
  - `ImageProcessor.getf(int, int)`

### getPixels

public Object getPixels()
Returns a reference to the short array containing this image's pixel data. To avoid sign extension, the pixel values must be accessed using a mask (e.g. int i = pixels[j]invalid input: '&'0xffff).

Specified by:
  `getPixels` in class `ImageProcessor`

### getPixelsCopy

public Object getPixelsCopy()
Returns a copy of the pixel data. Or returns a reference to the snapshot buffer if it is not null and 'snapshotCopyMode' is true.

Specified by:
  `getPixelsCopy` in class `ImageProcessor`
See Also:
  - `ImageProcessor.snapshot()`
  - `ImageProcessor.setSnapshotCopyMode(boolean)`

### setPixels

public void setPixels(Object pixels)
Description copied from class: `ImageProcessor`
Sets a new pixel array for the image. The length of the array must be equal to width*height. Use setSnapshotPixels(null) to clear the snapshot buffer.

Specified by:
  `setPixels` in class `ImageProcessor`

### copyBits

public 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.

Specified by:
  `copyBits` in class `ImageProcessor`

### applyTable

public void applyTable(int[] lut)
Transforms the pixel data using a 65536 entry lookup table.

Specified by:
  `applyTable` in class `ImageProcessor`

### process

protected void process(int op, double value)

### invert

public void invert()
If "Full range 16-bit inversions" (Prefs.fullRange16bitInversions) is set in Edit/Options/Conversions, the image or ROI is inverted using the full pixel value range (0-65535) or, if set, using the "Unsigned 16-bit range" in the "Set" option of the Image>Adjust>Brightness/Contrast dialog.
Otherwise, each pixel in the image or ROI is inverted using v2=max-(v1-min), where 'min' and 'max' are the image's minimum and maximum pixel values.

Overrides:
  `invert` in class `ImageProcessor`
See Also:
  - `ImagePlus.setDefault16bitRange(int)`

### add

public void add(int value)
Description copied from class: `ImageProcessor`
Adds 'value' to each pixel in the image or ROI.

Overrides:
  `add` in class `ImageProcessor`

### add

public void add(double value)
Description copied from class: `ImageProcessor`
Adds 'value' to each pixel in the image or ROI.

Overrides:
  `add` in class `ImageProcessor`

### set

public void set(double value)
Description copied from class: `ImageProcessor`
Assigns 'value' to each pixel in the image or ROI.

Overrides:
  `set` in class `ImageProcessor`

### multiply

public void multiply(double value)
Description copied from class: `ImageProcessor`
Multiplies each pixel in the image or ROI by 'value'.

Overrides:
  `multiply` in class `ImageProcessor`

### and

public void and(int value)
Description copied from class: `ImageProcessor`
Binary AND of each pixel in the image or ROI with 'value'.

Overrides:
  `and` in class `ImageProcessor`

### or

public void or(int value)
Description copied from class: `ImageProcessor`
Binary OR of each pixel in the image or ROI with 'value'.

Overrides:
  `or` in class `ImageProcessor`

### xor

public void xor(int value)
Description copied from class: `ImageProcessor`
Binary exclusive OR of each pixel in the image or ROI with 'value'.

Overrides:
  `xor` in class `ImageProcessor`

### gamma

public void gamma(double value)
Description copied from class: `ImageProcessor`
Performs gamma correction of the image or ROI.

Overrides:
  `gamma` in class `ImageProcessor`

### log

public void log()
Description copied from class: `ImageProcessor`
Does a natural logarithmic (base e) transform of the image or ROI.

Overrides:
  `log` in class `ImageProcessor`

### exp

public void exp()
Description copied from class: `ImageProcessor`
Performs a exponential transform on the image or ROI.

Overrides:
  `exp` in class `ImageProcessor`

### sqr

public void sqr()
Description copied from class: `ImageProcessor`
Performs a square transform on the image or ROI.

Overrides:
  `sqr` in class `ImageProcessor`

### sqrt

public void sqrt()
Description copied from class: `ImageProcessor`
Performs a square root transform on the image or ROI.

Overrides:
  `sqrt` in class `ImageProcessor`

### abs

public void abs()
Description copied from class: `ImageProcessor`
If this is a 32-bit or signed 16-bit image, performs an absolute value transform, otherwise does nothing.

Overrides:
  `abs` in class `ImageProcessor`

### min

public void min(double value)
Description copied from class: `ImageProcessor`
Pixels less than 'value' are set to 'value'.

Overrides:
  `min` in class `ImageProcessor`

### max

public void max(double value)
Description copied from class: `ImageProcessor`
Pixels greater than 'value' are set to 'value'.

Overrides:
  `max` in class `ImageProcessor`

### fill

public void fill()
Fills the current rectangular ROI.

Overrides:
  `fill` in class `ImageProcessor`
See Also:
  - `ImageProcessor.setColor(Color)`
  - `ImageProcessor.setValue(double)`
  - `ImageProcessor.fill(Roi)`

### fill

public void fill(ImageProcessor mask)
Fills pixels that are within roi and part of the mask. Does nothing if the mask is not the same as the ROI.

Specified by:
  `fill` in class `ImageProcessor`
See Also:
  - `ImageProcessor.setColor(Color)`
  - `ImageProcessor.setValue(double)`
  - `ImageProcessor.getMask()`
  - `ImageProcessor.fill(Roi)`

### convolve3x3

public void convolve3x3(int[] kernel)
Does 3x3 convolution.

Specified by:
  `convolve3x3` in class `ImageProcessor`

### filter

public void filter(int type)
Filters using a 3x3 neighborhood.

Specified by:
  `filter` in class `ImageProcessor`

### rotate

public void rotate(double angle)
Rotates the image or ROI 'angle' degrees clockwise.

Specified by:
  `rotate` in class `ImageProcessor`
See Also:
  - `ImageProcessor.setInterpolate(boolean)`

### flipVertical

public void flipVertical()
Description copied from class: `ImageProcessor`
Flips the image or ROI vertically.

Specified by:
  `flipVertical` in class `ImageProcessor`

### scale

public void scale(double xScale, double yScale)
Scales the image or selection using the specified scale factors.

Specified by:
  `scale` in class `ImageProcessor`
See Also:
  - `ImageProcessor.setInterpolationMethod(int)`

### resize

public ImageProcessor resize(int dstWidth, int dstHeight)
Creates a new ShortProcessor containing a scaled copy of this image or selection.

Specified by:
  `resize` in class `ImageProcessor`
See Also:
  - `ImageProcessor.setInterpolate(boolean)`

### crop

public ImageProcessor crop()
Description copied from class: `ImageProcessor`
Returns a new processor containing an image that corresponds to the current ROI.

Specified by:
  `crop` in class `ImageProcessor`

### duplicate

public ImageProcessor duplicate()
Returns a duplicate of this image.

Specified by:
  `duplicate` in class `ImageProcessor`

### setColor

public void setColor(Color color)
Sets the foreground fill/draw color.

Specified by:
  `setColor` in class `ImageProcessor`

### setBackgroundColor

public void setBackgroundColor(Color color)
Sets the background fill/draw color.

Overrides:
  `setBackgroundColor` in class `ImageProcessor`

### setValue

public void setValue(double value)
Sets the default fill/draw value, where 0invalid input: '<'=valueinvalid input: '<'=65535).

Specified by:
  `setValue` in class `ImageProcessor`

### getForegroundValue

public double getForegroundValue()
Returns the foreground fill/draw value.

Specified by:
  `getForegroundValue` in class `ImageProcessor`

### setBackgroundValue

public void setBackgroundValue(double value)
Description copied from class: `ImageProcessor`
Sets the background fill value used by the rotate() and scale() methods.

Specified by:
  `setBackgroundValue` in class `ImageProcessor`

### getBackgroundValue

public double getBackgroundValue()
Description copied from class: `ImageProcessor`
Returns the background fill value.

Specified by:
  `getBackgroundValue` in class `ImageProcessor`

### getHistogram

public int[] getHistogram()
Returns 65,536 bin histogram of the current ROI, which can be non-rectangular.

Specified by:
  `getHistogram` in class `ImageProcessor`

### setLutAnimation

public void setLutAnimation(boolean lutAnimation)
Description copied from class: `ImageProcessor`
For 16 and 32 bit processors, set 'lutAnimation' true to have createImage() use the cached 8-bit version of the image.

Overrides:
  `setLutAnimation` in class `ImageProcessor`

### setThreshold

public void setThreshold(double minThreshold, double maxThreshold, int lutUpdate)
Description copied from class: `ImageProcessor`
Sets the lower and upper threshold levels. The 'lutUpdate' argument can be RED_LUT, BLACK_AND_WHITE_LUT, OVER_UNDER_LUT or NO_LUT_UPDATE. Thresholding of RGB images is not supported.

Overrides:
  `setThreshold` in class `ImageProcessor`

### convolve

public void convolve(float[] kernel, int kernelWidth, int kernelHeight)
Performs a convolution operation using the specified kernel.

Specified by:
  `convolve` in class `ImageProcessor`

### noise

public void noise(double standardDeviation)
Adds pseudorandom, Gaussian ("normally") distributed values, with mean 0.0 and the specified standard deviation, to this image or ROI.

Specified by:
  `noise` in class `ImageProcessor`

### threshold

public void threshold(int level)
Description copied from class: `ImageProcessor`
Sets pixels less than or equal to level to 0 and all other pixels to 255. Only works with 8-bit and 16-bit images.

Specified by:
  `threshold` in class `ImageProcessor`

### toFloat

public FloatProcessor toFloat(int channelNumber, FloatProcessor fp)
Returns a FloatProcessor with the same image, no scaling or calibration (pixel values 0 to 65535). The roi, mask, lut (ColorModel), threshold, mininvalid input: '&max' are also set for the FloatProcessor

Specified by:
  `toFloat` in class `ImageProcessor`
Parameters:
  `channelNumber` - Ignored (needed for compatibility with ColorProcessor.toFloat)
  `fp` - Here a FloatProcessor can be supplied, or null. The FloatProcessor is overwritten by this method (re-using its pixels array improves performance).
Returns:
  A FloatProcessor with the converted image data

### setPixels

public void setPixels(int channelNumber, FloatProcessor fp)
Sets the pixels from a FloatProcessor, no scaling. Also the mininvalid input: '&max' values are taken from the FloatProcessor.

Specified by:
  `setPixels` in class `ImageProcessor`
Parameters:
  `channelNumber` - Ignored (needed for compatibility with ColorProcessor.toFloat)
  `fp` - The FloatProcessor where the image data are read from.

### maxValue

public double maxValue()
Returns the maximum possible pixel value.

Overrides:
  `maxValue` in class `ImageProcessor`

### getBitDepth

public int getBitDepth()
Description copied from class: `ImageProcessor`
Returns the bit depth, 8, 16, 24 (RGB) or 32. RGB images actually use 32 bits per pixel.

Overrides:
  `getBitDepth` in class `ImageProcessor`

### isSigned16Bit

public boolean isSigned16Bit()
Returns 'true' if this is a signed 16-bit image.

Overrides:
  `isSigned16Bit` in class `ImageProcessor`

### createMask

public ByteProcessor createMask()
Returns a binary mask, or null if a threshold is not set.

Overrides:
  `createMask` in class `ImageProcessor`
See Also:
  - `ImagePlus.createThresholdMask()`
  - `ImagePlus.createRoiMask()`

### medianFilter

public void medianFilter()
Not implemented.

Specified by:
  `medianFilter` in class `ImageProcessor`

### erode

public void erode()
Not implemented.

Specified by:
  `erode` in class `ImageProcessor`

### dilate

public void dilate()
Not implemented.

Specified by:
  `dilate` in class `ImageProcessor`