ij
Class IJ

java.lang.Object
  extended by ij.IJ

public class IJ
extends java.lang.Object

This class consists of static utility methods.


Nested Class Summary
static interface IJ.ExceptionHandler
           
 
Field Summary
static int ALL_KEYS
           
static char angstromSymbol
           
static int CANCELED
           
static int COLOR
          Image display modes
static int COMPOSITE
          Image display modes
static boolean debugMode
          Use setDebugMode(boolean) to enable/disable debug mode.
static char degreeSymbol
           
static int GRAYSCALE
          Image display modes
static boolean hideProcessStackDialog
           
static char micronSymbol
           
static java.lang.String URL
           
 
Constructor Summary
IJ()
           
 
Method Summary
static void addEventListener(IJEventListener listener)
           
static boolean altKeyDown()
          Returns true if the alt key is down.
static java.lang.String append(java.lang.String string, java.lang.String path)
          Appends a string to the end of a file.
static void beep()
          Emits an audio beep.
static boolean controlKeyDown()
          Returns true if the control key is down.
static ImagePlus createHyperStack(java.lang.String title, int width, int height, int channels, int slices, int frames, int bitdepth)
          Creates a new hyperstack.
static ImagePlus createImage(java.lang.String title, int width, int height, int depth, int bitdepth)
          Creates a new image.
static ImagePlus createImage(java.lang.String title, java.lang.String type, int width, int height, int depth)
          Creates a new imagePlus.
static ImagePlus createImage(java.lang.String title, java.lang.String type, int width, int height, int channels, int slices, int frames)
          Creates a new hyperstack.
static long currentMemory()
          Returns the amount of memory currently being used by ImageJ.
static java.lang.String d2s(double n)
          Converts a number to a formatted string using 2 digits to the right of the decimal point.
static java.lang.String d2s(double n, int decimalPlaces)
          Converts a number to a rounded formatted string.
static java.lang.String d2s(double x, int significantDigits, int maxDigits)
          Converts a number to a rounded formatted string.
static void deleteRows(int row1, int row2)
          Deletes 'row1' through 'row2' of the "Results" window.
static void doCommand(java.lang.String command)
          Starts executing a menu command in a separete thread and returns immediately.
static int doWand(ImagePlus img, int x, int y, double tolerance, java.lang.String mode)
          This version of doWand adds an ImagePlus argument.
static int doWand(int x, int y)
          Equivalent to clicking on the current image at (x,y) with the wand tool.
static int doWand(int x, int y, double tolerance, java.lang.String mode)
          Traces the boundary of the area with pixel values within 'tolerance' of the value of the pixel at the starting location.
static void error(java.lang.String msg)
          Displays a message in a dialog box titled "ImageJ".
static void error(java.lang.String title, java.lang.String msg)
          Displays a message in a dialog box with the specified title.
static boolean escapePressed()
          Returns true if the Esc key was pressed since the last ImageJ command started to execute or since resetEscape() was called.
static java.lang.String freeMemory()
          Runs the garbage collector and returns a string something like "64K of 256MB (25%)" that shows how much of the available memory is in use.
static java.applet.Applet getApplet()
          Returns the Applet that created this ImageJ or null if running as an application.
static java.lang.ClassLoader getClassLoader()
          Returns the class loader ImageJ uses to run plugins or the system class loader if Menus.getPlugInsPath() returns null.
static java.lang.String getDirectory(java.lang.String title)
          Returns the path to the home ("user.home"), startup, ImageJ, plugins, macros, luts, temp, current or image directory if title is "home", "startup", "imagej", "plugins", "macros", "luts", "temp", "current", "default", "image", otherwise, displays a dialog and returns the path to the directory selected by the user.
static java.lang.String getErrorMessage()
          Returns the last error message written by IJ.error() or null if there was no error since the last time this method was called.
static java.lang.String getFilePath(java.lang.String dialogTitle)
          Displays an open file dialog and returns the path to the choosen file, or returns null if the dialog is canceled.
static java.lang.String getFullVersion()
          Returns the ImageJ version and build number as a String, for example "1.46n05", or 1.46n99 if there is no build number.
static ImagePlus getImage()
          Returns a reference to the active image, or displays an error message and aborts the plugin or macro if no images are open.
static ImageJ getInstance()
          Returns a reference to the "ImageJ" frame.
static java.lang.String getLog()
          Returns the contents of the Log window or null if the Log window is not open.
static java.lang.String[] getLuts()
          Returns, as an array of strings, a list of the LUTs in the Image/Lookup Tables menu.
static double getNumber(java.lang.String prompt, double defaultValue)
          Allows the user to enter a number in a dialog box.
static ImageProcessor getProcessor()
          Returns the active image or stack slice as an ImageProcessor, or displays an error message and aborts the plugin or macro if no images are open.
static java.awt.Dimension getScreenSize()
          Returns the size, in pixels, of the primary display.
static java.lang.String getString(java.lang.String prompt, java.lang.String defaultString)
          Allows the user to enter a string in a dialog box.
static TextPanel getTextPanel()
          Returns a reference to the "Results" window TextPanel.
static java.lang.String getToolName()
          Returns the name of the current tool.
static java.lang.String getVersion()
          Returns the ImageJ version number as a string.
static void handleException(java.lang.Throwable e)
          Displays a stack trace.
static boolean is64Bit()
          Returns true if ImageJ is running a 64-bit version of Java.
static boolean isJava14()
          Returns true if ImageJ is running on a Java 1.4 or greater JVM.
static boolean isJava15()
          Returns true if ImageJ is running on a Java 1.5 or greater JVM.
static boolean isJava16()
          Returns true if ImageJ is running on a Java 1.6 or greater JVM.
static boolean isJava17()
          Returns true if ImageJ is running on a Java 1.7 or greater JVM.
static boolean isJava18()
          Returns true if ImageJ is running on a Java 1.8 or greater JVM.
static boolean isJava2()
          Always returns true.
static boolean isLinux()
          Returns true if ImageJ is running on Linux.
static boolean isMacintosh()
          Returns true if this machine is a Macintosh.
static boolean isMacOSX()
          Returns true if this machine is a Macintosh running OS X.
static boolean isMacro()
          Returns true if a macro is running, or if the run(), open() or newImage() method is executing.
static boolean isResultsWindow()
          Returns true if the "Results" window is open.
static boolean isVista()
          Obsolete; always returns false.
static boolean isWindows()
          Returns true if this machine is running Windows.
static void log(java.lang.String s)
           
static boolean macroRunning()
          Returns true if the run(), open() or newImage() method is executing.
static void makeLine(double x1, double y1, double x2, double y2)
          Creates a straight line selection using floating point coordinates.
static void makeLine(int x1, int y1, int x2, int y2)
          Creates a straight line selection.
static void makeOval(double x, double y, double width, double height)
          Creates an subpixel resolution oval selection.
static void makeOval(int x, int y, int width, int height)
          Creates an oval selection.
static void makePoint(int x, int y)
          Creates a point selection.
static void makeRectangle(double x, double y, double width, double height)
          Creates a subpixel resolution rectangular selection.
static void makeRectangle(int x, int y, int width, int height)
          Creates a rectangular selection.
static long maxMemory()
          Returns the maximum amount of memory available to ImageJ or zero if ImageJ is unable to determine this limit.
static void newImage(java.lang.String title, java.lang.String type, int width, int height, int depth)
          Opens a new image.
static void noImage()
          Displays a "no images are open" dialog box.
static void notifyEventListeners(int eventID)
           
static void open()
          Displays a file open dialog box and then opens the tiff, dicom, fits, pgm, jpeg, bmp, gif, lut, roi, or text file selected by the user.
static void open(java.lang.String path)
          Opens and displays a tiff, dicom, fits, pgm, jpeg, bmp, gif, lut, roi, or text file.
static void open(java.lang.String path, int n)
          Opens and displays the nth image in the specified tiff stack.
static java.lang.String openAsString(java.lang.String path)
          Opens a text file as a string.
static ImagePlus openImage()
          Opens an image using a file open dialog and returns it as an ImagePlus object.
static ImagePlus openImage(java.lang.String path)
          Opens the specified file as a tiff, bmp, dicom, fits, pgm, gif or jpeg image and returns an ImagePlus object if successful.
static ImagePlus openImage(java.lang.String path, int n)
          Opens the nth image of the specified tiff stack.
static java.lang.String openUrlAsString(java.lang.String url)
          Opens a URL and returns the contents as a string.
static void outOfMemory(java.lang.String name)
          Displays an "out of memory" message to the "Log" window.
static java.lang.String pad(int n, int digits)
          Pad 'n' with leading zeros to the specified number of digits.
static void redirectErrorMessages()
          Causes IJ.error() output to be temporarily redirected to the "Log" window.
static void redirectErrorMessages(boolean redirect)
          Set 'true' and IJ.error() output will be temporarily redirected to the "Log" window.
static boolean redirectingErrorMessages()
          Returns the state of the 'redirectErrorMessages' flag, which is set by File/Import/Image Sequence.
static void register(java.lang.Class c)
          Adds the specified class to a Vector to keep it from being garbage collected, which would cause the classes static fields to be reset.
static void removeEventListener(IJEventListener listener)
           
static void renameResults(java.lang.String title)
          Renames a results window.
static void renameResults(java.lang.String oldTitle, java.lang.String newTitle)
          Changes the name of a results window from 'oldTitle' to 'newTitle'.
static void resetClassLoader()
           
static void resetEscape()
          This method sets the Esc key to the "up" position.
static void resetMinAndMax()
          Resets the minimum and maximum displayed pixel values of the current image to be the same as the min and max pixel values.
static void resetMinAndMax(ImagePlus img)
          Resets the minimum and maximum displayed pixel values of the specified image to be the same as the min and max pixel values.
static void resetThreshold()
          Disables thresholding on the current image.
static void resetThreshold(ImagePlus img)
          Disables thresholding on the specified image.
static void run(ImagePlus imp, java.lang.String command, java.lang.String options)
          Runs an ImageJ command using the specified image and options.
static void run(java.lang.String command)
          Runs an ImageJ command.
static void run(java.lang.String command, java.lang.String options)
          Runs an ImageJ command, with options that are passed to the GenericDialog and OpenDialog classes.
static java.lang.String runMacro(java.lang.String macro)
          Runs the macro contained in the string macro.
static java.lang.String runMacro(java.lang.String macro, java.lang.String arg)
          Runs the macro contained in the string macro.
static java.lang.String runMacroFile(java.lang.String name)
          Runs the specified macro file.
static java.lang.String runMacroFile(java.lang.String name, java.lang.String arg)
          Runs the specified macro or script file in the current thread.
static java.lang.Object runPlugIn(ImagePlus imp, java.lang.String className, java.lang.String arg)
          Runs the specified plugin using the specified image.
static java.lang.Object runPlugIn(java.lang.String className, java.lang.String arg)
          Runs the specified plugin and returns a reference to it.
static java.lang.Object runPlugIn(java.lang.String commandName, java.lang.String className, java.lang.String arg)
          Runs the specified plugin and returns a reference to it.
static void save(ImagePlus imp, java.lang.String path)
          Saves the specified image, lookup table or selection to the specified file path.
static void save(java.lang.String path)
          Saves the current image, lookup table, selection or text window to the specified file path.
static void saveAs(ImagePlus imp, java.lang.String format, java.lang.String path)
           
static void saveAs(java.lang.String format, java.lang.String path)
           
static boolean saveAsTiff(ImagePlus imp, java.lang.String path)
          Saves the specified image in TIFF format.
static java.lang.String saveString(java.lang.String string, java.lang.String path)
          Saves a string as a file.
static void selectWindow(int id)
          For IDs less than zero, activates the image with the specified ID.
static void selectWindow(java.lang.String title)
          Activates the window with the specified title.
static void setAutoThreshold(ImagePlus imp, java.lang.String method)
           
static void setBackgroundColor(int red, int green, int blue)
          Sets the background color.
static void setColumnHeadings(java.lang.String headings)
          Clears the "Results" window and sets the column headings to those in the tab-delimited 'headings' String.
static void setDebugMode(boolean b)
          Enable/disable debug mode.
static void setExceptionHandler(IJ.ExceptionHandler handler)
          Installs a custom exception handler that overrides the handleException() method.
static void setForegroundColor(int red, int green, int blue)
          Sets the foreground color.
static void setInputEvent(java.awt.event.InputEvent e)
           
static void setKeyDown(int key)
           
static void setKeyUp(int key)
           
static void setMinAndMax(double min, double max)
          Sets the display range (minimum and maximum displayed pixel values) of the current image.
static void setMinAndMax(double min, double max, int channels)
          Sets the minimum and maximum displayed pixel values on the specified RGB channels, where 4=red, 2=green and 1=blue.
static void setMinAndMax(ImagePlus img, double min, double max)
          Sets the display range (minimum and maximum displayed pixel values) of the specified image.
static void setPasteMode(java.lang.String mode)
          Sets the transfer mode used by the Edit/Paste command, where mode is "Copy", "Blend", "Average", "Difference", "Transparent", "Transparent2", "AND", "OR", "XOR", "Add", "Subtract", "Multiply", or "Divide".
static void setSlice(int slice)
          Switches to the specified stack slice, where 1<='slice'<=stack-size.
static void setTextPanel(TextPanel tp)
          TextWindow calls this method with a null argument when the "Results" window is closed.
static void setThreshold(double lowerThreshold, double upperThresold)
          Sets the lower and upper threshold levels and displays the image using red to highlight thresholded pixels.
static void setThreshold(double lowerThreshold, double upperThreshold, java.lang.String displayMode)
          Sets the lower and upper threshold levels and displays the image using the specified displayMode ("Red", "Black & White", "Over/Under" or "No Update").
static void setThreshold(ImagePlus img, double lowerThreshold, double upperThreshold)
          Sets the lower and upper threshold levels of the specified image.
static void setThreshold(ImagePlus img, double lowerThreshold, double upperThreshold, java.lang.String displayMode)
          Sets the lower and upper threshold levels of the specified image and updates the display using the specified displayMode ("Red", "Black & White", "Over/Under" or "No Update").
static void setTool(int id)
          Switches to the specified tool, where id = Toolbar.RECTANGLE (0), Toolbar.OVAL (1), etc.
static boolean setTool(java.lang.String name)
          Switches to the specified tool, where 'name' is "rect", "elliptical", "brush", etc.
static int setupDialog(ImagePlus imp, int flags)
          Displays a "Process all images?" dialog.
static boolean shiftKeyDown()
          Returns true if the shift key is down.
static void showMessage(java.lang.String msg)
          Displays a message in a dialog box titled "Message".
static void showMessage(java.lang.String title, java.lang.String msg)
          Displays a message in a dialog box with the specified title.
static boolean showMessageWithCancel(java.lang.String title, java.lang.String msg)
          Displays a message in a dialog box with the specified title.
static void showProgress(double progress)
          Updates the progress bar, where 0<=progress<=1.0.
static void showProgress(int currentIndex, int finalIndex)
          Updates the progress bar, where the length of the bar is set to (currentValue+1)/finalValue of the maximum bar length.
static void showStatus(java.lang.String s)
          Displays a message in the ImageJ status bar.
static void showTime(ImagePlus imp, long start, java.lang.String str)
           
static void showTime(ImagePlus imp, long start, java.lang.String str, int nslices)
           
static boolean spaceBarDown()
          Returns true if the space bar is down.
static void suppressPluginNotFoundError()
          Temporarily suppress "plugin not found" errors.
static java.lang.String time(ImagePlus imp, long startNanoTime)
          Experimental
static boolean versionLessThan(java.lang.String version)
          Displays an error message and returns true if the ImageJ version is less than the one specified.
static void wait(int msecs)
          Delays 'msecs' milliseconds.
static void write(java.lang.String s)
          Deprecated. replaced by IJ.log(), ResultsTable.setResult() and TextWindow.append(). There are examples at http://imagej.nih.gov/ij/plugins/sine-cosine.html
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMPOSITE

public static final int COMPOSITE
Image display modes

See Also:
Constant Field Values

COLOR

public static final int COLOR
Image display modes

See Also:
Constant Field Values

GRAYSCALE

public static final int GRAYSCALE
Image display modes

See Also:
Constant Field Values

URL

public static final java.lang.String URL
See Also:
Constant Field Values

ALL_KEYS

public static final int ALL_KEYS
See Also:
Constant Field Values

debugMode

public static boolean debugMode
Use setDebugMode(boolean) to enable/disable debug mode.


hideProcessStackDialog

public static boolean hideProcessStackDialog

micronSymbol

public static final char micronSymbol
See Also:
Constant Field Values

angstromSymbol

public static final char angstromSymbol
See Also:
Constant Field Values

degreeSymbol

public static final char degreeSymbol
See Also:
Constant Field Values

CANCELED

public static final int CANCELED
See Also:
Constant Field Values
Constructor Detail

IJ

public IJ()
Method Detail

getInstance

public static ImageJ getInstance()
Returns a reference to the "ImageJ" frame.


setDebugMode

public static void setDebugMode(boolean b)
Enable/disable debug mode.


runMacro

public static java.lang.String runMacro(java.lang.String macro)
Runs the macro contained in the string macro. Returns any string value returned by the macro, null if the macro does not return a value, or "[aborted]" if the macro was aborted due to an error. The equivalent macro function is eval().


runMacro

public static java.lang.String runMacro(java.lang.String macro,
                                        java.lang.String arg)
Runs the macro contained in the string macro. The optional string argument can be retrieved in the called macro using the getArgument() macro function. Returns any string value returned by the macro, null if the macro does not return a value, or "[aborted]" if the macro was aborted due to an error.


runMacroFile

public static java.lang.String runMacroFile(java.lang.String name,
                                            java.lang.String arg)
Runs the specified macro or script file in the current thread. The file is assumed to be in the macros folder unless name is a full path. The optional string argument (arg) can be retrieved in the called macro or script (v1.42k or later) using the getArgument() function. Returns any string value returned by the macro, or null. Scripts always return null. The equivalent macro function is runMacro().


runMacroFile

public static java.lang.String runMacroFile(java.lang.String name)
Runs the specified macro file.


runPlugIn

public static java.lang.Object runPlugIn(ImagePlus imp,
                                         java.lang.String className,
                                         java.lang.String arg)
Runs the specified plugin using the specified image.


runPlugIn

public static java.lang.Object runPlugIn(java.lang.String className,
                                         java.lang.String arg)
Runs the specified plugin and returns a reference to it.


runPlugIn

public static java.lang.Object runPlugIn(java.lang.String commandName,
                                         java.lang.String className,
                                         java.lang.String arg)
Runs the specified plugin and returns a reference to it.


doCommand

public static void doCommand(java.lang.String command)
Starts executing a menu command in a separete thread and returns immediately.


run

public static void run(java.lang.String command)
Runs an ImageJ command. Does not return until the command has finished executing. To avoid "image locked", errors, plugins that call this method should implement the PlugIn interface instead of PlugInFilter.


run

public static void run(java.lang.String command,
                       java.lang.String options)
Runs an ImageJ command, with options that are passed to the GenericDialog and OpenDialog classes. Does not return until the command has finished executing.


run

public static void run(ImagePlus imp,
                       java.lang.String command,
                       java.lang.String options)
Runs an ImageJ command using the specified image and options.


macroRunning

public static boolean macroRunning()
Returns true if the run(), open() or newImage() method is executing.


isMacro

public static boolean isMacro()
Returns true if a macro is running, or if the run(), open() or newImage() method is executing.


getApplet

public static java.applet.Applet getApplet()
Returns the Applet that created this ImageJ or null if running as an application.


showStatus

public static void showStatus(java.lang.String s)
Displays a message in the ImageJ status bar.


write

public static void write(java.lang.String s)
Deprecated. replaced by IJ.log(), ResultsTable.setResult() and TextWindow.append(). There are examples at http://imagej.nih.gov/ij/plugins/sine-cosine.html


log

public static void log(java.lang.String s)

getLog

public static java.lang.String getLog()
Returns the contents of the Log window or null if the Log window is not open.


setColumnHeadings

public static void setColumnHeadings(java.lang.String headings)
Clears the "Results" window and sets the column headings to those in the tab-delimited 'headings' String. Writes to System.out.println if the "ImageJ" frame is not present.


isResultsWindow

public static boolean isResultsWindow()
Returns true if the "Results" window is open.


renameResults

public static void renameResults(java.lang.String title)
Renames a results window.


renameResults

public static void renameResults(java.lang.String oldTitle,
                                 java.lang.String newTitle)
Changes the name of a results window from 'oldTitle' to 'newTitle'.


deleteRows

public static void deleteRows(int row1,
                              int row2)
Deletes 'row1' through 'row2' of the "Results" window. Arguments must be in the range 0-Analyzer.getCounter()-1.


getTextPanel

public static TextPanel getTextPanel()
Returns a reference to the "Results" window TextPanel. Opens the "Results" window if it is currently not open. Returns null if the "ImageJ" window is not open.


setTextPanel

public static void setTextPanel(TextPanel tp)
TextWindow calls this method with a null argument when the "Results" window is closed.


noImage

public static void noImage()
Displays a "no images are open" dialog box.


outOfMemory

public static void outOfMemory(java.lang.String name)
Displays an "out of memory" message to the "Log" window.


showProgress

public static void showProgress(double progress)
Updates the progress bar, where 0<=progress<=1.0. The progress bar is not shown in BatchMode and erased if progress>=1.0. The progress bar is updated only if more than 90 ms have passes since the last call. Does nothing if the ImageJ window is not present.


showProgress

public static void showProgress(int currentIndex,
                                int finalIndex)
Updates the progress bar, where the length of the bar is set to (currentValue+1)/finalValue of the maximum bar length. The bar is erased if currentValue>=finalValue. The bar is updated only if more than 90 ms have passed since the last call. Does nothing if the ImageJ window is not present.


showMessage

public static void showMessage(java.lang.String msg)
Displays a message in a dialog box titled "Message". Writes the Java console if ImageJ is not present.


showMessage

public static void showMessage(java.lang.String title,
                               java.lang.String msg)
Displays a message in a dialog box with the specified title. Displays HTML formatted text if 'msg' starts with "". There are examples at "http://imagej.nih.gov/ij/macros/HtmlDialogDemo.txt". Writes to the Java console if ImageJ is not present.


error

public static void error(java.lang.String msg)
Displays a message in a dialog box titled "ImageJ". If a macro is running, it is aborted. Writes to the Java console if the ImageJ window is not present.


error

public static void error(java.lang.String title,
                         java.lang.String msg)
Displays a message in a dialog box with the specified title. If a macro is running, it is aborted. Writes to the Java console if ImageJ is not present.


getErrorMessage

public static java.lang.String getErrorMessage()
Returns the last error message written by IJ.error() or null if there was no error since the last time this method was called.

See Also:
error(String)

showMessageWithCancel

public static boolean showMessageWithCancel(java.lang.String title,
                                            java.lang.String msg)
Displays a message in a dialog box with the specified title. Returns false if the user pressed "Cancel".


getNumber

public static double getNumber(java.lang.String prompt,
                               double defaultValue)
Allows the user to enter a number in a dialog box. Returns the value IJ.CANCELED (-2,147,483,648) if the user cancels the dialog box. Returns 'defaultValue' if the user enters an invalid number.


getString

public static java.lang.String getString(java.lang.String prompt,
                                         java.lang.String defaultString)
Allows the user to enter a string in a dialog box. Returns "" if the user cancels the dialog box.


wait

public static void wait(int msecs)
Delays 'msecs' milliseconds.


beep

public static void beep()
Emits an audio beep.


freeMemory

public static java.lang.String freeMemory()
Runs the garbage collector and returns a string something like "64K of 256MB (25%)" that shows how much of the available memory is in use. This is the string displayed when the user clicks in the status bar.


currentMemory

public static long currentMemory()
Returns the amount of memory currently being used by ImageJ.


maxMemory

public static long maxMemory()
Returns the maximum amount of memory available to ImageJ or zero if ImageJ is unable to determine this limit.


showTime

public static void showTime(ImagePlus imp,
                            long start,
                            java.lang.String str)

showTime

public static void showTime(ImagePlus imp,
                            long start,
                            java.lang.String str,
                            int nslices)

time

public static java.lang.String time(ImagePlus imp,
                                    long startNanoTime)
Experimental


d2s

public static java.lang.String d2s(double n)
Converts a number to a formatted string using 2 digits to the right of the decimal point.


d2s

public static java.lang.String d2s(double n,
                                   int decimalPlaces)
Converts a number to a rounded formatted string. The 'decimalPlaces' argument specifies the number of digits to the right of the decimal point (0-9). Uses scientific notation if 'decimalPlaces is negative.


d2s

public static java.lang.String d2s(double x,
                                   int significantDigits,
                                   int maxDigits)
Converts a number to a rounded formatted string. The 'significantDigits' argument specifies the minimum number of significant digits, which is also the preferred number of digits behind the decimal. Fewer decimals are shown if the number would have more than 'maxDigits'. Exponential notation is used if more than 'maxDigits' would be needed.


pad

public static java.lang.String pad(int n,
                                   int digits)
Pad 'n' with leading zeros to the specified number of digits.


register

public static void register(java.lang.Class c)
Adds the specified class to a Vector to keep it from being garbage collected, which would cause the classes static fields to be reset. Probably not needed with Java 1.2 or later.


spaceBarDown

public static boolean spaceBarDown()
Returns true if the space bar is down.


controlKeyDown

public static boolean controlKeyDown()
Returns true if the control key is down.


altKeyDown

public static boolean altKeyDown()
Returns true if the alt key is down.


shiftKeyDown

public static boolean shiftKeyDown()
Returns true if the shift key is down.


setKeyDown

public static void setKeyDown(int key)

setKeyUp

public static void setKeyUp(int key)

setInputEvent

public static void setInputEvent(java.awt.event.InputEvent e)

isMacintosh

public static boolean isMacintosh()
Returns true if this machine is a Macintosh.


isMacOSX

public static boolean isMacOSX()
Returns true if this machine is a Macintosh running OS X.


isWindows

public static boolean isWindows()
Returns true if this machine is running Windows.


isJava2

public static boolean isJava2()
Always returns true.


isJava14

public static boolean isJava14()
Returns true if ImageJ is running on a Java 1.4 or greater JVM.


isJava15

public static boolean isJava15()
Returns true if ImageJ is running on a Java 1.5 or greater JVM.


isJava16

public static boolean isJava16()
Returns true if ImageJ is running on a Java 1.6 or greater JVM.


isJava17

public static boolean isJava17()
Returns true if ImageJ is running on a Java 1.7 or greater JVM.


isJava18

public static boolean isJava18()
Returns true if ImageJ is running on a Java 1.8 or greater JVM.


isLinux

public static boolean isLinux()
Returns true if ImageJ is running on Linux.


isVista

public static boolean isVista()
Obsolete; always returns false.


is64Bit

public static boolean is64Bit()
Returns true if ImageJ is running a 64-bit version of Java.


versionLessThan

public static boolean versionLessThan(java.lang.String version)
Displays an error message and returns true if the ImageJ version is less than the one specified.


setupDialog

public static int setupDialog(ImagePlus imp,
                              int flags)
Displays a "Process all images?" dialog. Returns 'flags'+PlugInFilter.DOES_STACKS if the user selects "Yes", 'flags' if the user selects "No" and PlugInFilter.DONE if the user selects "Cancel".


makeRectangle

public static void makeRectangle(int x,
                                 int y,
                                 int width,
                                 int height)
Creates a rectangular selection. Removes any existing selection if width or height are less than 1.


makeRectangle

public static void makeRectangle(double x,
                                 double y,
                                 double width,
                                 double height)
Creates a subpixel resolution rectangular selection.


makeOval

public static void makeOval(int x,
                            int y,
                            int width,
                            int height)
Creates an oval selection. Removes any existing selection if width or height are less than 1.


makeOval

public static void makeOval(double x,
                            double y,
                            double width,
                            double height)
Creates an subpixel resolution oval selection.


makeLine

public static void makeLine(int x1,
                            int y1,
                            int x2,
                            int y2)
Creates a straight line selection.


makeLine

public static void makeLine(double x1,
                            double y1,
                            double x2,
                            double y2)
Creates a straight line selection using floating point coordinates.


makePoint

public static void makePoint(int x,
                             int y)
Creates a point selection.


setMinAndMax

public static void setMinAndMax(double min,
                                double max)
Sets the display range (minimum and maximum displayed pixel values) of the current image.


setMinAndMax

public static void setMinAndMax(ImagePlus img,
                                double min,
                                double max)
Sets the display range (minimum and maximum displayed pixel values) of the specified image.


setMinAndMax

public static void setMinAndMax(double min,
                                double max,
                                int channels)
Sets the minimum and maximum displayed pixel values on the specified RGB channels, where 4=red, 2=green and 1=blue.


resetMinAndMax

public static void resetMinAndMax()
Resets the minimum and maximum displayed pixel values of the current image to be the same as the min and max pixel values.


resetMinAndMax

public static void resetMinAndMax(ImagePlus img)
Resets the minimum and maximum displayed pixel values of the specified image to be the same as the min and max pixel values.


setThreshold

public static void setThreshold(double lowerThreshold,
                                double upperThresold)
Sets the lower and upper threshold levels and displays the image using red to highlight thresholded pixels. May not work correctly on 16 and 32 bit images unless the display range has been reset using IJ.resetMinAndMax().


setThreshold

public static void setThreshold(double lowerThreshold,
                                double upperThreshold,
                                java.lang.String displayMode)
Sets the lower and upper threshold levels and displays the image using the specified displayMode ("Red", "Black & White", "Over/Under" or "No Update").


setThreshold

public static void setThreshold(ImagePlus img,
                                double lowerThreshold,
                                double upperThreshold)
Sets the lower and upper threshold levels of the specified image.


setThreshold

public static void setThreshold(ImagePlus img,
                                double lowerThreshold,
                                double upperThreshold,
                                java.lang.String displayMode)
Sets the lower and upper threshold levels of the specified image and updates the display using the specified displayMode ("Red", "Black & White", "Over/Under" or "No Update").


setAutoThreshold

public static void setAutoThreshold(ImagePlus imp,
                                    java.lang.String method)

resetThreshold

public static void resetThreshold()
Disables thresholding on the current image.


resetThreshold

public static void resetThreshold(ImagePlus img)
Disables thresholding on the specified image.


selectWindow

public static void selectWindow(int id)
For IDs less than zero, activates the image with the specified ID. For IDs greater than zero, activates the Nth image.


selectWindow

public static void selectWindow(java.lang.String title)
Activates the window with the specified title.


setForegroundColor

public static void setForegroundColor(int red,
                                      int green,
                                      int blue)
Sets the foreground color.


setBackgroundColor

public static void setBackgroundColor(int red,
                                      int green,
                                      int blue)
Sets the background color.


setTool

public static void setTool(int id)
Switches to the specified tool, where id = Toolbar.RECTANGLE (0), Toolbar.OVAL (1), etc.


setTool

public static boolean setTool(java.lang.String name)
Switches to the specified tool, where 'name' is "rect", "elliptical", "brush", etc. Returns 'false' if the name is not recognized.


getToolName

public static java.lang.String getToolName()
Returns the name of the current tool.


doWand

public static int doWand(int x,
                         int y)
Equivalent to clicking on the current image at (x,y) with the wand tool. Returns the number of points in the resulting ROI.


doWand

public static int doWand(int x,
                         int y,
                         double tolerance,
                         java.lang.String mode)
Traces the boundary of the area with pixel values within 'tolerance' of the value of the pixel at the starting location. 'tolerance' is in uncalibrated units. 'mode' can be "4-connected", "8-connected" or "Legacy". "Legacy" is for compatibility with previous versions of ImageJ; it is ignored if 'tolerance' > 0.


doWand

public static int doWand(ImagePlus img,
                         int x,
                         int y,
                         double tolerance,
                         java.lang.String mode)
This version of doWand adds an ImagePlus argument.


setPasteMode

public static void setPasteMode(java.lang.String mode)
Sets the transfer mode used by the Edit/Paste command, where mode is "Copy", "Blend", "Average", "Difference", "Transparent", "Transparent2", "AND", "OR", "XOR", "Add", "Subtract", "Multiply", or "Divide".


getImage

public static ImagePlus getImage()
Returns a reference to the active image, or displays an error message and aborts the plugin or macro if no images are open.


getProcessor

public static ImageProcessor getProcessor()
Returns the active image or stack slice as an ImageProcessor, or displays an error message and aborts the plugin or macro if no images are open.


setSlice

public static void setSlice(int slice)
Switches to the specified stack slice, where 1<='slice'<=stack-size.


getVersion

public static java.lang.String getVersion()
Returns the ImageJ version number as a string.


getFullVersion

public static java.lang.String getFullVersion()
Returns the ImageJ version and build number as a String, for example "1.46n05", or 1.46n99 if there is no build number.


getDirectory

public static java.lang.String getDirectory(java.lang.String title)
Returns the path to the home ("user.home"), startup, ImageJ, plugins, macros, luts, temp, current or image directory if title is "home", "startup", "imagej", "plugins", "macros", "luts", "temp", "current", "default", "image", otherwise, displays a dialog and returns the path to the directory selected by the user. Returns null if the specified directory is not found or the user cancels the dialog box. Also aborts the macro if the user cancels the dialog box.


getFilePath

public static java.lang.String getFilePath(java.lang.String dialogTitle)
Displays an open file dialog and returns the path to the choosen file, or returns null if the dialog is canceled.


open

public static void open()
Displays a file open dialog box and then opens the tiff, dicom, fits, pgm, jpeg, bmp, gif, lut, roi, or text file selected by the user. Displays an error message if the selected file is not in one of the supported formats, or if it is not found.


open

public static void open(java.lang.String path)
Opens and displays a tiff, dicom, fits, pgm, jpeg, bmp, gif, lut, roi, or text file. Displays an error message if the specified file is not in one of the supported formats, or if it is not found. With 1.41k or later, opens images specified by a URL.


open

public static void open(java.lang.String path,
                        int n)
Opens and displays the nth image in the specified tiff stack.


openImage

public static ImagePlus openImage(java.lang.String path)
Opens the specified file as a tiff, bmp, dicom, fits, pgm, gif or jpeg image and returns an ImagePlus object if successful. Calls HandleExtraFileTypes plugin if the file type is not recognised. Displays a file open dialog if 'path' is null or an empty string. Note that 'path' can also be a URL. Some reader plugins, including the Bio-Formats plugin, display the image and return null.


openImage

public static ImagePlus openImage(java.lang.String path,
                                  int n)
Opens the nth image of the specified tiff stack.


openImage

public static ImagePlus openImage()
Opens an image using a file open dialog and returns it as an ImagePlus object.


openUrlAsString

public static java.lang.String openUrlAsString(java.lang.String url)
Opens a URL and returns the contents as a string. Returns "" if there an error, including host or file not found.


save

public static void save(java.lang.String path)
Saves the current image, lookup table, selection or text window to the specified file path. The path must end in ".tif", ".jpg", ".gif", ".zip", ".raw", ".avi", ".bmp", ".fits", ".pgm", ".png", ".lut", ".roi" or ".txt".


save

public static void save(ImagePlus imp,
                        java.lang.String path)
Saves the specified image, lookup table or selection to the specified file path. The file path must end with ".tif", ".jpg", ".gif", ".zip", ".raw", ".avi", ".bmp", ".fits", ".pgm", ".png", ".lut", ".roi" or ".txt".


saveAs

public static void saveAs(java.lang.String format,
                          java.lang.String path)

saveAs

public static void saveAs(ImagePlus imp,
                          java.lang.String format,
                          java.lang.String path)

saveAsTiff

public static boolean saveAsTiff(ImagePlus imp,
                                 java.lang.String path)
Saves the specified image in TIFF format. Displays a file save dialog if 'path' is null or an empty string. Returns 'false' if there is an error or if the user selects "Cancel" in the file save dialog.


saveString

public static java.lang.String saveString(java.lang.String string,
                                          java.lang.String path)
Saves a string as a file. Displays a file save dialog if 'path' is null or blank. Returns an error message if there is an exception, otherwise returns null.


append

public static java.lang.String append(java.lang.String string,
                                      java.lang.String path)
Appends a string to the end of a file. A newline character ("\n") is added to the end of the string before it is written. Returns an error message if there is an exception, otherwise returns null.


openAsString

public static java.lang.String openAsString(java.lang.String path)
Opens a text file as a string. Displays a file open dialog if path is null or blank. Returns null if the user cancels the file open dialog. If there is an error, returns a message in the form "Error: message".


createImage

public static ImagePlus createImage(java.lang.String title,
                                    int width,
                                    int height,
                                    int depth,
                                    int bitdepth)
Creates a new image.

Parameters:
title - image name
width - image width in pixels
height - image height in pixels
depth - number of stack images
bitdepth - 8, 16, 32 (float) or 24 (RGB)

createImage

public static ImagePlus createImage(java.lang.String title,
                                    java.lang.String type,
                                    int width,
                                    int height,
                                    int depth)
Creates a new imagePlus. Type should contain "8-bit", "16-bit", "32-bit" or "RGB". In addition, it can contain "white", "black" or "ramp". Width and height specify the width and height of the image in pixels. Depth specifies the number of stack slices.


createImage

public static ImagePlus createImage(java.lang.String title,
                                    java.lang.String type,
                                    int width,
                                    int height,
                                    int channels,
                                    int slices,
                                    int frames)
Creates a new hyperstack.

Parameters:
title - image name
type - "8-bit", "16-bit", "32-bit" or "RGB". May also contain "white" , "black" (the default), "ramp", "composite-mode", "color-mode", "grayscale-mode or "label".
width - image width in pixels
height - image height in pixels
channels - number of channels
slices - number of slices
frames - number of frames

createHyperStack

public static ImagePlus createHyperStack(java.lang.String title,
                                         int width,
                                         int height,
                                         int channels,
                                         int slices,
                                         int frames,
                                         int bitdepth)
Creates a new hyperstack.

Parameters:
title - image name
width - image width in pixels
height - image height in pixels
channels - number of channels
slices - number of slices
frames - number of frames
bitdepth - 8, 16, 32 (float) or 24 (RGB)

newImage

public static void newImage(java.lang.String title,
                            java.lang.String type,
                            int width,
                            int height,
                            int depth)
Opens a new image. Type should contain "8-bit", "16-bit", "32-bit" or "RGB". In addition, it can contain "white", "black" or "ramp". Width and height specify the width and height of the image in pixels. Depth specifies the number of stack slices.


escapePressed

public static boolean escapePressed()
Returns true if the Esc key was pressed since the last ImageJ command started to execute or since resetEscape() was called.


resetEscape

public static void resetEscape()
This method sets the Esc key to the "up" position. The Executer class calls this method when it runs an ImageJ command in a separate thread.


redirectErrorMessages

public static void redirectErrorMessages()
Causes IJ.error() output to be temporarily redirected to the "Log" window.


redirectErrorMessages

public static void redirectErrorMessages(boolean redirect)
Set 'true' and IJ.error() output will be temporarily redirected to the "Log" window.


redirectingErrorMessages

public static boolean redirectingErrorMessages()
Returns the state of the 'redirectErrorMessages' flag, which is set by File/Import/Image Sequence.


suppressPluginNotFoundError

public static void suppressPluginNotFoundError()
Temporarily suppress "plugin not found" errors.


getClassLoader

public static java.lang.ClassLoader getClassLoader()
Returns the class loader ImageJ uses to run plugins or the system class loader if Menus.getPlugInsPath() returns null.


getScreenSize

public static java.awt.Dimension getScreenSize()
Returns the size, in pixels, of the primary display.


getLuts

public static java.lang.String[] getLuts()
Returns, as an array of strings, a list of the LUTs in the Image/Lookup Tables menu.


resetClassLoader

public static void resetClassLoader()

handleException

public static void handleException(java.lang.Throwable e)
Displays a stack trace. Use the setExceptionHandler method() to override with a custom exception handler.


setExceptionHandler

public static void setExceptionHandler(IJ.ExceptionHandler handler)
Installs a custom exception handler that overrides the handleException() method.


addEventListener

public static void addEventListener(IJEventListener listener)

removeEventListener

public static void removeEventListener(IJEventListener listener)

notifyEventListeners

public static void notifyEventListeners(int eventID)