Class RecordedImageProcessor

java.lang.Object
ij.process.ImageProcessor
loci.plugins.util.RecordedImageProcessor
All Implemented Interfaces:
Cloneable

public class RecordedImageProcessor extends ij.process.ImageProcessor
Image processor extension that records commands executed upon it. Allows "recordable virtual stacks" that repeat operations performed on one image plane on other image planes when they are loaded from disk.
Author:
Melissa Linkert melissa at glencoesoftware.com
  • Field Details

    • proc

      private ij.process.ImageProcessor proc
    • doRecording

      private boolean doRecording
    • methodStack

    • channelNumber

      private int channelNumber
    • otherChannels

      private ij.process.ImageProcessor[] otherChannels
  • Constructor Details

    • RecordedImageProcessor

      public RecordedImageProcessor(ij.process.ImageProcessor proc)
    • RecordedImageProcessor

      public RecordedImageProcessor(ij.process.ImageProcessor proc, int channelNum, ij.process.ImageProcessor[] otherChannels)
  • Method Details

    • setDoRecording

      public void setDoRecording(boolean doRecording)
    • getMethodStack

      public List<RecordedImageProcessor.MethodEntry> getMethodStack()
    • applyMethodStack

      public void applyMethodStack(List<RecordedImageProcessor.MethodEntry> stack)
    • getChild

      public ij.process.ImageProcessor getChild()
    • abs

      public void abs()
      Overrides:
      abs in class ij.process.ImageProcessor
    • add

      public void add(double value)
      Overrides:
      add in class ij.process.ImageProcessor
    • add

      public void add(int value)
      Overrides:
      add in class ij.process.ImageProcessor
    • and

      public void and(int value)
      Overrides:
      and in class ij.process.ImageProcessor
    • applyTable

      public void applyTable(int[] lut)
      Specified by:
      applyTable in class ij.process.ImageProcessor
    • autoThreshold

      public void autoThreshold()
      Overrides:
      autoThreshold in class ij.process.ImageProcessor
    • convertToByte

      public ij.process.ImageProcessor convertToByte(boolean doScaling)
      Overrides:
      convertToByte in class ij.process.ImageProcessor
    • convertToFloat

      public ij.process.ImageProcessor convertToFloat()
      Overrides:
      convertToFloat in class ij.process.ImageProcessor
    • convertToRGB

      public ij.process.ImageProcessor convertToRGB()
      Overrides:
      convertToRGB in class ij.process.ImageProcessor
    • convertToShort

      public ij.process.ImageProcessor convertToShort(boolean doScaling)
      Overrides:
      convertToShort in class ij.process.ImageProcessor
    • convolve

      public void convolve(float[] kernel, int kernelWidth, int kernelHeight)
      Specified by:
      convolve in class ij.process.ImageProcessor
    • convolve3x3

      public void convolve3x3(int[] kernel)
      Specified by:
      convolve3x3 in class ij.process.ImageProcessor
    • copyBits

      public void copyBits(ij.process.ImageProcessor ip, int xloc, int yloc, int mode)
      Specified by:
      copyBits in class ij.process.ImageProcessor
    • createImage

      public Image createImage()
      Specified by:
      createImage in class ij.process.ImageProcessor
    • createProcessor

      public ij.process.ImageProcessor createProcessor(int width, int height)
      Specified by:
      createProcessor in class ij.process.ImageProcessor
    • crop

      public ij.process.ImageProcessor crop()
      Specified by:
      crop in class ij.process.ImageProcessor
    • dilate

      public void dilate()
      Specified by:
      dilate in class ij.process.ImageProcessor
    • drawDot

      public void drawDot(int xcenter, int ycenter)
      Overrides:
      drawDot in class ij.process.ImageProcessor
    • drawLine

      public void drawLine(int x1, int y1, int x2, int y2)
      Overrides:
      drawLine in class ij.process.ImageProcessor
    • drawOval

      public void drawOval(int x, int y, int width, int height)
      Overrides:
      drawOval in class ij.process.ImageProcessor
    • drawPixel

      public void drawPixel(int x, int y)
      Specified by:
      drawPixel in class ij.process.ImageProcessor
    • drawPolygon

      public void drawPolygon(Polygon p)
      Overrides:
      drawPolygon in class ij.process.ImageProcessor
    • drawRect

      public void drawRect(int x, int y, int width, int height)
      Overrides:
      drawRect in class ij.process.ImageProcessor
    • drawString

      public void drawString(String s)
      Overrides:
      drawString in class ij.process.ImageProcessor
    • drawString

      public void drawString(String s, int x, int y)
      Overrides:
      drawString in class ij.process.ImageProcessor
    • duplicate

      public ij.process.ImageProcessor duplicate()
      Specified by:
      duplicate in class ij.process.ImageProcessor
    • erode

      public void erode()
      Specified by:
      erode in class ij.process.ImageProcessor
    • exp

      public void exp()
      Overrides:
      exp in class ij.process.ImageProcessor
    • fill

      public void fill()
      Overrides:
      fill in class ij.process.ImageProcessor
    • fill

      public void fill(ij.process.ImageProcessor mask)
      Specified by:
      fill in class ij.process.ImageProcessor
    • fillOval

      public void fillOval(int x, int y, int width, int height)
      Overrides:
      fillOval in class ij.process.ImageProcessor
    • fillPolygon

      public void fillPolygon(Polygon p)
      Overrides:
      fillPolygon in class ij.process.ImageProcessor
    • filter

      public void filter(int type)
      Specified by:
      filter in class ij.process.ImageProcessor
    • findEdges

      public void findEdges()
      Overrides:
      findEdges in class ij.process.ImageProcessor
    • flipHorizontal

      public void flipHorizontal()
      Overrides:
      flipHorizontal in class ij.process.ImageProcessor
    • flipVertical

      public void flipVertical()
      Specified by:
      flipVertical in class ij.process.ImageProcessor
    • gamma

      public void gamma(double value)
      Overrides:
      gamma in class ij.process.ImageProcessor
    • get

      public int get(int index)
      Specified by:
      get in class ij.process.ImageProcessor
    • get

      public int get(int x, int y)
      Specified by:
      get in class ij.process.ImageProcessor
    • getAutoThreshold

      public int getAutoThreshold()
      Overrides:
      getAutoThreshold in class ij.process.ImageProcessor
    • getBackgroundValue

      public double getBackgroundValue()
      Specified by:
      getBackgroundValue in class ij.process.ImageProcessor
    • getForegroundValue

      public double getForegroundValue()
      Specified by:
      getForegroundValue in class ij.process.ImageProcessor
    • getAutoThreshold

      public int getAutoThreshold(int[] histogram)
      Overrides:
      getAutoThreshold in class ij.process.ImageProcessor
    • getBestIndex

      public int getBestIndex(Color c)
      Overrides:
      getBestIndex in class ij.process.ImageProcessor
    • getBufferedImage

      public BufferedImage getBufferedImage()
      Overrides:
      getBufferedImage in class ij.process.ImageProcessor
    • getCalibrationTable

      public float[] getCalibrationTable()
      Overrides:
      getCalibrationTable in class ij.process.ImageProcessor
    • getColorModel

      public ColorModel getColorModel()
      Overrides:
      getColorModel in class ij.process.ImageProcessor
    • getColumn

      public void getColumn(int x, int y, int[] data, int length)
      Overrides:
      getColumn in class ij.process.ImageProcessor
    • getCurrentColorModel

      public ColorModel getCurrentColorModel()
      Overrides:
      getCurrentColorModel in class ij.process.ImageProcessor
    • getDefaultColorModel

      public IndexColorModel getDefaultColorModel()
      Overrides:
      getDefaultColorModel in class ij.process.ImageProcessor
    • getf

      public float getf(int index)
      Specified by:
      getf in class ij.process.ImageProcessor
    • getf

      public float getf(int x, int y)
      Specified by:
      getf in class ij.process.ImageProcessor
    • getFloatArray

      public float[][] getFloatArray()
      Overrides:
      getFloatArray in class ij.process.ImageProcessor
    • getFontMetrics

      public FontMetrics getFontMetrics()
      Overrides:
      getFontMetrics in class ij.process.ImageProcessor
    • getHeight

      public int getHeight()
      Overrides:
      getHeight in class ij.process.ImageProcessor
    • getHistogram

      public int[] getHistogram()
      Specified by:
      getHistogram in class ij.process.ImageProcessor
    • getHistogramMax

      public double getHistogramMax()
      Overrides:
      getHistogramMax in class ij.process.ImageProcessor
    • getHistogramMin

      public double getHistogramMin()
      Overrides:
      getHistogramMin in class ij.process.ImageProcessor
    • getHistogramSize

      public int getHistogramSize()
      Overrides:
      getHistogramSize in class ij.process.ImageProcessor
    • getIntArray

      public int[][] getIntArray()
      Overrides:
      getIntArray in class ij.process.ImageProcessor
    • getInterpolate

      public boolean getInterpolate()
      Overrides:
      getInterpolate in class ij.process.ImageProcessor
    • getInterpolatedPixel

      public double getInterpolatedPixel(double x, double y)
      Specified by:
      getInterpolatedPixel in class ij.process.ImageProcessor
    • getLine

      public double[] getLine(double x1, double y1, double x2, double y2)
      Overrides:
      getLine in class ij.process.ImageProcessor
    • getLutUpdateMode

      public int getLutUpdateMode()
      Overrides:
      getLutUpdateMode in class ij.process.ImageProcessor
    • getMask

      public ij.process.ImageProcessor getMask()
      Overrides:
      getMask in class ij.process.ImageProcessor
    • getMaskArray

      public byte[] getMaskArray()
      Overrides:
      getMaskArray in class ij.process.ImageProcessor
    • getMax

      public double getMax()
      Specified by:
      getMax in class ij.process.ImageProcessor
    • getMaxThreshold

      public double getMaxThreshold()
      Overrides:
      getMaxThreshold in class ij.process.ImageProcessor
    • getMin

      public double getMin()
      Specified by:
      getMin in class ij.process.ImageProcessor
    • getMinThreshold

      public double getMinThreshold()
      Overrides:
      getMinThreshold in class ij.process.ImageProcessor
    • getNChannels

      public int getNChannels()
      Overrides:
      getNChannels in class ij.process.ImageProcessor
    • getPixel

      public int getPixel(int x, int y)
      Specified by:
      getPixel in class ij.process.ImageProcessor
    • getPixel

      public int[] getPixel(int x, int y, int[] iArray)
      Overrides:
      getPixel in class ij.process.ImageProcessor
    • getPixelInterpolated

      public int getPixelInterpolated(double x, double y)
      Specified by:
      getPixelInterpolated in class ij.process.ImageProcessor
    • getPixelCount

      public int getPixelCount()
      Overrides:
      getPixelCount in class ij.process.ImageProcessor
    • getPixels

      public Object getPixels()
      Specified by:
      getPixels in class ij.process.ImageProcessor
    • getPixelsCopy

      public Object getPixelsCopy()
      Specified by:
      getPixelsCopy in class ij.process.ImageProcessor
    • getPixelValue

      public float getPixelValue(int x, int y)
      Specified by:
      getPixelValue in class ij.process.ImageProcessor
    • getRoi

      public Rectangle getRoi()
      Overrides:
      getRoi in class ij.process.ImageProcessor
    • getRow

      public void getRow(int x, int y, int[] data, int length)
      Overrides:
      getRow in class ij.process.ImageProcessor
    • getSnapshotPixels

      public Object getSnapshotPixels()
      Specified by:
      getSnapshotPixels in class ij.process.ImageProcessor
    • getStringWidth

      public int getStringWidth(String s)
      Overrides:
      getStringWidth in class ij.process.ImageProcessor
    • getWidth

      public int getWidth()
      Overrides:
      getWidth in class ij.process.ImageProcessor
    • insert

      public void insert(ij.process.ImageProcessor ip, int xloc, int yloc)
      Overrides:
      insert in class ij.process.ImageProcessor
    • invert

      public void invert()
      Overrides:
      invert in class ij.process.ImageProcessor
    • invertLut

      public void invertLut()
      Overrides:
      invertLut in class ij.process.ImageProcessor
    • isColorLut

      public boolean isColorLut()
      Overrides:
      isColorLut in class ij.process.ImageProcessor
    • isInvertedLut

      public boolean isInvertedLut()
      Overrides:
      isInvertedLut in class ij.process.ImageProcessor
    • isPseudoColorLut

      public boolean isPseudoColorLut()
      Overrides:
      isPseudoColorLut in class ij.process.ImageProcessor
    • lineTo

      public void lineTo(int x2, int y2)
      Overrides:
      lineTo in class ij.process.ImageProcessor
    • log

      public void log()
      Overrides:
      log in class ij.process.ImageProcessor
    • max

      public void max(double value)
      Overrides:
      max in class ij.process.ImageProcessor
    • maxValue

      public double maxValue()
      Overrides:
      maxValue in class ij.process.ImageProcessor
    • medianFilter

      public void medianFilter()
      Specified by:
      medianFilter in class ij.process.ImageProcessor
    • min

      public void min(double value)
      Overrides:
      min in class ij.process.ImageProcessor
    • minValue

      public double minValue()
      Overrides:
      minValue in class ij.process.ImageProcessor
    • moveTo

      public void moveTo(int x, int y)
      Overrides:
      moveTo in class ij.process.ImageProcessor
    • multiply

      public void multiply(double value)
      Overrides:
      multiply in class ij.process.ImageProcessor
    • noise

      public void noise(double range)
      Specified by:
      noise in class ij.process.ImageProcessor
    • or

      public void or(int value)
      Overrides:
      or in class ij.process.ImageProcessor
    • putColumn

      public void putColumn(int x, int y, int[] data, int length)
      Overrides:
      putColumn in class ij.process.ImageProcessor
    • putPixel

      public void putPixel(int x, int y, int value)
      Specified by:
      putPixel in class ij.process.ImageProcessor
    • putPixel

      public void putPixel(int x, int y, int[] iArray)
      Overrides:
      putPixel in class ij.process.ImageProcessor
    • putPixelValue

      public void putPixelValue(int x, int y, double value)
      Specified by:
      putPixelValue in class ij.process.ImageProcessor
    • putRow

      public void putRow(int x, int y, int[] data, int length)
      Overrides:
      putRow in class ij.process.ImageProcessor
    • reset

      public void reset()
      Specified by:
      reset in class ij.process.ImageProcessor
    • reset

      public void reset(ij.process.ImageProcessor mask)
      Specified by:
      reset in class ij.process.ImageProcessor
    • resetBinaryThreshold

      public void resetBinaryThreshold()
      Overrides:
      resetBinaryThreshold in class ij.process.ImageProcessor
    • resetMinAndMax

      public void resetMinAndMax()
      Overrides:
      resetMinAndMax in class ij.process.ImageProcessor
    • resetRoi

      public void resetRoi()
      Overrides:
      resetRoi in class ij.process.ImageProcessor
    • resetThreshold

      public void resetThreshold()
      Overrides:
      resetThreshold in class ij.process.ImageProcessor
    • resize

      public ij.process.ImageProcessor resize(int dstWidth)
      Overrides:
      resize in class ij.process.ImageProcessor
    • resize

      public ij.process.ImageProcessor resize(int dstWidth, int dstHeight)
      Specified by:
      resize in class ij.process.ImageProcessor
    • rotate

      public void rotate(double angle)
      Specified by:
      rotate in class ij.process.ImageProcessor
    • rotateLeft

      public ij.process.ImageProcessor rotateLeft()
      Overrides:
      rotateLeft in class ij.process.ImageProcessor
    • rotateRight

      public ij.process.ImageProcessor rotateRight()
      Overrides:
      rotateRight in class ij.process.ImageProcessor
    • scale

      public void scale(double xScale, double yScale)
      Specified by:
      scale in class ij.process.ImageProcessor
    • set

      public void set(int index, int value)
      Specified by:
      set in class ij.process.ImageProcessor
    • set

      public void set(int x, int y, int value)
      Specified by:
      set in class ij.process.ImageProcessor
    • setAntialiasedText

      public void setAntialiasedText(boolean antialiased)
      Overrides:
      setAntialiasedText in class ij.process.ImageProcessor
    • setAutoThreshold

      public void setAutoThreshold(int method, int lutUpdate)
      Overrides:
      setAutoThreshold in class ij.process.ImageProcessor
    • setBackgroundValue

      public void setBackgroundValue(double value)
      Specified by:
      setBackgroundValue in class ij.process.ImageProcessor
    • setCalibrationTable

      public void setCalibrationTable(float[] ctable)
      Overrides:
      setCalibrationTable in class ij.process.ImageProcessor
    • setClipRect

      public void setClipRect(Rectangle clipRect)
      Overrides:
      setClipRect in class ij.process.ImageProcessor
    • setColor

      public void setColor(Color color)
      Specified by:
      setColor in class ij.process.ImageProcessor
    • setColor

      public void setColor(int value)
      Overrides:
      setColor in class ij.process.ImageProcessor
    • setColorModel

      public void setColorModel(ColorModel cm)
      Overrides:
      setColorModel in class ij.process.ImageProcessor
    • setf

      public void setf(int index, float value)
      Specified by:
      setf in class ij.process.ImageProcessor
    • setf

      public void setf(int x, int y, float value)
      Specified by:
      setf in class ij.process.ImageProcessor
    • setFloatArray

      public void setFloatArray(float[][] a)
      Overrides:
      setFloatArray in class ij.process.ImageProcessor
    • setFont

      public void setFont(Font font)
      Overrides:
      setFont in class ij.process.ImageProcessor
    • setHistogramRange

      public void setHistogramRange(double histMin, double histMax)
      Overrides:
      setHistogramRange in class ij.process.ImageProcessor
    • setHistogramSize

      public void setHistogramSize(int size)
      Overrides:
      setHistogramSize in class ij.process.ImageProcessor
    • setIntArray

      public void setIntArray(int[][] a)
      Overrides:
      setIntArray in class ij.process.ImageProcessor
    • setInterpolate

      public void setInterpolate(boolean interpolate)
      Overrides:
      setInterpolate in class ij.process.ImageProcessor
    • setJustification

      public void setJustification(int justification)
      Overrides:
      setJustification in class ij.process.ImageProcessor
    • setLineWidth

      public void setLineWidth(int width)
      Overrides:
      setLineWidth in class ij.process.ImageProcessor
    • setLutAnimation

      public void setLutAnimation(boolean lutAnimation)
      Overrides:
      setLutAnimation in class ij.process.ImageProcessor
    • setMask

      public void setMask(ij.process.ImageProcessor mask)
      Overrides:
      setMask in class ij.process.ImageProcessor
    • setMinAndMax

      public void setMinAndMax(double min, double max)
      Specified by:
      setMinAndMax in class ij.process.ImageProcessor
    • setPixels

      public void setPixels(int channelNumber, ij.process.FloatProcessor fp)
      Specified by:
      setPixels in class ij.process.ImageProcessor
    • setPixels

      public void setPixels(Object pixels)
      Specified by:
      setPixels in class ij.process.ImageProcessor
    • setProgressBar

      public void setProgressBar(ij.gui.ProgressBar pb)
      Overrides:
      setProgressBar in class ij.process.ImageProcessor
    • setRoi

      public void setRoi(int x, int y, int rwidth, int rheight)
      Overrides:
      setRoi in class ij.process.ImageProcessor
    • setRoi

      public void setRoi(Polygon roi)
      Overrides:
      setRoi in class ij.process.ImageProcessor
    • setRoi

      public void setRoi(Rectangle roi)
      Overrides:
      setRoi in class ij.process.ImageProcessor
    • setRoi

      public void setRoi(ij.gui.Roi roi)
      Overrides:
      setRoi in class ij.process.ImageProcessor
    • setSnapshotCopyMode

      public void setSnapshotCopyMode(boolean b)
      Overrides:
      setSnapshotCopyMode in class ij.process.ImageProcessor
    • setSnapshotPixels

      public void setSnapshotPixels(Object pixels)
      Specified by:
      setSnapshotPixels in class ij.process.ImageProcessor
    • setThreshold

      public void setThreshold(double minThreshold, double maxThreshold, int lutUpdate)
      Overrides:
      setThreshold in class ij.process.ImageProcessor
    • setValue

      public void setValue(double value)
      Specified by:
      setValue in class ij.process.ImageProcessor
    • sharpen

      public void sharpen()
      Overrides:
      sharpen in class ij.process.ImageProcessor
    • smooth

      public void smooth()
      Overrides:
      smooth in class ij.process.ImageProcessor
    • snapshot

      public void snapshot()
      Specified by:
      snapshot in class ij.process.ImageProcessor
    • sqr

      public void sqr()
      Overrides:
      sqr in class ij.process.ImageProcessor
    • sqrt

      public void sqrt()
      Overrides:
      sqrt in class ij.process.ImageProcessor
    • swapPixelArrays

      public void swapPixelArrays()
      Specified by:
      swapPixelArrays in class ij.process.ImageProcessor
    • threshold

      public void threshold(int level)
      Specified by:
      threshold in class ij.process.ImageProcessor
    • toFloat

      public ij.process.FloatProcessor toFloat(int channelNumber, ij.process.FloatProcessor fp)
      Specified by:
      toFloat in class ij.process.ImageProcessor
    • toString

      public String toString()
      Overrides:
      toString in class ij.process.ImageProcessor
    • translate

      public void translate(int xOffset, int yOffset)
    • updateComposite

      public void updateComposite(int[] rgbPixels, int channel)
      Overrides:
      updateComposite in class ij.process.ImageProcessor
    • xor

      public void xor(int value)
      Overrides:
      xor in class ij.process.ImageProcessor
    • record

      private void record(String method)
    • record

      private void record(String method, Object v, Class<?> c)
    • record

      private void record(String method, Object[] v, Class<?>[] c)