Module ij
Package ij

Class ImageJ

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer,, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible

    public class ImageJ
    extends java.awt.Frame
    implements java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.KeyListener, java.awt.event.WindowListener, java.awt.event.ItemListener, java.lang.Runnable
    This frame is the main ImageJ class.

    ImageJ is a work of the United States Government. It is in the public domain and open source. There is no copyright. You are free to do anything you want with this source but I like to get credit for my work and I would like you to offer your changes to me so I can possibly add them to the "official" version.

    The following command line options are recognized by ImageJ:
         Opens a file
         Example 1: blobs.tif
         Example 2: /Users/wayne/images/blobs.tif
         Example 3: e81*.tif
      -macro path [arg]
         Runs a macro or script (JavaScript, BeanShell or Python), passing an
         optional string argument, which the macro or script can be retrieve
         using the getArgument() function. The macro or script is assumed to 
         be in the ImageJ/macros folder if 'path' is not a full directory path.
         Example 1: -macro analyze.ijm
         Example 2: -macro script.js /Users/wayne/images/stack1
         Example 2: -macro '1.2 2.4 3.8'
      -batch path [arg]
        Runs a macro or script (JavaScript, BeanShell or Python) in
        batch (no GUI) mode, passing an optional argument.
        ImageJ exits when the macro finishes.
      -eval "macro code"
         Evaluates macro code
         Example 1: -eval "print('Hello, world');"
         Example 2: -eval "return getVersion();"
      -run command
         Runs an ImageJ menu command
         Example: -run "About ImageJ..."
      -ijpath path
         Specifies the path to the directory containing the plugins directory
         Example: -ijpath /Applications/ImageJ
         Specifies the port ImageJ uses to determine if another instance is running
         Example 1: -port1 (use default port address + 1)
         Example 2: -port2 (use default port address + 2)
         Example 3: -port0 (don't check for another instance)
         Runs ImageJ in debug mode
    Wayne Rasband (
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ImageJ.ExceptionHandler
      Handles exceptions on the EDT.
      • Nested classes/interfaces inherited from class java.awt.Frame

      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Modifier and Type Field Description
      static java.awt.Color backgroundColor  
      static java.lang.String BUILD  
      static int DEBUG
      Run ImageJ in debug mode.
      static int DEFAULT_PORT
      Address of socket where Image accepts commands
      static int EMBEDDED
      Run embedded in another application.
      static int IMAGEJ_APP
      Run as the ImageJ application.
      static int NO_SHOW
      Run embedded and invisible in another application.
      static java.awt.Font SansSerif12
      SansSerif, 12-point, plain font.
      static int STANDALONE
      Run as normal application.
      static java.lang.String VERSION
      Plugins should call IJ.getVersion() or IJ.getFullVersion() to get the version string.
      • Fields inherited from class java.awt.Frame

      • Fields inherited from class java.awt.Component

      • Fields inherited from interface java.awt.image.ImageObserver

    • Constructor Summary

      Constructor Description
      Creates a new ImageJ frame that runs as an application.
      ImageJ​(int mode)
      Creates a new ImageJ frame that runs as an application in the specified mode.
      ImageJ​(java.applet.Applet applet)
      Creates a new ImageJ frame that runs as an applet.
      ImageJ​(java.applet.Applet applet, int mode)
      If 'applet' is not null, creates a new ImageJ frame that runs as an applet.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      Handle menu events.
      void exitWhenQuitting​(boolean ewq)
      ImageJ calls System.exit() when qutting when 'exitWhenQuitting' is true.
      static java.lang.String[] getArgs()
      Returns the command line arguments passed to ImageJ.
      static java.lang.String getCommandName()  
      java.lang.String getInfo()  
      static int getPort()
      Returns the port that ImageJ checks on startup to see if another instance is running.
      java.awt.Point getPreferredLocation()  
      ProgressBar getProgressBar()  
      java.awt.Panel getStatusBar()  
      static java.lang.String getStatusBarText()  
      void itemStateChanged​(java.awt.event.ItemEvent e)
      Handles CheckboxMenuItem state changes.
      void keyPressed​(java.awt.event.KeyEvent e)  
      void keyReleased​(java.awt.event.KeyEvent e)  
      void keyTyped​(java.awt.event.KeyEvent e)  
      static void main​(java.lang.String[] args)  
      static java.lang.String modifiers​(int flags)
      Return the current list of modifier keys.
      void mouseClicked​(java.awt.event.MouseEvent e)  
      void mouseEntered​(java.awt.event.MouseEvent e)  
      void mouseExited​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)  
      void mouseReleased​(java.awt.event.MouseEvent e)  
      void quit()
      Called by ImageJ when the user selects Quit.
      boolean quitting()
      Returns true if ImageJ is exiting.
      boolean quittingViaMacro()
      Returns true if ImageJ is quitting as a result of a run("Quit") macro call.
      void register​(java.lang.Class c)
      Adds the specified class to a Vector to keep it from being garbage collected, causing static fields to be reset.
      void resize()  
      void run()
      Quit using a separate thread, hopefully avoiding thread deadlocks.
      void runFilterPlugIn​(java.lang.Object theFilter, java.lang.String cmd, java.lang.String arg)  
      java.lang.Object runUserPlugIn​(java.lang.String commandName, java.lang.String className, java.lang.String arg, boolean createNewLoader)  
      void savePreferences​(java.util.Properties prefs)
      Called once when ImageJ quits.
      static void setCommandName​(java.lang.String name)  
      void windowActivated​(java.awt.event.WindowEvent e)  
      void windowClosed​(java.awt.event.WindowEvent e)  
      void windowClosing​(java.awt.event.WindowEvent e)  
      void windowDeactivated​(java.awt.event.WindowEvent e)  
      void windowDeiconified​(java.awt.event.WindowEvent e)  
      void windowIconified​(java.awt.event.WindowEvent e)  
      void windowOpened​(java.awt.event.WindowEvent e)  
      • Methods inherited from class java.awt.Frame

        addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setBackground, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • VERSION

        public static final java.lang.String VERSION
        Plugins should call IJ.getVersion() or IJ.getFullVersion() to get the version string.
        See Also:
        Constant Field Values
      • backgroundColor

        public static java.awt.Color backgroundColor
      • SansSerif12

        public static final java.awt.Font SansSerif12
        SansSerif, 12-point, plain font.

        public static final int DEFAULT_PORT
        Address of socket where Image accepts commands
        See Also:
        Constant Field Values

        public static final int STANDALONE
        Run as normal application.
        See Also:
        Constant Field Values
      • EMBEDDED

        public static final int EMBEDDED
        Run embedded in another application.
        See Also:
        Constant Field Values
      • NO_SHOW

        public static final int NO_SHOW
        Run embedded and invisible in another application.
        See Also:
        Constant Field Values
      • IMAGEJ_APP

        public static final int IMAGEJ_APP
        Run as the ImageJ application.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ImageJ

        public ImageJ()
        Creates a new ImageJ frame that runs as an application.
      • ImageJ

        public ImageJ​(int mode)
        Creates a new ImageJ frame that runs as an application in the specified mode.
      • ImageJ

        public ImageJ​(java.applet.Applet applet)
        Creates a new ImageJ frame that runs as an applet.
      • ImageJ

        public ImageJ​(java.applet.Applet applet,
                      int mode)
        If 'applet' is not null, creates a new ImageJ frame that runs as an applet. If 'mode' is ImageJ.EMBEDDED and 'applet is null, creates an embedded (non-standalone) version of ImageJ.
    • Method Detail

      • getPreferredLocation

        public java.awt.Point getPreferredLocation()
      • getStatusBar

        public java.awt.Panel getStatusBar()
      • getStatusBarText

        public static java.lang.String getStatusBarText()
      • runFilterPlugIn

        public void runFilterPlugIn​(java.lang.Object theFilter,
                                    java.lang.String cmd,
                                    java.lang.String arg)
      • runUserPlugIn

        public java.lang.Object runUserPlugIn​(java.lang.String commandName,
                                              java.lang.String className,
                                              java.lang.String arg,
                                              boolean createNewLoader)
      • modifiers

        public static java.lang.String modifiers​(int flags)
        Return the current list of modifier keys.
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Handle menu events.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent e)
        Handles CheckboxMenuItem state changes.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
      • getInfo

        public java.lang.String getInfo()
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
      • keyPressed

        public void keyPressed​(java.awt.event.KeyEvent e)
        Specified by:
        keyPressed in interface java.awt.event.KeyListener
      • keyTyped

        public void keyTyped​(java.awt.event.KeyEvent e)
        Specified by:
        keyTyped in interface java.awt.event.KeyListener
      • keyReleased

        public void keyReleased​(java.awt.event.KeyEvent e)
        Specified by:
        keyReleased in interface java.awt.event.KeyListener
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent e)
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
      • windowActivated

        public void windowActivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowActivated in interface java.awt.event.WindowListener
      • windowClosed

        public void windowClosed​(java.awt.event.WindowEvent e)
        Specified by:
        windowClosed in interface java.awt.event.WindowListener
      • windowDeactivated

        public void windowDeactivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeactivated in interface java.awt.event.WindowListener
      • windowDeiconified

        public void windowDeiconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeiconified in interface java.awt.event.WindowListener
      • windowIconified

        public void windowIconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowIconified in interface java.awt.event.WindowListener
      • windowOpened

        public void windowOpened​(java.awt.event.WindowEvent e)
        Specified by:
        windowOpened in interface java.awt.event.WindowListener
      • register

        public void register​(java.lang.Class c)
        Adds the specified class to a Vector to keep it from being garbage collected, causing static fields to be reset.
      • quit

        public void quit()
        Called by ImageJ when the user selects Quit.
      • quitting

        public boolean quitting()
        Returns true if ImageJ is exiting.
      • quittingViaMacro

        public boolean quittingViaMacro()
        Returns true if ImageJ is quitting as a result of a run("Quit") macro call.
      • savePreferences

        public void savePreferences​(java.util.Properties prefs)
        Called once when ImageJ quits.
      • main

        public static void main​(java.lang.String[] args)
      • getPort

        public static int getPort()
        Returns the port that ImageJ checks on startup to see if another instance is running.
        See Also:
      • getArgs

        public static java.lang.String[] getArgs()
        Returns the command line arguments passed to ImageJ.
      • exitWhenQuitting

        public void exitWhenQuitting​(boolean ewq)
        ImageJ calls System.exit() when qutting when 'exitWhenQuitting' is true.
      • run

        public void run()
        Quit using a separate thread, hopefully avoiding thread deadlocks.
        Specified by:
        run in interface java.lang.Runnable
      • getCommandName

        public static java.lang.String getCommandName()
      • setCommandName

        public static void setCommandName​(java.lang.String name)
      • resize

        public void resize()