Class PointRoi

All Implemented Interfaces:
Serializable, Cloneable, Iterable<Point>

public class PointRoi extends PolygonRoi
This class represents a collection of points that can be associated with counters. Use the getPolygon() or getFloatPolygon() methods to retrieve the coordinates of the points.
See Also:
  • Field Details

  • Constructor Details

    • PointRoi

      public PointRoi()
    • PointRoi

      public PointRoi(int[] ox, int[] oy, int points)
      Creates a new PointRoi using the specified int arrays of offscreen coordinates.
    • PointRoi

      public PointRoi(float[] ox, float[] oy, int points)
      Creates a new PointRoi using the specified float arrays of offscreen coordinates.
    • PointRoi

      public PointRoi(float[] ox, float[] oy)
      Creates a new PointRoi using the specified float arrays of offscreen coordinates.
    • PointRoi

      public PointRoi(float[] ox, float[] oy, String options)
      Creates a new PointRoi using the specified coordinate arrays and options.
    • PointRoi

      public PointRoi(FloatPolygon poly)
      Creates a new PointRoi from a FloatPolygon.
    • PointRoi

      public PointRoi(Polygon poly)
      Creates a new PointRoi from a Polygon.
    • PointRoi

      public PointRoi(double ox, double oy, String options)
      Creates a new PointRoi using the specified coordinates and options.
    • PointRoi

      public PointRoi(int ox, int oy)
      Creates a new PointRoi using the specified offscreen int coordinates.
    • PointRoi

      public PointRoi(double ox, double oy)
      Creates a new PointRoi using the specified offscreen double coordinates.
    • PointRoi

      public PointRoi(int sx, int sy, ImagePlus imp)
      Creates a new PointRoi using the specified screen coordinates.
  • Method Details

    • setOptions

      public void setOptions(String options)
    • handleMouseUp

      protected void handleMouseUp(int sx, int sy)
      Description copied from class: PolygonRoi
      With segmented selections, ignore first mouse up and finalize when user double-clicks, control-clicks or clicks in start box.
      Overrides:
      handleMouseUp in class PolygonRoi
    • draw

      public void draw(Graphics g)
      Draws the points on the image.
      Overrides:
      draw in class PolygonRoi
    • drawPixels

      public void drawPixels(ImageProcessor ip)
      Description copied from class: Roi
      Draws the selection outline on the specified ImageProcessor.
      Overrides:
      drawPixels in class PolygonRoi
      See Also:
    • addPoint

      public void addPoint(ImagePlus imp, double ox, double oy)
      Adds a point to this PointRoi.
    • addUserPoint

      public void addUserPoint(ImagePlus imp, double ox, double oy)
    • addPoint

      public PointRoi addPoint(double x, double y)
      Adds a point to this PointRoi.
    • addPoint

      public void addPoint(double x, double y, int position)
      Adds a point at the specified stack position.
    • deletePoint

      protected void deletePoint(int index)
      Overrides:
      deletePoint in class PolygonRoi
    • getCounter

      public int getCounter()
      Returns the index of the current counter.
    • getCount

      public int getCount(int counter)
      Returns the count associated with the specified counter index.
      See Also:
    • getLastCounter

      public int getLastCounter()
      Returns the index of the last counter.
    • getNCounters

      public int getNCounters()
      Returns the number of counters.
    • getCounter

      public int getCounter(int index)
      Returns the counter assocated with the specified point.
    • resetCounters

      public void resetCounters()
      Deletes all counters and stack position associations
    • subtractPoints

      public PointRoi subtractPoints(Roi roi)
      Returns the points of this Roi that are not contained in the specified area ROI. Returns null if there are no resulting points or Roi is not an area roi.
    • containedPoints

      public PointRoi containedPoints(Roi roi)
      Returns the points of this Roi that are contained in the specified area ROI. Returns null if there are no resulting points or Roi is not an area roi.
    • getMask

      public ImageProcessor getMask()
      Description copied from class: Roi
      Always returns null for rectangular Roi's
      Overrides:
      getMask in class PolygonRoi
    • contains

      public boolean contains(int x, int y)
      Returns true if (x,y) is one of the points in this collection.
      Overrides:
      contains in class PolygonRoi
    • setShowLabels

      public void setShowLabels(boolean showLabels)
    • getShowLabels

      public boolean getShowLabels()
    • setDefaultType

      public static void setDefaultType(int type)
    • getDefaultType

      public static int getDefaultType()
    • setPointType

      public void setPointType(int type)
      Sets the point type (0=hybrid, 1=cross, 2=dot, 3=circle).
    • getPointType

      public int getPointType()
      Returns the point type (0=hybrid, 1=cross, 2=dot, 3=circle).
    • setDefaultSize

      public static void setDefaultSize(int size)
      Sets the default point size, where 'size' is 0-6 (Tiny-XXXL).
    • getDefaultSize

      public static int getDefaultSize()
      Returns the default point size 0-6 (Tiny-XXXL).
    • setSize

      public void setSize(int size)
      Sets the point size, where 'size' is 0-6 (Tiny-XXXL).
    • getSize

      public int getSize()
      Returns the current point size 0-6 (Tiny-XXXL).
    • subPixelResolution

      public boolean subPixelResolution()
      Always returns true.
      Overrides:
      subPixelResolution in class Roi
    • setCounter

      public void setCounter(int counter)
    • promptBeforeDeleting

      public boolean promptBeforeDeleting()
    • promptBeforeDeleting

      public void promptBeforeDeleting(Boolean prompt)
    • setDefaultCounter

      public static void setDefaultCounter(int counter)
    • getCounters

      public int[] getCounters()
      Returns an array containing for each point: The counter number (0-100) in the lower 8 bits, and the slice number (or 0, if the point appears on all slices) in the higher 24 bits. Used when writing a Roi to file (RoiEncoder)
    • setCounters

      public void setCounters(int[] counters)
      Sets the counter number and slice number for each point from an array, where the lower 8 bits are the counter number and the higher 24 bits contain the slice position of each point. Used when reading a roi from file (RoiDecoder).
    • updateCounts

      public void updateCounts()
      Updates the counts for each category in 'counters'
    • setPosition

      public void setPosition(int n)
      Sets the stack position (image number) of all points in this Roi. The points are only displayed when the stack is at the specified position. Set to zero to have the points displayed on all images in the stack. The stack position, when set, determines the visibility of this Roi (i) if it is part of an overlay (normal overlay or the RoiManager's 'Show All' overlay), or (ii) if it is the currently active Roi and Prefs.showAllPoints ('Show an all slices' in the Point Tool Options dialog) is off. Clears any association of this Roi to a hyperstack position. Stack positions of individual points are overwritten. Note that the behavior differs from that of the other Roi types: For the other Roi types, setPosition does not restrict the visibility to stack slice 'n' if that roi is the currently active Roi; it only affects the visibility if that Roi is part of an overlay.
      Overrides:
      setPosition in class Roi
      See Also:
    • getPosition

      public int getPosition()
      Returns the stack position (image number) of the points in this Roi, if all points have the same position. Returns 0 if none of the points is associated with a particular stack image, and PointRoi.POINTWISE_POSITION = -2 if there are different stack positions for different points.
      Overrides:
      getPosition in class Roi
      See Also:
    • getPointPosition

      public int getPointPosition(int index)
      Returns the stack slice of the point with the given index, or 0 if no slice defined for this point
    • hasPointPosition

      public boolean hasPointPosition(int slice)
      Returns whether this Roi contains a point associated to the given stack slice. Returns true for (non-existant) slice 0. Does not care whether points would be shown irrespective of the slice number (as given by the Point Tool options "Show on all slices", Prefs.showAllPoints).
    • displayCounts

      public void displayCounts()
    • getCounterChoices

      public static String[] getCounterChoices()
    • isHandle

      public int isHandle(int sx, int sy)
      Returns a point index if it has been at least one second since the last point was added and the specified screen coordinates are inside or near a point, otherwise returns -1.
      Overrides:
      isHandle in class PolygonRoi
    • getContainedPoints

      public Point[] getContainedPoints()
      Returns the points as an array of Points. Wilhelm Burger: modified to use FloatPolygon for correct point positions.
      Overrides:
      getContainedPoints in class Roi
      See Also:
    • getContainedFloatPoints

      public FloatPolygon getContainedFloatPoints()
      Returns the points as a FloatPolygon.
      Overrides:
      getContainedFloatPoints in class Roi
      See Also:
    • iterator

      public Iterator<Point> iterator()
      Custom iterator for points contained in a PointRoi. Author: W. Burger
      Specified by:
      iterator in interface Iterable<Point>
      Overrides:
      iterator in class Roi
      See Also:
    • getClosestPoint

      protected int getClosestPoint(double x, double y, FloatPolygon points)
      Overrides:
      getClosestPoint in class PolygonRoi
    • clone

      public Object clone()
      Returns a copy of this PointRoi.
      Overrides:
      clone in class PolygonRoi
    • crop

      public PointRoi crop(Roi roi)
    • copyAttributes

      public void copyAttributes(Roi roi2)
      Description copied from class: Roi
      Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.
      Overrides:
      copyAttributes in class Roi
    • setCounterInfo

      public void setCounterInfo(int[] info)
    • getCounterInfo

      public int[] getCounterInfo()
    • addToOverlay

      public boolean addToOverlay()
    • toString

      public String toString()
      Overrides:
      toString in class Roi
    • setHideLabels

      public void setHideLabels(boolean hideLabels)
      Deprecated.
    • setDefaultMarkerSize

      public static void setDefaultMarkerSize(String size)
      Deprecated.
    • getDefaultMarkerSize

      public static String getDefaultMarkerSize()
      Deprecated.
    • setDefaultCrossColor

      public static void setDefaultCrossColor(Color color)
      Deprecated
    • getDefaultCrossColor

      public static Color getDefaultCrossColor()
      Deprecated