java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
ij.plugin.frame.PlugInFrame
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.lang.Iterable<Roi>
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ListSelectionListener
public class RoiManager extends PlugInFrame implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseWheelListener, javax.swing.event.ListSelectionListener, java.lang.Iterable<Roi>
This plugin implements the Analyze/Tools/ROI Manager command.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
LOC_KEY
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
-
Constructor Summary
Constructors Constructor Description RoiManager()
Opens the "ROI Manager" window, or activates it if it is already open.RoiManager(boolean b)
Constructs an ROIManager without displaying it. -
Method Summary
Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
void
add(Roi roi, int n)
Adds the specified ROI to the list.void
add(ImagePlus imp, Roi roi, int n)
Adds the specified ROI to the list.void
addRoi(Roi roi)
Adds the specified ROI.void
allowRecording(boolean allow)
void
close()
Overrides PlugInFrame.close().void
deselect()
void
deselect(Roi roi)
Deselect the specified ROI if it is the only one selected.int
getCount()
Returns the ROI count.boolean
getDrawLabels()
static java.lang.String
getErrorMessage()
Returns the most recent I/O error message, or null if there was no error.int[]
getIndexes()
Returns an array of the selected indexes or all indexes if none are selected.static java.lang.String
getIndexesAsString()
This is a macro-callable version of getSelectedIndexes().static RoiManager
getInstance()
Returns a reference to the ROI Manager, or null if it is not open and a batch mode macro is not running.static RoiManager
getInstance2()
Returns a reference to the ROI Manager window or to the macro batch mode RoiManager, or null if neither exists.java.awt.List
getList()
Deprecated.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.static RoiManager
getRawInstance()
Roi
getRoi(int index)
Returns a reference to the ROI at the specified index.int
getRoiIndex(Roi roi)
Returns the index of the specified Roi, or -1 if it is not found.static RoiManager
getRoiManager()
Returns a reference to the ROI Manager and opens the "ROI Manager" window if it is not already open.java.util.Hashtable
getROIs()
Deprecated.Roi[]
getRoisAsArray()
Returns the ROIs as an array.int
getSelectedIndex()
Returns the index of the first selected ROI or -1 if no ROI is selected.int[]
getSelectedIndexes()
Returns an array of the selected indexes.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.boolean
isSelected(int index)
Returns 'true' if the index is valid and the indexed ROI is selected.void
itemStateChanged(java.awt.event.ItemEvent e)
java.util.Iterator<Roi>
iterator()
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
moveRoisToOverlay(ImagePlus imp)
Moves all the ROIs to the specified image's overlay.void
multiCrop(java.lang.String directory, java.lang.String options)
ResultsTable
multiMeasure(ImagePlus imp)
This method measures the selected ROIs, or all ROIs if none are selected, on all the slices of a stack and returns a ResultsTable arranged with one row per slice.void
processWindowEvent(java.awt.event.WindowEvent e)
void
rename(int index, java.lang.String newName)
void
reset()
Clears this RoiManager so that it contains no ROIs.static void
resetMultiMeasureResults()
boolean
runCommand(ImagePlus imp, java.lang.String cmd)
Using the specified image, runs 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)
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.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(ImagePlus imp, int index)
Assigns the ROI at the specified index to 'imp'.void
selectAndMakeVisible(ImagePlus imp, int index)
int
selected()
Returns the count of selected ROIs.void
selectGroup(int group)
Selects all ROIs of a given group.static void
selectGroup(java.lang.String group)
Obsolete; replaced by RoiManager.selectGroup() macro function.void
setEditMode(ImagePlus imp, boolean editMode)
void
setGroup(int group)
Sets the group for the selected ROIs.static void
setGroup(java.lang.String group)
Obsolete; replaced by RoiManager.setGroup() macro function.void
setOverlay(Overlay overlay)
void
setPosition(int position)
Sets the position for the selected ROIs.void
setRoi(Roi roi, int index)
Replaces the ROI at the specified index.void
setSelectedIndexes(int[] indexes)
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().java.lang.String
toString()
void
translate(double dx, double dy)
Moves the selected ROIs or all the ROIs if none are selected.void
valueChanged(javax.swing.event.ListSelectionEvent e)
void
windowActivated(java.awt.event.WindowEvent e)
Methods inherited from class ij.plugin.frame.PlugInFrame
focusGained, focusLost, run, 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, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
LOC_KEY
public static final java.lang.String LOC_KEY- See Also:
- Constant Field Values
-
-
Constructor Details
-
RoiManager
public RoiManager()Opens the "ROI Manager" window, or activates it if it is already open.- See Also:
RoiManager(boolean)
,getRoiManager()
-
RoiManager
public RoiManager(boolean b)Constructs an ROIManager without displaying it. The boolean argument is ignored.
-
-
Method Details
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent e)- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
-
addRoi
Adds the specified ROI. -
add
Adds the specified ROI to the list. The second argument ('n') will be used to form the first part of the ROI label if it is zero or greater.- Parameters:
roi
- the Roi to be addedn
- if zero or greater, will be used to form the first part of the label
-
add
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 zero or greater.- Parameters:
imp
- the image associated with the ROI, or nullroi
- the Roi to be addedn
- if zero or greater, will be used to form the first part of the label
-
setRoi
Replaces the ROI at the specified index. -
rename
public void rename(int index, java.lang.String newName) -
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. -
multiMeasure
This method measures the selected ROIs, or all ROIs if none are selected, on all the slices of a stack and returns a ResultsTable arranged with one row per slice.- See Also:
- JavaScript example
-
multiCrop
public void multiCrop(java.lang.String directory, java.lang.String options) -
setGroup
public void setGroup(int group)Sets the group for the selected ROIs. -
setPosition
public void setPosition(int position)Sets the position for the selected ROIs. -
setGroup
public static void setGroup(java.lang.String group)Obsolete; replaced by RoiManager.setGroup() macro function. -
getDrawLabels
public boolean getDrawLabels() -
processWindowEvent
public void processWindowEvent(java.awt.event.WindowEvent e)- Overrides:
processWindowEvent
in classjava.awt.Window
-
getRoiManager
Returns a reference to the ROI Manager and opens the "ROI Manager" window if it is not already open. -
getInstance
Returns a reference to the ROI Manager, or null if it is not open and a batch mode macro is not running. If the ROI Manager is not open and a batch mode macro is running, returns the hidden batch mode RoiManager.- See Also:
getRoiManager()
-
getRawInstance
-
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()Deprecated.Obsolete- See Also:
getCount()
,getRoisAsArray()
-
getList
public java.awt.List getList()Deprecated.Obsolete- See Also:
getCount()
,getRoisAsArray()
,getSelectedIndex()
-
getCount
public int getCount()Returns the ROI count. -
selected
public int selected()Returns the count of selected ROIs. -
getRoiIndex
Returns the index of the specified Roi, or -1 if it is not found. -
getSelectedIndex
public int getSelectedIndex()Returns the index of the first selected ROI or -1 if no ROI is selected. -
getRoi
Returns a reference to the ROI at the specified index. -
getRoisAsArray
Returns the ROIs as an array. -
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. See also: RoiManager.getName() macro function. -
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 usingcall("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 ifcmd
is not one of these strings. -
runCommand
Using the specified image, runs 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. -
runCommand
public boolean runCommand(java.lang.String cmd, java.lang.String name)Executes the ROI Manager "Open", "Save" or "Rename" command. Returns false ifcmd
is not "Open", "Save" or "Rename", or if an error occurs. -
reset
public void reset()Clears this RoiManager so that it contains no ROIs. -
translate
public void translate(double dx, double dy)Moves the selected ROIs or all the ROIs if none are selected. -
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. -
select
public void select(int index)Assigns the ROI at the specified index to the current image. -
select
Assigns the ROI at the specified index to 'imp'. -
selectAndMakeVisible
-
select
public void select(int index, boolean shiftKeyDown, boolean altKeyDown) -
selectGroup
public void selectGroup(int group)Selects all ROIs of a given group. -
selectGroup
public static void selectGroup(java.lang.String group)Obsolete; replaced by RoiManager.selectGroup() macro function. -
deselect
public void deselect() -
deselect
Deselect the specified ROI if it is the only one selected. -
setEditMode
-
close
public void close()Overrides PlugInFrame.close().- Overrides:
close
in classPlugInFrame
-
moveRoisToOverlay
Moves all the ROIs to the specified image's overlay. -
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
-
mouseWheelMoved
public void mouseWheelMoved(java.awt.event.MouseWheelEvent event)- Specified by:
mouseWheelMoved
in interfacejava.awt.event.MouseWheelListener
-
setSelectedIndexes
public void setSelectedIndexes(int[] indexes)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().- See Also:
getSelectedIndexes()
,getSelectedRoisAsArray()
,getCount()
-
getSelectedIndexes
public int[] getSelectedIndexes()Returns an array of the selected indexes. -
getIndexesAsString
public static java.lang.String getIndexesAsString()This is a macro-callable version of getSelectedIndexes(). Example: indexes=split(call("ij.plugin.frame.RoiManager.getIndexesAsString")); -
getIndexes
public int[] getIndexes()Returns an array of the selected indexes or all indexes if none are selected. -
isSelected
public boolean isSelected(int index)Returns 'true' if the index is valid and the indexed ROI is selected. -
allowRecording
public void allowRecording(boolean allow) -
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)- Specified by:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)- Specified by:
valueChanged
in interfacejavax.swing.event.ListSelectionListener
-
windowActivated
public void windowActivated(java.awt.event.WindowEvent e)- Specified by:
windowActivated
in interfacejava.awt.event.WindowListener
- Overrides:
windowActivated
in classPlugInFrame
-
resetMultiMeasureResults
public static void resetMultiMeasureResults() -
setOverlay
-
getErrorMessage
public static java.lang.String getErrorMessage()Returns the most recent I/O error message, or null if there was no error. -
toString
public java.lang.String toString()- Overrides:
toString
in classjava.awt.Component
-
iterator
- Specified by:
iterator
in interfacejava.lang.Iterable<Roi>
-