Module ij
Package ij

Class ImagePlus

java.lang.Object
ij.ImagePlus
All Implemented Interfaces:
Measurements, java.awt.image.ImageObserver, java.lang.Cloneable
Direct Known Subclasses:
BMP_Reader, CompositeImage, DICOM, FITS_Reader, GIF_Reader, HistogramPlot, LutLoader, PGM_Reader

public class ImagePlus
extends java.lang.Object
implements java.awt.image.ImageObserver, Measurements, java.lang.Cloneable
An ImagePlus contain an ImageProcessor (2D image) or an ImageStack (3D, 4D or 5D image). It also includes metadata (spatial calibration and possibly the directory/file where it was read from). The ImageProcessor contains the pixel data (8-bit, 16-bit, float or RGB) of the 2D image and some basic methods to manipulate it. An ImageStack is essentually a list ImageProcessors of same type and size.
See Also:
ImageProcessor, ImageStack, ImageWindow, ImageCanvas
  • Field Summary

    Fields 
    Modifier and Type Field Description
    boolean changes
    True if any changes have been made to this image.
    protected static int CLOSED  
    static int COLOR_256
    8-bit indexed color
    static int COLOR_RGB
    32-bit RGB color
    protected boolean compositeImage  
    protected int currentSlice  
    protected boolean dimensionsSet  
    static java.lang.String flattenTitle
    Title of image used by Flatten command
    static int GRAY16
    16-bit grayscale (unsigned)
    static int GRAY32
    32-bit floating-point grayscale
    static int GRAY8
    8-bit grayscale (unsigned)
    protected int height  
    protected java.awt.Image img  
    protected ImageProcessor ip  
    protected boolean locked  
    protected int nChannels  
    protected int nFrames  
    protected int nSlices  
    protected static int OPENED  
    protected Roi roi  
    protected static int SAVED  
    boolean setIJMenuBar  
    protected static int UPDATED  
    protected int width  
    protected ImageWindow win  

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
  • Constructor Summary

    Constructors 
    Constructor Description
    ImagePlus()
    Constructs an uninitialized ImagePlus.
    ImagePlus​(java.lang.String pathOrURL)
    Constructs an ImagePlus from a TIFF, BMP, DICOM, FITS, PGM, GIF or JPRG specified by a path or from a TIFF, DICOM, GIF or JPEG specified by a URL.
    ImagePlus​(java.lang.String title, ImageStack stack)
    Constructs an ImagePlus from a stack.
    ImagePlus​(java.lang.String title, ImageProcessor ip)
    Constructs an ImagePlus from an ImageProcessor.
    ImagePlus​(java.lang.String title, java.awt.Image image)
    Constructs an ImagePlus from an Image or BufferedImage.
  • Method Summary

    Modifier and Type Method Description
    static void addImageListener​(ImageListener listener)  
    java.lang.Object clone()
    Returns a shallow copy of this ImagePlus.
    void close()
    Closes this image and sets the ImageProcessor to null.
    int[] convertIndexToPosition​(int n)
    Converts the stack index 'n' (one-based) into a hyperstack position (channel, slice, frame).
    void copy()
    Copies the contents of the current selection, or the entire image if there is no selection, to the internal clipboard.
    void copy​(boolean cut)
    Copies the contents of the current selection to the internal clipboard.
    void copyAttributes​(ImagePlus imp)
    Used internally.
    void copyScale​(ImagePlus imp)
    Copies the calibration of the specified image to this image.
    void copyToSystem()
    Copies the contents of the current selection, or the entire image if there is no selection, to the system clipboard.
    ImageStack createEmptyStack()
    Returns an empty image stack that has the same width, height and color table as this image.
    ImagePlus createHyperStack​(java.lang.String title, int channels, int slices, int frames, int bitDepth)
    This method has been replaced by IJ.createHyperStack().
    ImagePlus createImagePlus()
    Returns a new ImagePlus with this image's attributes (e.g.
    LookUpTable createLut()
    Creates a LookUpTable object that corresponds to this image.
    void createNewRoi​(int sx, int sy)
    Starts the process of creating a new selection, where sx and sy are the starting screen coordinates.
    ByteProcessor createRoiMask()
    Returns an 8-bit binary (foreground=255, background=0) ROI or overlay mask that has the same dimensions as this image.
    ByteProcessor createThresholdMask()
    Returns an 8-bit binary threshold mask (foreground=255, background=0) that has the same dimensions as this image.
    ImagePlus crop()
    Returns a copy this image or stack slice, cropped if there is an ROI.
    ImagePlus[] crop​(Roi[] rois)
    Multi-roi cropping with default "slice" option.
    ImagePlus[] crop​(Roi[] rois, java.lang.String options)
    Returns an array of cropped images based on the provided list of rois.
    ImagePlus crop​(java.lang.String options)
    Returns a cropped copy this image or stack, where 'options' can be "stack", "slice", "whole-slice" or a range (e.g., "20-30").
    void cropAndSave​(Roi[] rois, java.lang.String directory, java.lang.String format)
    Saves the contents of the ROIs in this overlay as separate images, where 'directory' is the directory path and 'format' is "tif", "png" or "jpg".
    void cut()
    Copies the contents of the current selection to the internal clipboard and then clears the selection.
    void deleteRoi()
    Deletes the current region of interest.
    void draw()
    Draws the image.
    void draw​(int x, int y, int width, int height)
    Draws image and roi outline using a clip rect.
    ImagePlus duplicate()
    Returns a copy of this image or stack.
    ImagePlus flatten()
    Returns a "flattened" version of this image, or stack slice, in RGB format.
    void flattenStack()
    Flattens all slices of this stack or HyperStack.
    void flush()
    Sets the ImageProcessor, Roi, AWT Image and stack image arrays to null.
    ImageStatistics getAllStatistics()
    This method returns complete calibrated statistics for this image or ROI (with "Limit to threshold"), but it is up to 70 times slower than getStatistics().
    int getBitDepth()
    Returns the bit depth, 8, 16, 24 (RGB) or 32, or 0 if the bit depth is unknown.
    java.awt.image.BufferedImage getBufferedImage()
    Returns a copy of this image as an 8-bit or RGB BufferedImage.
    int getBytesPerPixel()
    Returns the number of bytes per pixel.
    int getC()
    Returns the current hyperstack channel position.
    Calibration getCalibration()
    Returns this image's calibration.
    ImageCanvas getCanvas()
    Returns the ImageCanvas being used to display this image, or null.
    int getChannel()  
    ImageProcessor getChannelProcessor()
    Returns a reference to the current ImageProcessor.
    static ImagePlus getClipboard()
    Returns the internal clipboard or null if the internal clipboard is empty.
    int getCompositeMode()
    Returns the display mode (IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE) if this is a CompositeImage, otherwise returns -1.
    int getCurrentSlice()
    Returns the current stack index (one-based) or 1 if this is a single image.
    static int getDefault16bitRange()
    Returns the default 16-bit display range, 0 (auto-scaling), 8, 10, 12, 14, 15 or 16.
    int[] getDimensions()
    Returns the dimensions of this image (width, height, nChannels, nSlices, nFrames) as a 5 element int array.
    int[] getDimensions​(boolean varify)  
    int getDisplayMode()
    Returns the display mode (IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE) if this is a composite color image, or 0 if it not.
    double getDisplayRangeMax()  
    double getDisplayRangeMin()  
    FileInfo getFileInfo()
    Returns a FileInfo object containing information, including the pixel array, needed to save this image.
    int getFrame()  
    Calibration getGlobalCalibration()
    Returns the system-wide calibration, or null.
    int getHeight()
    Returns the height of this image in pixels.
    boolean getHideOverlay()  
    int getID()
    Returns this image's unique numeric ID.
    java.awt.Image getImage()
    Returns this image as a AWT image.
    java.util.Properties getImageProperties()  
    ImageStack getImageStack()
    Returns the base image stack.
    int getImageStackSize()
    If this is a stack, returns the actual number of images in the stack, else returns 1.
    java.lang.String getInfoProperty()
    Returns the "Info" property string, or null if it is not found.
    static java.util.Vector getListeners()  
    Calibration getLocalCalibration()
    Returns this image's local calibration, ignoring the "Global" calibration flag.
    java.lang.String getLocationAsString​(int x, int y)
    Converts the current cursor location to a string.
    LUT[] getLuts()
    Returns an array containing the lookup tables used by this image, one per channel, or an empty array if this is an RGB image.
    ImageProcessor getMask()
    For images with irregular ROIs, returns a byte mask, otherwise, returns null.
    int getNChannels()
    Returns the number of channels.
    int getNDimensions()
    Returns the number of dimensions (2, 3, 4 or 5).
    int getNFrames()
    Returns the number of frames (time-points).
    int getNSlices()
    Returns the image depth (number of z-slices).
    double getNumericProp​(java.lang.String key)
    Returns the numeric property associated with the specified key or NaN if the property is not found.
    double getNumericProperty​(java.lang.String key)
    Returns the numeric value from the "Info" property string associated with 'key', or NaN if the key is not found or the value associated with the key is not numeric.
    boolean getOpenAsHyperStack()  
    FileInfo getOriginalFileInfo()
    Returns the FileInfo object that was used to open this image.
    Overlay getOverlay()
    Returns the current overly, or null if this image does not have an overlay.
    int[] getPixel​(int x, int y)
    Returns the pixel value at (x,y) as a 4 element array.
    Plot getPlot()  
    ImageProcessor getProcessor()
    Returns a reference to the current ImageProcessor.
    java.lang.String getProp​(java.lang.String key)
    Returns as a string the image property associated with the specified key or null if the property is not found.
    java.util.Properties getProperties()
    Returns this image's Properties.
    java.lang.String[] getPropertiesAsArray()
    Used for saving string properties in TIFF header.
    java.lang.Object getProperty​(java.lang.String key)
    Returns the property associated with 'key', or null if it is not found.
    java.lang.String getPropsInfo()
    Returns information displayed by Image/Show Info command.
    ImageStatistics getRawStatistics()  
    Roi getRoi()
    Returns the current selection, or null if there is no selection.
    java.lang.String getShortTitle()
    If the image title is a file name, returns the name without the extension and with spaces removed, otherwise returns the title shortened to the first space.
    double getSizeInBytes()
    Returns the size of this image in bytes.
    int getSlice()  
    ImageStack getStack()
    Returns the image stack.
    int getStackIndex​(int channel, int slice, int frame)
    Returns that stack index (one-based) corresponding to the specified position.
    int getStackSize()
    If this is a stack, returns the number of slices, else returns 1.
    long getStartTime()
    Returns the time in milliseconds when startTiming() was last called.
    static Calibration getStaticGlobalCalibration()
    This is a version of getGlobalCalibration() that can be called from a static context.
    ImageStatistics getStatistics()
    Get calibrated statistics for this image or ROI, including histogram, area, mean, min and max, standard deviation and mode.
    ImageStatistics getStatistics​(int mOptions)
    Returns an ImageStatistics object generated using the specified measurement options.
    ImageStatistics getStatistics​(int mOptions, int nBins)
    Returns an ImageStatistics object generated using the specified measurement options and histogram bin count.
    ImageStatistics getStatistics​(int mOptions, int nBins, double histMin, double histMax)
    Returns an ImageStatistics object generated using the specified measurement options, histogram bin count and histogram range.
    java.lang.String getStringProperty​(java.lang.String key)
    Returns the string value from the "Info" property string associated with 'key', or null if the key is not found.
    int getT()
    Returns the current hyperstack frame position.
    java.lang.String getTitle()
    Returns the image name.
    int getType()
    Returns the current image type (ImagePlus.GRAY8, ImagePlus.GRAY16, ImagePlus.GRAY32, ImagePlus.COLOR_256 or ImagePlus.COLOR_RGB).
    int getWidth()
    Returns the width of this image in pixels.
    ImageWindow getWindow()
    Returns the ImageWindow that is being used to display this image.
    int getZ()
    Returns the current hyperstack slice position.
    void hide()
    Closes the window, if any, that is displaying this image.
    boolean imageUpdate​(java.awt.Image img, int flags, int x, int y, int w, int h)
    Used by ImagePlus to monitor loading of images.
    boolean isComposite()
    Returns true if this is a CompositeImage.
    boolean isDisplayedHyperStack()
    Returns 'true' if this is a hyperstack currently being displayed in a StackWindow.
    boolean isHyperStack()
    Returns 'true' if this image is a hyperstack.
    boolean isInvertedLut()
    Returns true is this image uses an inverting LUT that displays zero as white and 255 as black.
    boolean isLocked()
    Returns 'true' if the image is locked.
    boolean isLockedByAnotherThread()
    Returns 'true' if the image was locked on another thread.
    boolean isProcessor()  
    boolean isRGB()  
    boolean isStack()  
    boolean isThreshold()
    Returns 'true' if this image is thresholded.
    boolean isVisible()
    Returns true if this image is currently being displayed in a window.
    void killRoi()
    Deletes the current region of interest.
    void killStack()  
    boolean lock()
    Locks the image so other threads can test to see if it is in use.
    boolean lockSilently()
    Similar to lock, but doesn't beep and display an error message if the attempt to lock the image fails.
    static void logImageListeners()
    For debug purposes, writes all registered (and possibly, forgotten) ImageListeners to the log window
    void mouseMoved​(int x, int y)
    Displays the cursor coordinates and pixel value in the status bar.
    protected void notifyListeners​(int id)  
    boolean okToDeleteRoi()  
    void paste()
    Inserts the contents of the internal clipboard into this image.
    void paste​(int x, int y)
    Inserts the contents of the internal clipboard at the specified location, without updating the display.
    void paste​(int x, int y, java.lang.String mode)
    Copies the contents of the internal clipboard to the specified location using the specified transfer mode ("Copy", "Blend", "Average", "Difference", "Transparent", "Transparent2", "AND", "OR", "XOR", "Add", "Subtract", "Multiply", or "Divide").
    PlotWindow plotHistogram()
    Plots a 256 bin histogram of this image and returns the PlotWindow.
    PlotWindow plotHistogram​(int bins)
    Plots a histogram of this image using the specified number of bins and returns the PlotWindow.
    static void removeImageListener​(ImageListener listener)  
    void repaintWindow()
    Calls draw to draw the image and also repaints the image window to force the information displayed above the image (dimension, type, size) to be updated.
    static void resetClipboard()
    Clears the internal clipboard.
    void resetDisplayRange()  
    void resetRoi()
    Deletes the current region of interest.
    void resetStack()  
    ImagePlus resize​(int dstWidth, int dstHeight, int dstDepth, java.lang.String options)
    Returns a scaled copy of this image or ROI, where the 'options' string can contain 'none', 'bilinear'.
    ImagePlus resize​(int dstWidth, int dstHeight, java.lang.String options)
    Returns a scaled copy of this image or ROI, where the 'options' string can contain 'none', 'bilinear'.
    void restoreRoi()  
    void revert()
    Implements the File/Revert command.
    void saveRoi()  
    void setActivated()
    Called by ImageWindow.windowActivated().
    void setActiveChannels​(java.lang.String channels)
    Controls which channels in a composite color image are displayed, where 'channels' is a list of ones and zeros that specify the channels to display.
    void setAntialiasRendering​(boolean antialiasRendering)
    Enable/disable use of antialiasing by the flatten() method.
    void setBorderColor​(java.awt.Color borderColor)  
    void setC​(int channel)
    Sets the hyperstack channel position (one based).
    void setCalibration​(Calibration cal)
    Sets this image's calibration.
    void setColor​(java.awt.Color c)
    Sets current foreground color.
    static void setDefault16bitRange​(int bitDepth)
    Set the default 16-bit display range, where 'bitDepth' must be 0 (auto-scaling), 8 (0-255), 10 (0-1023), 12 (0-4095, 14 (0-16383), 15 (0-32767) or 16 (0-65535).
    void setDimensions​(int nChannels, int nSlices, int nFrames)
    Sets the 3rd, 4th and 5th dimensions, where nChannels*nSlices*nFrames must be equal to the stack size.
    void setDisplayMode​(int mode)
    Sets the display mode of composite color images, where 'mode' should be IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE.
    void setDisplayRange​(double min, double max)
    Sets the display range of the current channel.
    void setDisplayRange​(double min, double max, int channels)
    Sets the display range of specified channels in an RGB image, where 4=red, 2=green, 1=blue, 6=red+green, etc.
    void setFileInfo​(FileInfo fi)
    Saves this image's FileInfo so it can be later retieved using getOriginalFileInfo().
    void setGlobalCalibration​(Calibration global)
    Sets the system-wide calibration.
    void setHideOverlay​(boolean hide)  
    void setIgnoreFlush​(boolean ignoreFlush)  
    void setIgnoreGlobalCalibration​(boolean ignoreGlobalCalibration)  
    boolean setIJMenuBar()  
    void setIJMenuBar​(boolean b)  
    void setImage​(ImagePlus imp)
    Replaces this image with the specified ImagePlus.
    void setImage​(java.awt.Image image)
    Replaces the image, if any, with the one specified.
    void setLut​(LUT lut)
    Assigns a LUT (lookup table) to this image.
    void setOpenAsHyperStack​(boolean openAsHyperStack)  
    void setOverlay​(Overlay overlay)
    Installs a list of ROIs that will be drawn on this image as a non-destructive overlay.
    void setOverlay​(Roi roi, java.awt.Color strokeColor, int strokeWidth, java.awt.Color fillColor)
    Creates an Overlay from the specified ROI, and assigns it to this image.
    void setOverlay​(java.awt.Shape shape, java.awt.Color color, java.awt.BasicStroke stroke)
    Creates an Overlay from the specified Shape, Color and BasicStroke, and assigns it to this image.
    void setPlot​(Plot plot)  
    void setPosition​(int n)
    Set the current hyperstack position based on the stack index 'n' (one-based).
    void setPosition​(int channel, int slice, int frame)
    Sets the current hyperstack position and updates the display, where 'channel', 'slice' and 'frame' are one-based indexes.
    void setPositionWithoutUpdate​(int channel, int slice, int frame)
    Sets the current hyperstack position without updating the display, where 'channel', 'slice' and 'frame' are one-based indexes.
    void setProcessor​(ImageProcessor ip)
    Replaces the ImageProcessor with the one specified and updates the display.
    void setProcessor​(java.lang.String title, ImageProcessor ip)
    Replaces the ImageProcessor with the one specified and updates the display.
    void setProp​(java.lang.String key, double value)
    Saves a persistent numeric propery.
    void setProp​(java.lang.String key, java.lang.String value)
    Adds a key-value pair to this image's string properties.
    void setProperties​(java.lang.String[] props)
    Creates a set of image properties from an array of strings.
    void setProperty​(java.lang.String key, java.lang.Object value)
    Adds a key-value pair to this image's properties.
    void setRoi​(int x, int y, int width, int height)
    Creates a rectangular selection.
    void setRoi​(Roi newRoi)
    Assigns the specified ROI to this image and displays it.
    void setRoi​(Roi newRoi, boolean updateDisplay)
    Assigns 'newRoi' to this image and displays it if 'updateDisplay' is true.
    void setRoi​(java.awt.Rectangle r)
    Creates a rectangular selection.
    void setSlice​(int n)
    Displays the specified stack image, where 1
    void setSliceWithoutUpdate​(int n)
    Displays the specified stack image (1
    void setStack​(ImageStack stack)
    Replaces the image with the specified stack and updates the display.
    void setStack​(ImageStack newStack, int channels, int slices, int frames)  
    void setStack​(java.lang.String title, ImageStack newStack)
    Replaces the image with the specified stack and updates the display.
    void setT​(int frame)
    Sets the hyperstack frame position (one based).
    void setTitle​(java.lang.String title)
    Sets the image name.
    protected void setType​(int type)  
    void setTypeToColor256()  
    void setWindow​(ImageWindow win)
    This method should only be called from an ImageWindow.
    void setZ​(int slice)
    Sets the hyperstack slice position (one based).
    void show()
    Opens a window to display this image and clears the status bar.
    void show​(java.lang.String statusMessage)
    Opens a window to display this image and displays 'statusMessage' in the status bar.
    void startTiming()
    Calls System.currentTimeMillis() to save the current time so it can be retrieved later using getStartTime() to calculate the elapsed time of an operation.
    boolean tempOverlay()  
    java.lang.String toString()  
    void trimProcessor()
    Frees RAM by setting the snapshot (undo) buffer in the current ImageProcessor to null.
    void unlock()
    Unlocks the image.
    void updateAndDraw()
    Updates this image from the pixel data in its associated ImageProcessor, then displays it.
    void updateAndRepaintWindow()
    Calls updateAndDraw to update from the pixel data and draw the image, and also repaints the image window to force the information displayed above the image (dimension, type, size) to be updated.
    void updateChannelAndDraw()
    Updates this image from the pixel data in its associated ImageProcessor, then displays it.
    void updateImage()
    ImageCanvas.paint() calls this method when the ImageProcessor has generated a new image.
    void updatePosition​(int c, int z, int t)  
    void updateStatusbarValue()
    Redisplays the (x,y) coordinates and pixel value (which may have changed) in the status bar.
    void updateVirtualSlice()
    Use to update the image when the underlying virtual stack changes.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • ImagePlus

      public ImagePlus()
      Constructs an uninitialized ImagePlus.
    • ImagePlus

      public ImagePlus​(java.lang.String title, java.awt.Image image)
      Constructs an ImagePlus from an Image or BufferedImage. The first argument will be used as the title of the window that displays the image. Throws an IllegalStateException if an error occurs while loading the image.
    • ImagePlus

      public ImagePlus​(java.lang.String title, ImageProcessor ip)
      Constructs an ImagePlus from an ImageProcessor.
    • ImagePlus

      public ImagePlus​(java.lang.String pathOrURL)
      Constructs an ImagePlus from a TIFF, BMP, DICOM, FITS, PGM, GIF or JPRG specified by a path or from a TIFF, DICOM, GIF or JPEG specified by a URL.
    • ImagePlus

      public ImagePlus​(java.lang.String title, ImageStack stack)
      Constructs an ImagePlus from a stack.
  • Method Details

    • lock

      public boolean lock()
      Locks the image so other threads can test to see if it is in use. One thread can lock an image multiple times, then it has to unlock it as many times until it is unlocked. This allows nested locking within a thread. Returns true if the image was successfully locked. Beeps, displays a message in the status bar, and returns false if the image is already locked by another thread.
    • lockSilently

      public boolean lockSilently()
      Similar to lock, but doesn't beep and display an error message if the attempt to lock the image fails.
    • unlock

      public void unlock()
      Unlocks the image. In case the image had been locked several times by the current thread, it gets unlocked only after as many unlock operations as there were previous lock operations.
    • isLocked

      public boolean isLocked()
      Returns 'true' if the image is locked.
    • isLockedByAnotherThread

      public boolean isLockedByAnotherThread()
      Returns 'true' if the image was locked on another thread.
    • draw

      public void draw()
      Draws the image. If there is an ROI, its outline is also displayed. Does nothing if there is no window associated with this image (i.e. show() has not been called).
    • draw

      public void draw​(int x, int y, int width, int height)
      Draws image and roi outline using a clip rect.
    • updateAndDraw

      public void updateAndDraw()
      Updates this image from the pixel data in its associated ImageProcessor, then displays it. Does nothing if there is no window associated with this image (i.e. show() has not been called).
    • updateVirtualSlice

      public void updateVirtualSlice()
      Use to update the image when the underlying virtual stack changes.
    • setDisplayMode

      public void setDisplayMode​(int mode)
      Sets the display mode of composite color images, where 'mode' should be IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE.
    • getDisplayMode

      public int getDisplayMode()
      Returns the display mode (IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE) if this is a composite color image, or 0 if it not.
    • setActiveChannels

      public void setActiveChannels​(java.lang.String channels)
      Controls which channels in a composite color image are displayed, where 'channels' is a list of ones and zeros that specify the channels to display. For example, "101" causes channels 1 and 3 to be displayed.
    • updateChannelAndDraw

      public void updateChannelAndDraw()
      Updates this image from the pixel data in its associated ImageProcessor, then displays it. The CompositeImage class overrides this method to only update the current channel.
    • getChannelProcessor

      public ImageProcessor getChannelProcessor()
      Returns a reference to the current ImageProcessor. The CompositeImage class overrides this method to return the processor associated with the current channel.
    • getLuts

      public LUT[] getLuts()
      Returns an array containing the lookup tables used by this image, one per channel, or an empty array if this is an RGB image.
      See Also:
      getNChannels(), isComposite(), getCompositeMode()
    • repaintWindow

      public void repaintWindow()
      Calls draw to draw the image and also repaints the image window to force the information displayed above the image (dimension, type, size) to be updated.
    • updateAndRepaintWindow

      public void updateAndRepaintWindow()
      Calls updateAndDraw to update from the pixel data and draw the image, and also repaints the image window to force the information displayed above the image (dimension, type, size) to be updated.
    • updateImage

      public void updateImage()
      ImageCanvas.paint() calls this method when the ImageProcessor has generated a new image.
    • hide

      public void hide()
      Closes the window, if any, that is displaying this image.
    • close

      public void close()
      Closes this image and sets the ImageProcessor to null. To avoid the "Save changes?" dialog, first set the public 'changes' variable to false.
    • show

      public void show()
      Opens a window to display this image and clears the status bar.
    • show

      public void show​(java.lang.String statusMessage)
      Opens a window to display this image and displays 'statusMessage' in the status bar.
    • setActivated

      public void setActivated()
      Called by ImageWindow.windowActivated().
    • getImage

      public java.awt.Image getImage()
      Returns this image as a AWT image.
    • getBufferedImage

      public java.awt.image.BufferedImage getBufferedImage()
      Returns a copy of this image as an 8-bit or RGB BufferedImage.
      See Also:
      ShortProcessor.get16BitBufferedImage()
    • getID

      public int getID()
      Returns this image's unique numeric ID.
    • setImage

      public void setImage​(java.awt.Image image)
      Replaces the image, if any, with the one specified. Throws an IllegalStateException if an error occurs while loading the image.
    • setImage

      public void setImage​(ImagePlus imp)
      Replaces this image with the specified ImagePlus. May not work as expected if 'imp' is a CompositeImage and this image is not.
    • setProcessor

      public void setProcessor​(ImageProcessor ip)
      Replaces the ImageProcessor with the one specified and updates the display. With stacks, the ImageProcessor must be the same type as the other images in the stack and it must be the same width and height.
    • setProcessor

      public void setProcessor​(java.lang.String title, ImageProcessor ip)
      Replaces the ImageProcessor with the one specified and updates the display. With stacks, the ImageProcessor must be the same type as other images in the stack and it must be the same width and height. Set 'title' to null to leave the title unchanged.
    • setStack

      public void setStack​(ImageStack stack)
      Replaces the image with the specified stack and updates the display.
    • setStack

      public void setStack​(java.lang.String title, ImageStack newStack)
      Replaces the image with the specified stack and updates the display. Set 'title' to null to leave the title unchanged.
    • setStack

      public void setStack​(ImageStack newStack, int channels, int slices, int frames)
    • setFileInfo

      public void setFileInfo​(FileInfo fi)
      Saves this image's FileInfo so it can be later retieved using getOriginalFileInfo().
    • getWindow

      public ImageWindow getWindow()
      Returns the ImageWindow that is being used to display this image. Returns null if show() has not be called or the ImageWindow has been closed.
    • isVisible

      public boolean isVisible()
      Returns true if this image is currently being displayed in a window.
    • setWindow

      public void setWindow​(ImageWindow win)
      This method should only be called from an ImageWindow.
    • getCanvas

      public ImageCanvas getCanvas()
      Returns the ImageCanvas being used to display this image, or null.
    • setColor

      public void setColor​(java.awt.Color c)
      Sets current foreground color.
    • isProcessor

      public boolean isProcessor()
    • getProcessor

      public ImageProcessor getProcessor()
      Returns a reference to the current ImageProcessor. If there is no ImageProcessor, it creates one. Returns null if this ImagePlus contains no ImageProcessor and no AWT Image. Sets the line width to the current line width and sets the calibration table if the image is density calibrated.
    • trimProcessor

      public void trimProcessor()
      Frees RAM by setting the snapshot (undo) buffer in the current ImageProcessor to null.
    • getMask

      public ImageProcessor getMask()
      For images with irregular ROIs, returns a byte mask, otherwise, returns null. Mask pixels have a non-zero value.and the dimensions of the mask are equal to the width and height of the ROI.
      See Also:
      createRoiMask(), createThresholdMask()
    • createRoiMask

      public ByteProcessor createRoiMask()
      Returns an 8-bit binary (foreground=255, background=0) ROI or overlay mask that has the same dimensions as this image. Creates an ROI mask If the image has both both an ROI and an overlay. Set the threshold of the mask to 255.
      See Also:
      createThresholdMask(), Roi.getMask()
    • createThresholdMask

      public ByteProcessor createThresholdMask()
      Returns an 8-bit binary threshold mask (foreground=255, background=0) that has the same dimensions as this image. The threshold of the mask is set to 255.
      See Also:
      Thresholder.createMask(ij.ImagePlus), ImageProcessor.createMask()
    • getStatistics

      public ImageStatistics getStatistics()
      Get calibrated statistics for this image or ROI, including histogram, area, mean, min and max, standard deviation and mode. This code demonstrates how to get the area, mean max and median of the current image or selection:
               imp = IJ.getImage();
               stats = imp.getStatistics();
               IJ.log("Area: "+stats.area);
               IJ.log("Mean: "+stats.mean);
               IJ.log("Max: "+stats.max);
                      
      Returns:
      an ImageStatistics object
      See Also:
      getAllStatistics(), getRawStatistics(), ImageProcessor.getStats()
    • getAllStatistics

      public ImageStatistics getAllStatistics()
      This method returns complete calibrated statistics for this image or ROI (with "Limit to threshold"), but it is up to 70 times slower than getStatistics().
      Returns:
      an ImageStatistics object
      See Also:
      getStatistics(), ImageProcessor.getStatistics()
    • getRawStatistics

      public ImageStatistics getRawStatistics()
    • getStatistics

      public ImageStatistics getStatistics​(int mOptions)
      Returns an ImageStatistics object generated using the specified measurement options.
      See Also:
      Measurements
    • getStatistics

      public ImageStatistics getStatistics​(int mOptions, int nBins)
      Returns an ImageStatistics object generated using the specified measurement options and histogram bin count.
    • getStatistics

      public ImageStatistics getStatistics​(int mOptions, int nBins, double histMin, double histMax)
      Returns an ImageStatistics object generated using the specified measurement options, histogram bin count and histogram range.
    • getTitle

      public java.lang.String getTitle()
      Returns the image name.
    • getShortTitle

      public java.lang.String getShortTitle()
      If the image title is a file name, returns the name without the extension and with spaces removed, otherwise returns the title shortened to the first space.
    • setTitle

      public void setTitle​(java.lang.String title)
      Sets the image name.
    • getWidth

      public int getWidth()
      Returns the width of this image in pixels.
    • getHeight

      public int getHeight()
      Returns the height of this image in pixels.
    • getSizeInBytes

      public double getSizeInBytes()
      Returns the size of this image in bytes.
    • getStackSize

      public int getStackSize()
      If this is a stack, returns the number of slices, else returns 1.
    • getImageStackSize

      public int getImageStackSize()
      If this is a stack, returns the actual number of images in the stack, else returns 1.
    • setDimensions

      public void setDimensions​(int nChannels, int nSlices, int nFrames)
      Sets the 3rd, 4th and 5th dimensions, where nChannels*nSlices*nFrames must be equal to the stack size.
    • isHyperStack

      public boolean isHyperStack()
      Returns 'true' if this image is a hyperstack.
    • getNDimensions

      public int getNDimensions()
      Returns the number of dimensions (2, 3, 4 or 5).
    • isDisplayedHyperStack

      public boolean isDisplayedHyperStack()
      Returns 'true' if this is a hyperstack currently being displayed in a StackWindow.
    • getNChannels

      public int getNChannels()
      Returns the number of channels.
    • getNSlices

      public int getNSlices()
      Returns the image depth (number of z-slices).
    • getNFrames

      public int getNFrames()
      Returns the number of frames (time-points).
    • getDimensions

      public int[] getDimensions()
      Returns the dimensions of this image (width, height, nChannels, nSlices, nFrames) as a 5 element int array.
    • getDimensions

      public int[] getDimensions​(boolean varify)
    • getType

      public int getType()
      Returns the current image type (ImagePlus.GRAY8, ImagePlus.GRAY16, ImagePlus.GRAY32, ImagePlus.COLOR_256 or ImagePlus.COLOR_RGB).
      See Also:
      getBitDepth()
    • getBitDepth

      public int getBitDepth()
      Returns the bit depth, 8, 16, 24 (RGB) or 32, or 0 if the bit depth is unknown. RGB images actually use 32 bits per pixel.
    • getBytesPerPixel

      public int getBytesPerPixel()
      Returns the number of bytes per pixel.
    • setType

      protected void setType​(int type)
    • setTypeToColor256

      public void setTypeToColor256()
    • getStringProperty

      public java.lang.String getStringProperty​(java.lang.String key)
      Returns the string value from the "Info" property string associated with 'key', or null if the key is not found. Works with DICOM tags and Bio-Formats metadata.
      See Also:
      getNumericProperty(java.lang.String), getInfoProperty(), getProp(java.lang.String), setProp(java.lang.String, java.lang.String)
    • getNumericProperty

      public double getNumericProperty​(java.lang.String key)
      Returns the numeric value from the "Info" property string associated with 'key', or NaN if the key is not found or the value associated with the key is not numeric. Works with DICOM tags and Bio-Formats metadata.
      See Also:
      getStringProperty(java.lang.String), getInfoProperty()
    • setProp

      public void setProp​(java.lang.String key, java.lang.String value)
      Adds a key-value pair to this image's string properties. The key-value pair is removed if 'value' is null. The properties persist if the image is saved in TIFF format. Add a "HideInfo" property (e.g. set("HideInfo","true")) to prevent the properties from being displayed by the Image/Show Info command.
    • setProp

      public void setProp​(java.lang.String key, double value)
      Saves a persistent numeric propery. The property is removed if 'value' is NaN.
      See Also:
      getNumericProp(java.lang.String)
    • getProp

      public java.lang.String getProp​(java.lang.String key)
      Returns as a string the image property associated with the specified key or null if the property is not found.
      See Also:
      setProp(java.lang.String, java.lang.String), getNumericProp(java.lang.String), getStringProperty(java.lang.String)
    • getNumericProp

      public double getNumericProp​(java.lang.String key)
      Returns the numeric property associated with the specified key or NaN if the property is not found.
      See Also:
      setProp(String,double), getProp(java.lang.String)
    • getPropertiesAsArray

      public java.lang.String[] getPropertiesAsArray()
      Used for saving string properties in TIFF header.
    • getPropsInfo

      public java.lang.String getPropsInfo()
      Returns information displayed by Image/Show Info command.
    • setProperties

      public void setProperties​(java.lang.String[] props)
      Creates a set of image properties from an array of strings.
      See Also:
      getPropertiesAsArray(), getProp(String), setProp(String,String)
    • getInfoProperty

      public java.lang.String getInfoProperty()
      Returns the "Info" property string, or null if it is not found.
      See Also:
      getProp(java.lang.String), setProp(java.lang.String, java.lang.String)
    • getProperty

      public java.lang.Object getProperty​(java.lang.String key)
      Returns the property associated with 'key', or null if it is not found.
      See Also:
      getProp(java.lang.String), setProp(java.lang.String, java.lang.String), getStringProperty(java.lang.String), getNumericProperty(java.lang.String), getInfoProperty()
    • setProperty

      public void setProperty​(java.lang.String key, java.lang.Object value)
      Adds a key-value pair to this image's properties. The key is removed from the properties table if value is null.
      See Also:
      getProp(java.lang.String), setProp(java.lang.String, java.lang.String)
    • getProperties

      public java.util.Properties getProperties()
      Returns this image's Properties. May return null.
    • createLut

      public LookUpTable createLut()
      Creates a LookUpTable object that corresponds to this image.
    • isInvertedLut

      public boolean isInvertedLut()
      Returns true is this image uses an inverting LUT that displays zero as white and 255 as black.
    • getPixel

      public int[] getPixel​(int x, int y)
      Returns the pixel value at (x,y) as a 4 element array. Grayscale values are retuned in the first element. RGB values are returned in the first 3 elements. For indexed color images, the RGB values are returned in the first 3 three elements and the index (0-255) is returned in the last.
    • createEmptyStack

      public ImageStack createEmptyStack()
      Returns an empty image stack that has the same width, height and color table as this image.
    • getStack

      public ImageStack getStack()
      Returns the image stack. The stack may have only one slice. After adding or removing slices, call setStack() to update the image and the window that is displaying it.
      See Also:
      setStack(ij.ImageStack)
    • getImageStack

      public ImageStack getImageStack()
      Returns the base image stack.
    • getCurrentSlice

      public int getCurrentSlice()
      Returns the current stack index (one-based) or 1 if this is a single image.
    • getChannel

      public int getChannel()
    • getSlice

      public int getSlice()
    • getFrame

      public int getFrame()
    • killStack

      public void killStack()
    • setPosition

      public void setPosition​(int channel, int slice, int frame)
      Sets the current hyperstack position and updates the display, where 'channel', 'slice' and 'frame' are one-based indexes.
    • setPositionWithoutUpdate

      public void setPositionWithoutUpdate​(int channel, int slice, int frame)
      Sets the current hyperstack position without updating the display, where 'channel', 'slice' and 'frame' are one-based indexes.
    • setC

      public void setC​(int channel)
      Sets the hyperstack channel position (one based).
    • setZ

      public void setZ​(int slice)
      Sets the hyperstack slice position (one based).
    • setT

      public void setT​(int frame)
      Sets the hyperstack frame position (one based).
    • getC

      public int getC()
      Returns the current hyperstack channel position.
    • getZ

      public int getZ()
      Returns the current hyperstack slice position.
    • getT

      public int getT()
      Returns the current hyperstack frame position.
    • getStackIndex

      public int getStackIndex​(int channel, int slice, int frame)
      Returns that stack index (one-based) corresponding to the specified position.
    • resetStack

      public void resetStack()
    • setPosition

      public void setPosition​(int n)
      Set the current hyperstack position based on the stack index 'n' (one-based).
    • convertIndexToPosition

      public int[] convertIndexToPosition​(int n)
      Converts the stack index 'n' (one-based) into a hyperstack position (channel, slice, frame).
    • setSlice

      public void setSlice​(int n)
      Displays the specified stack image, where 1
      See Also:
      setPosition(int, int, int), setC(int), setZ(int), setT(int)
    • setSliceWithoutUpdate

      public void setSliceWithoutUpdate​(int n)
      Displays the specified stack image (1
    • getRoi

      public Roi getRoi()
      Returns the current selection, or null if there is no selection.
    • setRoi

      public void setRoi​(Roi newRoi)
      Assigns the specified ROI to this image and displays it. Any existing ROI is deleted if roi is null or its width or height is zero.
    • setRoi

      public void setRoi​(Roi newRoi, boolean updateDisplay)
      Assigns 'newRoi' to this image and displays it if 'updateDisplay' is true.
    • setRoi

      public void setRoi​(int x, int y, int width, int height)
      Creates a rectangular selection.
    • setRoi

      public void setRoi​(java.awt.Rectangle r)
      Creates a rectangular selection.
    • createNewRoi

      public void createNewRoi​(int sx, int sy)
      Starts the process of creating a new selection, where sx and sy are the starting screen coordinates. The selection type is determined by which tool in the tool bar is active. The user interactively sets the selection size and shape.
    • deleteRoi

      public void deleteRoi()
      Deletes the current region of interest. Makes a copy of the ROI so it can be recovered by Edit/Selection/Restore Selection.
    • okToDeleteRoi

      public boolean okToDeleteRoi()
    • killRoi

      public void killRoi()
      Deletes the current region of interest.
    • resetRoi

      public void resetRoi()
      Deletes the current region of interest.
    • saveRoi

      public void saveRoi()
    • restoreRoi

      public void restoreRoi()
    • revert

      public void revert()
      Implements the File/Revert command.
    • getFileInfo

      public FileInfo getFileInfo()
      Returns a FileInfo object containing information, including the pixel array, needed to save this image. Use getOriginalFileInfo() to get a copy of the FileInfo object used to open the image.
      See Also:
      FileInfo, getOriginalFileInfo(), setFileInfo(ij.io.FileInfo)
    • getOriginalFileInfo

      public FileInfo getOriginalFileInfo()
      Returns the FileInfo object that was used to open this image. Returns null for images created using the File/New command.
      See Also:
      FileInfo, getFileInfo()
    • imageUpdate

      public boolean imageUpdate​(java.awt.Image img, int flags, int x, int y, int w, int h)
      Used by ImagePlus to monitor loading of images.
      Specified by:
      imageUpdate in interface java.awt.image.ImageObserver
    • flush

      public void flush()
      Sets the ImageProcessor, Roi, AWT Image and stack image arrays to null. Does nothing if the image is locked.
    • setIgnoreFlush

      public void setIgnoreFlush​(boolean ignoreFlush)
    • duplicate

      public ImagePlus duplicate()
      Returns a copy of this image or stack.
      See Also:
      crop(), Duplicator.run(java.lang.String)
    • resize

      public ImagePlus resize​(int dstWidth, int dstHeight, java.lang.String options)
      Returns a scaled copy of this image or ROI, where the 'options' string can contain 'none', 'bilinear'. 'bicubic', 'average' and 'constrain'.
    • resize

      public ImagePlus resize​(int dstWidth, int dstHeight, int dstDepth, java.lang.String options)
      Returns a scaled copy of this image or ROI, where the 'options' string can contain 'none', 'bilinear'. 'bicubic', 'average' and 'constrain'.
    • crop

      public ImagePlus crop()
      Returns a copy this image or stack slice, cropped if there is an ROI.
      See Also:
      duplicate(), Duplicator.crop(ij.ImagePlus)
    • crop

      public ImagePlus crop​(java.lang.String options)
      Returns a cropped copy this image or stack, where 'options' can be "stack", "slice", "whole-slice" or a range (e.g., "20-30").
      See Also:
      duplicate(), crop(), Duplicator.crop(ij.ImagePlus)
    • crop

      public ImagePlus[] crop​(Roi[] rois, java.lang.String options)
      Returns an array of cropped images based on the provided list of rois. 'options' applies with stacks and can be "stack", "slice" or a range (e.g., "20-30").
      See Also:
      crop(ij.gui.Roi[])
    • crop

      public ImagePlus[] crop​(Roi[] rois)
      Multi-roi cropping with default "slice" option.
    • cropAndSave

      public void cropAndSave​(Roi[] rois, java.lang.String directory, java.lang.String format)
      Saves the contents of the ROIs in this overlay as separate images, where 'directory' is the directory path and 'format' is "tif", "png" or "jpg". Set 'format' to "show" and the images will be displayed in a stack and not saved.
    • createImagePlus

      public ImagePlus createImagePlus()
      Returns a new ImagePlus with this image's attributes (e.g. spatial scale), but no image.
    • createHyperStack

      public ImagePlus createHyperStack​(java.lang.String title, int channels, int slices, int frames, int bitDepth)
      This method has been replaced by IJ.createHyperStack().
    • copyScale

      public void copyScale​(ImagePlus imp)
      Copies the calibration of the specified image to this image.
    • copyAttributes

      public void copyAttributes​(ImagePlus imp)
      Used internally.
    • startTiming

      public void startTiming()
      Calls System.currentTimeMillis() to save the current time so it can be retrieved later using getStartTime() to calculate the elapsed time of an operation.
    • getStartTime

      public long getStartTime()
      Returns the time in milliseconds when startTiming() was last called.
    • getCalibration

      public Calibration getCalibration()
      Returns this image's calibration.
    • setCalibration

      public void setCalibration​(Calibration cal)
      Sets this image's calibration.
    • setGlobalCalibration

      public void setGlobalCalibration​(Calibration global)
      Sets the system-wide calibration.
    • getGlobalCalibration

      public Calibration getGlobalCalibration()
      Returns the system-wide calibration, or null.
    • getStaticGlobalCalibration

      public static Calibration getStaticGlobalCalibration()
      This is a version of getGlobalCalibration() that can be called from a static context.
    • getLocalCalibration

      public Calibration getLocalCalibration()
      Returns this image's local calibration, ignoring the "Global" calibration flag.
    • setIgnoreGlobalCalibration

      public void setIgnoreGlobalCalibration​(boolean ignoreGlobalCalibration)
    • mouseMoved

      public void mouseMoved​(int x, int y)
      Displays the cursor coordinates and pixel value in the status bar. Called by ImageCanvas when the mouse moves.
    • updateStatusbarValue

      public void updateStatusbarValue()
      Redisplays the (x,y) coordinates and pixel value (which may have changed) in the status bar. Called by the Next Slice and Previous Slice commands to update the z-coordinate and pixel value.
    • getLocationAsString

      public java.lang.String getLocationAsString​(int x, int y)
      Converts the current cursor location to a string.
    • cut

      public void cut()
      Copies the contents of the current selection to the internal clipboard and then clears the selection.
    • copy

      public void copy()
      Copies the contents of the current selection, or the entire image if there is no selection, to the internal clipboard.
    • copy

      public void copy​(boolean cut)
      Copies the contents of the current selection to the internal clipboard. Copies the entire image if there is no selection. Also clears the selection if cut is true.
    • paste

      public void paste()
      Inserts the contents of the internal clipboard into this image. If there is a selection the same size as the image on the clipboard, the image is inserted into that selection, otherwise the selection is inserted into the center of the image.
    • paste

      public void paste​(int x, int y)
      Inserts the contents of the internal clipboard at the specified location, without updating the display.
    • paste

      public void paste​(int x, int y, java.lang.String mode)
      Copies the contents of the internal clipboard to the specified location using the specified transfer mode ("Copy", "Blend", "Average", "Difference", "Transparent", "Transparent2", "AND", "OR", "XOR", "Add", "Subtract", "Multiply", or "Divide"). The display is not updating.
    • getClipboard

      public static ImagePlus getClipboard()
      Returns the internal clipboard or null if the internal clipboard is empty.
    • resetClipboard

      public static void resetClipboard()
      Clears the internal clipboard.
    • copyToSystem

      public void copyToSystem()
      Copies the contents of the current selection, or the entire image if there is no selection, to the system clipboard.
    • notifyListeners

      protected void notifyListeners​(int id)
    • addImageListener

      public static void addImageListener​(ImageListener listener)
    • removeImageListener

      public static void removeImageListener​(ImageListener listener)
    • getListeners

      public static java.util.Vector getListeners()
    • logImageListeners

      public static void logImageListeners()
      For debug purposes, writes all registered (and possibly, forgotten) ImageListeners to the log window
    • setOpenAsHyperStack

      public void setOpenAsHyperStack​(boolean openAsHyperStack)
    • getOpenAsHyperStack

      public boolean getOpenAsHyperStack()
    • isComposite

      public boolean isComposite()
      Returns true if this is a CompositeImage.
    • getCompositeMode

      public int getCompositeMode()
      Returns the display mode (IJ.COMPOSITE, IJ.COLOR or IJ.GRAYSCALE) if this is a CompositeImage, otherwise returns -1.
    • setDisplayRange

      public void setDisplayRange​(double min, double max)
      Sets the display range of the current channel. With non-composite images it is identical to ip.setMinAndMax(min, max).
    • getDisplayRangeMin

      public double getDisplayRangeMin()
    • getDisplayRangeMax

      public double getDisplayRangeMax()
    • setDisplayRange

      public void setDisplayRange​(double min, double max, int channels)
      Sets the display range of specified channels in an RGB image, where 4=red, 2=green, 1=blue, 6=red+green, etc. With non-RGB images, this method is identical to setDisplayRange(min, max). This method is used by the Image/Adjust/Color Balance tool .
    • resetDisplayRange

      public void resetDisplayRange()
    • isThreshold

      public boolean isThreshold()
      Returns 'true' if this image is thresholded.
    • setDefault16bitRange

      public static void setDefault16bitRange​(int bitDepth)
      Set the default 16-bit display range, where 'bitDepth' must be 0 (auto-scaling), 8 (0-255), 10 (0-1023), 12 (0-4095, 14 (0-16383), 15 (0-32767) or 16 (0-65535).
    • getDefault16bitRange

      public static int getDefault16bitRange()
      Returns the default 16-bit display range, 0 (auto-scaling), 8, 10, 12, 14, 15 or 16.
    • updatePosition

      public void updatePosition​(int c, int z, int t)
    • flatten

      public ImagePlus flatten()
      Returns a "flattened" version of this image, or stack slice, in RGB format.
    • flattenStack

      public void flattenStack()
      Flattens all slices of this stack or HyperStack.
      Throws:
      java.lang.UnsupportedOperationException - if this image
      does not have an overlay and the RoiManager overlay is null
      or Java version is less than 1.6. Copied from OverlayCommands and modified by Marcel Boeglin on 2014.01.08 to work with HyperStacks.
    • tempOverlay

      public boolean tempOverlay()
    • setLut

      public void setLut​(LUT lut)
      Assigns a LUT (lookup table) to this image.
      See Also:
      Opener.openLut(java.lang.String)
    • setOverlay

      public void setOverlay​(Overlay overlay)
      Installs a list of ROIs that will be drawn on this image as a non-destructive overlay.
      See Also:
      Roi.setStrokeColor(java.awt.Color), Roi.setStrokeWidth(float), Roi.setFillColor(java.awt.Color), Roi.setLocation(int, int), Roi.setNonScalable(boolean)
    • setOverlay

      public void setOverlay​(java.awt.Shape shape, java.awt.Color color, java.awt.BasicStroke stroke)
      Creates an Overlay from the specified Shape, Color and BasicStroke, and assigns it to this image.
      See Also:
      setOverlay(ij.gui.Overlay), Roi.setStrokeColor(java.awt.Color), Roi.setStrokeWidth(float)
    • setOverlay

      public void setOverlay​(Roi roi, java.awt.Color strokeColor, int strokeWidth, java.awt.Color fillColor)
      Creates an Overlay from the specified ROI, and assigns it to this image.
      See Also:
      setOverlay(ij.gui.Overlay)
    • getOverlay

      public Overlay getOverlay()
      Returns the current overly, or null if this image does not have an overlay.
    • setHideOverlay

      public void setHideOverlay​(boolean hide)
    • getHideOverlay

      public boolean getHideOverlay()
    • setAntialiasRendering

      public void setAntialiasRendering​(boolean antialiasRendering)
      Enable/disable use of antialiasing by the flatten() method.
    • clone

      public java.lang.Object clone()
      Returns a shallow copy of this ImagePlus.
      Overrides:
      clone in class java.lang.Object
    • plotHistogram

      public PlotWindow plotHistogram()
      Plots a 256 bin histogram of this image and returns the PlotWindow.
    • plotHistogram

      public PlotWindow plotHistogram​(int bins)
      Plots a histogram of this image using the specified number of bins and returns the PlotWindow.
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • setIJMenuBar

      public void setIJMenuBar​(boolean b)
    • setIJMenuBar

      public boolean setIJMenuBar()
    • isStack

      public boolean isStack()
    • setPlot

      public void setPlot​(Plot plot)
    • getPlot

      public Plot getPlot()
    • getImageProperties

      public java.util.Properties getImageProperties()
    • isRGB

      public boolean isRGB()
    • setBorderColor

      public void setBorderColor​(java.awt.Color borderColor)