Module ij

Class RoiManager

All Implemented Interfaces:
PlugIn, ActionListener, FocusListener, ItemListener, MouseListener, MouseWheelListener, WindowListener, ImageObserver, MenuContainer, Serializable, Iterable<Roi>, EventListener, Accessible, ListSelectionListener

This plugin implements the Analyze/Tools/ROI Manager command.
See Also:
  • Field Details

  • Constructor Details

    • RoiManager

      public RoiManager()
      Opens the "ROI Manager" window, or activates it if it is already open.
      See Also:
    • RoiManager

      public RoiManager(boolean b)
      Constructs an ROI Manager without displaying it. The boolean argument is ignored.
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent e)
      Specified by:
      actionPerformed in interface ActionListener
    • itemStateChanged

      public void itemStateChanged(ItemEvent e)
      Specified by:
      itemStateChanged in interface ItemListener
    • addRoi

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

      public void add(Roi roi, int n)
      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 added
      n - if zero or greater, will be used to form the first part of the label
    • 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 zero or greater.
      Parameters:
      imp - the image associated with the ROI, or null
      roi - the Roi to be added
      n - if zero or greater, will be used to form the first part of the label
    • setRoi

      public void setRoi(Roi roi, int index)
      Replaces the ROI at the specified index.
    • rename

      public void rename(int index, String newName)
    • getSliceNumber

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

      public boolean open(String path)
      Opens a single .roi file or a ZIP-compressed set of ROIs. Returns 'true' if the operation was succesful.
    • save

      public boolean save(String path)
      If one ROI is selected, it is saved as a .roi file, if multiple (or no) ROIs are selected, they are saved as a .zip ROI set. Returns 'true' if the save operation was succesful.
      See Also:
    • multiMeasure

      public 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.
      See Also:
    • multiMeasure

      public static ResultsTable multiMeasure(ImagePlus imp, Roi[] rois, boolean appendResults)
    • multiCrop

      public void multiCrop(String directory, String options)
    • setGroup

      public void setGroup(int group)
      Sets the group for the selected ROIs.
    • setPosition

      public void setPosition(int position)
      Sets the position of the selected ROIs.
    • setPosition

      public void setPosition(int c, int z, int t)
      Sets the c,z,t position of the selected ROIs.
    • setGroup

      public static void setGroup(String group)
      Obsolete; replaced by RoiManager.setGroup() macro function.
    • getDrawLabels

      public boolean getDrawLabels()
    • processWindowEvent

      public void processWindowEvent(WindowEvent e)
      Overrides:
      processWindowEvent in class Window
    • getRoiManager

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

      public 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. If the ROI Manager is not open and a batch mode macro is running, returns the hidden batch mode RoiManager.
      See Also:
    • getRawInstance

      public static RoiManager getRawInstance()
    • 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 Hashtable getROIs()
      Deprecated.
      Obsolete
      See Also:
    • getList

      public List getList()
      Deprecated.
      Obsolete
      See Also:
    • getCount

      public int getCount()
      Returns the ROI count.
    • selected

      public int selected()
      Returns the count of selected ROIs.
    • getRoiIndex

      public int getRoiIndex(Roi roi)
      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

      public Roi getRoi(int index)
      Returns a reference to the ROI at the specified index.
    • getRoisAsArray

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

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

      public 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.
    • getIndex

      public int getIndex(String name)
      Returns the index of the first ROI with the specified name, or -1 if no ROI has that name. See also: RoiManager.getIndex() macro function.
    • getName

      public static String getName(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(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.
    • runCommand

      public boolean runCommand(ImagePlus imp, 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.
    • runCommand

      public boolean runCommand(String cmd, 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.
    • reset

      public void reset()
      Clears this RoiManager so that it contains no ROIs.
    • scale

      public void scale(double xscale, double yscale, boolean centered)
    • rotate

      public void rotate(double angle)
    • rotate

      public void rotate(double angle, double xcenter, double ycenter)
    • translate

      public void translate(double dx, double dy)
      Moves the selected ROIs or all the ROIs if none are selected.
    • runCommand

      public boolean runCommand(String cmd, 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

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

      public void selectAndMakeVisible(ImagePlus imp, int index)
    • select

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

      public void selectGroup(int group)
      Selects all ROIs of a given group.
    • selectPosition

      public void selectPosition(int c, int z, int t)
      Selects all ROIs at the specified position.
    • selectGroup

      public static void selectGroup(String group)
      Obsolete; replaced by RoiManager.selectGroup() macro function.
    • deselect

      public void deselect()
    • deselect

      public void deselect(Roi roi)
      Deselect the specified ROI if it is the only one selected.
    • 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(MouseEvent e)
      Specified by:
      mousePressed in interface MouseListener
    • mouseWheelMoved

      public void mouseWheelMoved(MouseWheelEvent event)
      Specified by:
      mouseWheelMoved in interface 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

      public int[] getSelectedIndexes()
      Returns an array of the selected indexes.
    • getIndexesAsString

      public static 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)
    • restoreCentered

      public static void restoreCentered(boolean b)
    • mouseClicked

      public void mouseClicked(MouseEvent e)
      Specified by:
      mouseClicked in interface MouseListener
    • mouseReleased

      public void mouseReleased(MouseEvent e)
      Specified by:
      mouseReleased in interface MouseListener
    • mouseEntered

      public void mouseEntered(MouseEvent e)
      Specified by:
      mouseEntered in interface MouseListener
    • mouseExited

      public void mouseExited(MouseEvent e)
      Specified by:
      mouseExited in interface MouseListener
    • valueChanged

      public void valueChanged(ListSelectionEvent e)
      Specified by:
      valueChanged in interface ListSelectionListener
    • windowActivated

      public void windowActivated(WindowEvent e)
      Specified by:
      windowActivated in interface WindowListener
      Overrides:
      windowActivated in class PlugInFrame
    • resetMultiMeasureResults

      public static void resetMultiMeasureResults()
    • setOverlay

      public void setOverlay(Overlay overlay)
    • getErrorMessage

      public static String getErrorMessage()
      Returns the most recent I/O error message, or null if there was no error.
    • toString

      public String toString()
      Overrides:
      toString in class Component
    • iterator

      public Iterator<Roi> iterator()
      Specified by:
      iterator in interface Iterable<Roi>