ij.plugin.frame
Class RoiManager

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by ij.plugin.frame.PlugInFrame
                      extended by ij.plugin.frame.RoiManager
All Implemented Interfaces:
PlugIn, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseWheelListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class RoiManager
extends PlugInFrame
implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseWheelListener

This plugin implements the Analyze/Tools/ROI Manager command.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
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
static int LABELS
           
static java.lang.String LOC_KEY
           
static int NO_LABELS
           
static int SHOW_ALL
           
static int SHOW_NONE
           
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RoiManager()
           
RoiManager(boolean hideWindow)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void add(ImagePlus imp, Roi roi, int n)
          Adds the specified ROI to the list.
static void addMaskFromRois(ImagePlus imp, java.awt.Color color, Roi[] rois)
           
static void addMaskFromWaves(ImagePlus imp, java.awt.Color color, Waves waves)
           
 void addRoi(Roi roi)
          Adds the specified ROI.
 void autonameSelectedROIs()
           
 void autonameSelectedROIs(java.lang.String prefix)
           
 void clear()
           
 void close()
          Overrides PlugInFrame.close().
 boolean delete(boolean replacing)
           
 void delete(int index)
           
 void deleteAll()
           
 void deleteSelected()
           
 void deselect(int index)
           
 void deselectAll()
           
 void flatten()
           
 int getCount()
          Returns the ROI count.
 boolean getDrawLabels()
           
static RoiManager getInstance()
          Returns a reference to the ROI Manager or null if it is not open.
static RoiManager getInstance2()
          Returns a reference to the ROI Manager window or to the macro batch mode RoiManager, or null if neither exists.
 int getItemIndex(java.lang.String name)
           
 java.awt.List getList()
          Returns the selection list.
 java.lang.String getName(int index)
          Returns the name of the ROI with the specified index, or null if the index is out of range.
static java.lang.String getName(java.lang.String index)
          Returns the name of the ROI with the specified index.
 Roi getRoi(java.lang.String roiName)
           
 int getRoiIndex(Roi roi)
           
 java.util.Hashtable getROIs()
          Returns the ROI Hashtable.
 Roi[] getRoisAsArray()
          Returns the ROIs as an array.
static Roi[] getRoisForWaves(Waves waves)
           
 int getSelectedIndex()
           
 int[] getSelectedIndexes()
           
 Roi getSelectedRoi()
           
 Roi[] getSelectedRoisAsArray()
          Returns the selected ROIs as an array, or all the ROIs if none are selected.
 int getSliceNumber(java.lang.String label)
          Returns the slice number associated with the specified name, or -1 if the name does not include a slice number.
 void itemStateChanged(java.awt.event.ItemEvent e)
           
static ImagePlus makeMaskFromRois(int width, int height, java.awt.Color color, Roi[] rois)
           
static ImagePlus makeMaskFromRois(int width, int height, java.lang.String title, java.awt.Color color, Roi[] rois, boolean showImage)
           
 ImagePlus makeMaskFromSelectedRois(int width, int height, java.lang.String title, java.awt.Color color, boolean showImage)
           
static ImagePlus makeMaskFromWaves(int width, int height, java.lang.String title, java.awt.Color color, Waves waves, boolean showImage)
           
static ImagePlus makeMasksFromWaves(int width, int height, java.lang.String title, java.awt.Color[] colors, Waves[] waves, boolean showImage)
           
 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 mouseWheelMoved(java.awt.event.MouseWheelEvent event)
           
 void moveDown(java.lang.String waveName)
           
 void moveRoisToOverlay(ImagePlus imp)
          Moves all the ROIs to the specified image's overlay.
 void moveUp(java.lang.String waveName)
           
 void open(java.lang.String path)
           
 void processWindowEvent(java.awt.event.WindowEvent e)
           
 boolean rename(java.lang.String name2)
           
 boolean rename(java.lang.String name2, boolean suppressErrors)
           
 void rename(java.lang.String name, java.lang.String newName)
           
 void rescale()
           
 void rescale(int fromBin, int toBin)
           
 boolean runCommand(java.lang.String cmd)
          Executes the ROI Manager "Add", "Add & Draw", "Update", "Delete", "Measure", "Draw", "Show All", Show None", "Fill", "Deselect", "Select All", "Combine", "AND", "XOR", "Split", "Sort" or "Multi Measure" command.
 boolean runCommand(java.lang.String cmd, java.lang.String name)
          Executes the ROI Manager "Open", "Save" or "Rename" command.
 boolean runCommand(java.lang.String cmd, java.lang.String hexColor, double lineWidth)
          Adds the current selection to the ROI Manager, using the specified color (a 6 digit hex string) and line width.
 boolean save(java.lang.String name)
           
 void select(ImagePlus imp, int index)
           
 void select(ImagePlus imp, int index, boolean silent)
          Assigns the ROI at the specified index to 'imp'.
 void select(int index)
          Assigns the ROI at the specified index to the current image.
 void select(int index, boolean shiftKeyDown, boolean altKeyDown)
           
 void select(java.lang.String name)
           
 void setEditMode(ImagePlus imp, boolean editMode)
           
 void setMultipleMode(boolean mm)
           
 void setSelectedFromWaveManager()
           
 void setSelectedFromWaves(Waves waves)
           
 void setSelectedIndexes(int[] indexes)
          Temporarily selects multiple ROIs, where 'indexes' is an array of integers, each greater than or equal to 0 and less than the value returned by getCount().
 void showAll(int mode)
           
 
Methods inherited from class ij.plugin.frame.PlugInFrame
focusGained, focusLost, run, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
 
Methods inherited from class java.awt.Frame
addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, transferFocusBackward, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, 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

LOC_KEY

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

SHOW_ALL

public static final int SHOW_ALL
See Also:
Constant Field Values

SHOW_NONE

public static final int SHOW_NONE
See Also:
Constant Field Values

LABELS

public static final int LABELS
See Also:
Constant Field Values

NO_LABELS

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

RoiManager

public RoiManager()

RoiManager

public RoiManager(boolean hideWindow)
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class PlugInFrame

autonameSelectedROIs

public void autonameSelectedROIs(java.lang.String prefix)

rescale

public void rescale()

rescale

public void rescale(int fromBin,
                    int toBin)

autonameSelectedROIs

public void autonameSelectedROIs()

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

addRoi

public void addRoi(Roi roi)
Adds the specified ROI.


add

public void add(ImagePlus imp,
                Roi roi,
                int n)
Adds the specified ROI to the list. The third argument ('n') will be used to form the first part of the ROI label if it is >= 0.


deleteSelected

public void deleteSelected()

moveUp

public void moveUp(java.lang.String waveName)

moveDown

public void moveDown(java.lang.String waveName)

clear

public void clear()

deleteAll

public void deleteAll()

delete

public void delete(int index)

delete

public boolean delete(boolean replacing)

rename

public void rename(java.lang.String name,
                   java.lang.String newName)

rename

public boolean rename(java.lang.String name2)

rename

public boolean rename(java.lang.String name2,
                      boolean suppressErrors)

getSliceNumber

public int getSliceNumber(java.lang.String label)
Returns the slice number associated with the specified name, or -1 if the name does not include a slice number.


open

public void open(java.lang.String path)

flatten

public void flatten()

getDrawLabels

public boolean getDrawLabels()

showAll

public void showAll(int mode)

processWindowEvent

public void processWindowEvent(java.awt.event.WindowEvent e)
Overrides:
processWindowEvent in class java.awt.Window

getInstance

public static RoiManager getInstance()
Returns a reference to the ROI Manager or null if it is not open.


getInstance2

public static RoiManager getInstance2()
Returns a reference to the ROI Manager window or to the macro batch mode RoiManager, or null if neither exists.


getROIs

public java.util.Hashtable getROIs()
Returns the ROI Hashtable.

See Also:
getCount, getRoisAsArray

getRoi

public Roi getRoi(java.lang.String roiName)

getList

public java.awt.List getList()
Returns the selection list.

See Also:
getCount, getRoisAsArray

getCount

public int getCount()
Returns the ROI count.


getRoisAsArray

public Roi[] getRoisAsArray()
Returns the ROIs as an array.


getSelectedIndex

public int getSelectedIndex()

getRoiIndex

public int getRoiIndex(Roi roi)

getSelectedRoi

public Roi getSelectedRoi()

getSelectedRoisAsArray

public Roi[] getSelectedRoisAsArray()
Returns the selected ROIs as an array, or all the ROIs if none are selected.


getName

public java.lang.String getName(int index)
Returns the name of the ROI with the specified index, or null if the index is out of range.


getName

public static java.lang.String getName(java.lang.String index)
Returns the name of the ROI with the specified index. Can be called from a macro using
call("ij.plugin.frame.RoiManager.getName", index)
Returns "null" if the Roi Manager is not open or index is out of range.


runCommand

public boolean runCommand(java.lang.String cmd)
Executes the ROI Manager "Add", "Add & Draw", "Update", "Delete", "Measure", "Draw", "Show All", Show None", "Fill", "Deselect", "Select All", "Combine", "AND", "XOR", "Split", "Sort" or "Multi Measure" command. Returns false if cmd is not one of these strings.


save

public boolean save(java.lang.String name)

runCommand

public boolean runCommand(java.lang.String cmd,
                          java.lang.String name)
Executes the ROI Manager "Open", "Save" or "Rename" command. Returns false if cmd is not "Open", "Save" or "Rename", or if an error occurs.


runCommand

public boolean runCommand(java.lang.String cmd,
                          java.lang.String hexColor,
                          double lineWidth)
Adds the current selection to the ROI Manager, using the specified color (a 6 digit hex string) and line width.


getItemIndex

public int getItemIndex(java.lang.String name)

select

public void select(java.lang.String name)

deselectAll

public void deselectAll()

select

public void select(int index)
Assigns the ROI at the specified index to the current image.


deselect

public void deselect(int index)

setMultipleMode

public void setMultipleMode(boolean mm)

select

public void select(ImagePlus imp,
                   int index)

select

public void select(ImagePlus imp,
                   int index,
                   boolean silent)
Assigns the ROI at the specified index to 'imp'.


select

public void select(int index,
                   boolean shiftKeyDown,
                   boolean altKeyDown)

setEditMode

public void setEditMode(ImagePlus imp,
                        boolean editMode)

close

public void close()
Overrides PlugInFrame.close().

Overrides:
close in class PlugInFrame

moveRoisToOverlay

public void moveRoisToOverlay(ImagePlus imp)
Moves all the ROIs to the specified image's overlay.


mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class PlugInFrame

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent event)
Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

makeMaskFromSelectedRois

public ImagePlus makeMaskFromSelectedRois(int width,
                                          int height,
                                          java.lang.String title,
                                          java.awt.Color color,
                                          boolean showImage)

makeMaskFromRois

public static ImagePlus makeMaskFromRois(int width,
                                         int height,
                                         java.awt.Color color,
                                         Roi[] rois)

makeMaskFromRois

public static ImagePlus makeMaskFromRois(int width,
                                         int height,
                                         java.lang.String title,
                                         java.awt.Color color,
                                         Roi[] rois,
                                         boolean showImage)

addMaskFromWaves

public static void addMaskFromWaves(ImagePlus imp,
                                    java.awt.Color color,
                                    Waves waves)

addMaskFromRois

public static void addMaskFromRois(ImagePlus imp,
                                   java.awt.Color color,
                                   Roi[] rois)

makeMasksFromWaves

public static ImagePlus makeMasksFromWaves(int width,
                                           int height,
                                           java.lang.String title,
                                           java.awt.Color[] colors,
                                           Waves[] waves,
                                           boolean showImage)

getRoisForWaves

public static Roi[] getRoisForWaves(Waves waves)

makeMaskFromWaves

public static ImagePlus makeMaskFromWaves(int width,
                                          int height,
                                          java.lang.String title,
                                          java.awt.Color color,
                                          Waves waves,
                                          boolean showImage)

setSelectedFromWaveManager

public void setSelectedFromWaveManager()

setSelectedFromWaves

public void setSelectedFromWaves(Waves waves)

setSelectedIndexes

public void setSelectedIndexes(int[] indexes)
Temporarily selects multiple ROIs, where 'indexes' is an array of integers, each greater than or equal to 0 and less than the value returned by getCount(). The selected ROIs are not highlighted in the ROI Manager list and are no longer selected after the next ROI Manager command is executed.


getSelectedIndexes

public int[] getSelectedIndexes()

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class PlugInFrame

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class PlugInFrame

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener
Overrides:
mouseEntered in class PlugInFrame

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener
Overrides:
mouseExited in class PlugInFrame