|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.xinapse.multisliceimage.roi.ROI
com.xinapse.multisliceimage.roi.LineROI
public class LineROI
A Class representing a straight line on an image.
| Field Summary | |
|---|---|
static java.lang.String |
X1TOKEN
The token written to ROI output files to represent the x-coordinate of the first end of the line. |
static java.lang.String |
X2TOKEN
The token written to ROI output files to represent the x-coordinate of the second end of the line. |
static java.lang.String |
Y1TOKEN
The token written to ROI output files to represent the y-coordinate of the first end of the line. |
static java.lang.String |
Y2TOKEN
The token written to ROI output files to represent the y-coordinate of the second end of the line. |
| Fields inherited from class com.xinapse.multisliceimage.roi.ROI |
|---|
handles, PREFERENCES_NODE_NAME, XTOKEN, YTOKEN |
| Constructor Summary | |
|---|---|
LineROI(double x1,
double y1,
double x2,
double y2)
Creates a new LineROI with the coordinates of the points forming the line in mm coordinates. |
|
LineROI(double x1,
double y1,
double x2,
double y2,
byte userColour,
ROIState state)
Creates a new LineROI with the coordinates of the points forming the line in mm coordinates. |
|
LineROI(double x1,
double y1,
double x2,
double y2,
ROIState state)
Creates a new LineROI with the coordinates of the points forming the line in mm coordinates. |
|
| Method Summary | |
|---|---|
java.util.List<ROI> |
add(ROI roi)
Morphologically adds an ROI to this ROI to create a new java.util.List<ROI> of ROIs that is the result of adding the shapes of the two ROIs. |
LineROI |
clone()
Returns a clone of this ROI. |
boolean |
contains(ROI roi)
Indicates whether this LineROI contains another ROI entirely within its borders. |
java.util.List<ROI> |
dilate(double radius,
java.util.concurrent.atomic.AtomicInteger opCounter,
CancellableThread.Flag cancelFlag)
Dilates this ROI by the specified distance. |
boolean |
draw(java.awt.Graphics g,
java.awt.Rectangle visibleRectangle,
int imageDrawCols,
int imageDrawRows,
int xOffset,
int yOffset,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize,
boolean drawAnnotation)
LineROIs are a special case, since we can't use the Bounding Rectangle to decide whether a Line is on screen, since the line may be vertical or horizontal, and therefore have an empty boundng rectangle. |
void |
drawInOrthoView(java.awt.Image orthoView,
javax.vecmath.Point3f orthoViewPosition,
javax.media.j3d.Transform3D imageToViewTx,
int nCols,
int nRows,
int nSlices,
float pixelXSize,
float pixelYSize,
boolean filled)
Draws this ROI on top of an orthogonal view of an image. |
boolean |
equals(java.lang.Object o)
Indicates whether some Object is equal to this ROI. |
java.util.List<ROI> |
exclusiveOr(ROI roi)
Performs an exclusive OR operation on the shape of this ROI with another ROI. |
void |
flipHorizontal(java.awt.geom.Point2D flipPoint)
Flip this ROI horizontally about a given location. |
void |
flipVertical(java.awt.geom.Point2D flipPoint)
Flip this ROI vertically about a given location. |
java.awt.geom.Rectangle2D |
getBoundingRectangle(int nCols,
int nRows,
float pixelXSize,
float pixelYSize)
Returns a high-precision rectangle (in pixel coordinates) that just bounds this ROI. |
static javax.swing.Icon |
getButtonIcon()
Returns an Icon that can be used for a button to create this type of ROI. |
java.awt.geom.Point2D |
getCentre()
Gets the centre (about which rotation will occur) of this RotatableROI in mm. |
ROI |
getCopy()
Returns a copy of this ROI. |
static ROICreateDialog |
getCreateDialog(CanAddROIToFrame listener)
Returns a JDialog that can be used to create Line ROIs. |
static InteractionType |
getCreateInteractionType()
Returns the type of interaction needed to create a LineROI. |
java.lang.String |
getDescription()
Return a description of this type of ROI. |
Feret |
getFeret()
Returns the minimum and maximum Feret's diameter for this ROI, in mm. |
static ROI |
getInstance(java.awt.geom.Point2D p1,
java.awt.geom.Point2D p2,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize,
byte userColour,
ROIState state)
|
java.awt.geom.Point2D[] |
getIntensityProfile(java.lang.Object pix,
PixelDataType dataType,
int nCols,
int nRows,
int offset,
float pixelXSize,
float pixelYSize,
ComplexMode complexMode)
Returns an array of Point2D representing the pixel intensities along this LinearROI. |
double |
getIntersectionLength(java.awt.geom.Rectangle2D rectangle,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize)
Calculates the length of the line segment where this LineROI intersects the given Rectangle argument. |
double |
getLength()
Returns the length of this ROI in mm. |
double |
getLengthPix(float pixelXSize,
float pixelYSize)
Returns the length of this ROI in image pixels. |
java.awt.geom.Line2D |
getLine()
Returns the line forming this LineROI in mm coordinates. |
static java.lang.String |
getName()
Returns a descriptive name for this type of ROI. |
java.awt.geom.Point2D |
getOppositeEnd(EndHandle endHandle)
Returns the location of the end that is at the other end to the specified handle. |
double |
getPerimeter()
Returns the perimeter length of this ROI. |
double |
getSquareArea()
Returns the area of this regular ROI in square mm. |
ROIStats |
getStats(java.lang.Object pix,
PixelDataType dataType,
int nCols,
int nRows,
int offset,
float pixelXSize,
float pixelYSize,
MaskAction maskAction,
MaskMode maskMode,
double maskValue,
java.io.PrintStream intensityOutputStream,
boolean isUnitsMM,
ComplexMode complexMode)
Returns statistics about this ROI, and (optionally) performs a masking operation. |
double |
getTheta()
Returns the current rotation angle for this RotatableROI. |
double |
getX1()
Returns the x-coordinate of the first end of the line. |
double |
getX2()
Returns the x-coordinate of the second end of the line. |
double |
getY1()
Returns the y-coordinate of the first end of the line. |
double |
getY2()
Returns the y-coordinate of the second end of the line. |
int |
hashCode()
Returns a hash code value for this LineROI. |
java.util.List<ROI> |
intersect(ROI roi)
Performs an intersection operation on the shape of this ROI with another ROI. |
boolean |
intersects(ROI roi)
Tests whether this ROI intersects another ROI. |
void |
move(double dx,
double dy)
Move this ROI by specified distances (in mm) in the x and y directions. |
void |
move(java.awt.geom.Point2D p1,
java.awt.geom.Point2D p2)
Moves this LineROI so that the ends are at the new specified locations. |
boolean |
selectDeselect(java.awt.Point point,
boolean editMode,
boolean showDeleted,
int nAlreadySelected)
Selects or deselects an ROI after a user click at the point. |
void |
set(ROI roi)
Sets the shape of this ROI to the shape of the supplied argument ROI. |
void |
setTheta(double theta)
Sets the rotation angle for this RotatableROI. |
java.util.List<ROI> |
subtract(ROI roi)
Morphologically subtracts an ROI from this ROI to create a new java.util.List<ROI> of ROIs that is the result of subtracting the shapes of the two ROIs. |
java.lang.String |
toString()
Returns a String describing this ROI. |
| Methods inherited from class com.xinapse.multisliceimage.roi.ROI |
|---|
add, addMorphological, clearDeletionHistory, clearStats, dilate, getAnnotation, getBoundingRectangle, getCachedStatistics, getClasses, getColor, getDisplayedBounds2D, getDisplayedBounds2D, getDisplayedRoiArea, getFeret, getHandles, getHandleUnderPoint, getImageSource, getPixelValue, getROIs, getROIs, getROIs, getSlice, getState, getStats, getStats, getTextColor, getTextFontSize, getUserColour, isDeleted, isEditable, isReloaded, isSelected, join, main, markDeleted, mmPosToPix, moveROIs, pixPosToMm, printStats, setAnnotation, setCreationHistory, setSlice, setState, setTextColor, setTextSize, setUserColour, subtract, write, write |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String X1TOKEN
public static final java.lang.String Y1TOKEN
public static final java.lang.String X2TOKEN
public static final java.lang.String Y2TOKEN
| Constructor Detail |
|---|
public LineROI(double x1,
double y1,
double x2,
double y2)
throws ROIException
x1 - the x-location of the first end of the line.y1 - the y-location of the first end of the line.x2 - the x-location of the second end of the line.y2 - the y-location of the second end of the line.
ROIException - if the line length is zero.
public LineROI(double x1,
double y1,
double x2,
double y2,
ROIState state)
throws ROIException
x1 - the x-location of the first end of the line.y1 - the y-location of the first end of the line.x2 - the x-location of the second end of the line.y2 - the y-location of the second end of the line.state - the selection state of the LineROI.
ROIException - if the line length is zero.
public LineROI(double x1,
double y1,
double x2,
double y2,
byte userColour,
ROIState state)
throws ROIException
x1 - the x-location of the first end of the line.y1 - the y-location of the first end of the line.x2 - the x-location of the second end of the line.y2 - the y-location of the second end of the line.state - the selection state of the LineROI.
ROIException - if the line length is zero.| Method Detail |
|---|
public java.awt.geom.Line2D getLine()
public double getLength()
LinearROI
getLength in interface LinearROI
public double getLengthPix(float pixelXSize,
float pixelYSize)
LinearROI
getLengthPix in interface LinearROIpixelXSize - the size of image pixels in the horizontal direction.pixelYSize - the size of image pixels in the vertical direction.
public java.awt.geom.Point2D[] getIntensityProfile(java.lang.Object pix,
PixelDataType dataType,
int nCols,
int nRows,
int offset,
float pixelXSize,
float pixelYSize,
ComplexMode complexMode)
LinearROI
getIntensityProfile in interface LinearROIpix - the array of pixel intensities for in which this LinearROI is positioned.dataType - the PixelDataType of the array of pixel intensities.nCols - the number of columns in the slice.nRows - the number of rows in the slice.offset - an offset (in pixels) into the pixel value array for the starting
pixel of the slice on which this ROI is defined.pixelXSize - the size of image pixels in the horizontal direction.pixelYSize - the size of image pixels in the vertical direction.complexMode - the calculation mode for Complex images. The intensity profile
returned will correspond to the mode: the real part, imaginary part, magnitude or phase.
public double getX1()
public double getY1()
public double getX2()
public double getY2()
public java.awt.geom.Point2D getOppositeEnd(EndHandle endHandle)
endHandle - the Handle for the first end.
public static ROI getInstance(java.awt.geom.Point2D p1,
java.awt.geom.Point2D p2,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize,
byte userColour,
ROIState state)
throws ROIException
ROIExceptionpublic double getTheta()
RotatableROI
getTheta in interface RotatableROIpublic void setTheta(double theta)
RotatableROI
setTheta in interface RotatableROItheta - the rotation angle.public java.awt.geom.Point2D getCentre()
RotatableROI
getCentre in interface RotatableROIpublic static InteractionType getCreateInteractionType()
public double getSquareArea()
RegularROI
getSquareArea in interface RegularROI
public void move(java.awt.geom.Point2D p1,
java.awt.geom.Point2D p2)
p1 - the new location of the first end of the line.p2 - the new location of the second end of the line.
public void move(double dx,
double dy)
ROI
move in class ROIdx - the distance to move in the x-direction.dy - the distance to move in the y-direction.public void flipVertical(java.awt.geom.Point2D flipPoint)
ROI
flipVertical in class ROIflipPoint - the point about which the ROI will be flipped.public void flipHorizontal(java.awt.geom.Point2D flipPoint)
ROI
flipHorizontal in class ROIflipPoint - the point about which the ROI will be flipped.public java.util.List<ROI> add(ROI roi)
ROI
add in class ROIroi - the ROI to add.
public java.util.List<ROI> subtract(ROI roi)
ROI
subtract in class ROIroi - the ROI to add.
public java.util.List<ROI> intersect(ROI roi)
ROI
intersect in class ROIroi - the ROI with which to perform the intersection operation.
public java.util.List<ROI> exclusiveOr(ROI roi)
ROI
exclusiveOr in class ROIroi - the ROI with which to perform the XOR operation.
public boolean intersects(ROI roi)
ROINote that the area of intersection may be zero if one or other of the ROIs (or both) contains no area.
intersects in class ROIroi - the ROI to be tested for intersection.
public java.util.List<ROI> dilate(double radius,
java.util.concurrent.atomic.AtomicInteger opCounter,
CancellableThread.Flag cancelFlag)
ROI
radius - the radius of dilation.opCounter - a counter for the number of sub-operations that was performed to execute the
dilation operations.cancelFlag - a flag that, if set externally, cancels the operation.
public boolean draw(java.awt.Graphics g,
java.awt.Rectangle visibleRectangle,
int imageDrawCols,
int imageDrawRows,
int xOffset,
int yOffset,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize,
boolean drawAnnotation)
draw in class ROIg - the graphics context for the drawing operation.visibleRectangle - the part of the image that can be seen on-screen.imageDrawCols - width of the area in which this portion of the image is to be drawn.imageDrawRows - height of the area in which this portion of the image is to be drawn.xOffset - a horizontal offset for drawing operations.yOffset - a vertical offset for drawing operations.nCols - the number of columns in the image on which this ROI is defined.nRows - the number of rows in the image on which this ROI is defined.pixelXSize - pixel width for the image on which this ROI is defined.pixelYSize - pixel height for the image on which this ROI is defined.drawAnnotation - a flag to indicate whether annotation should be drawn.
public void drawInOrthoView(java.awt.Image orthoView,
javax.vecmath.Point3f orthoViewPosition,
javax.media.j3d.Transform3D imageToViewTx,
int nCols,
int nRows,
int nSlices,
float pixelXSize,
float pixelYSize,
boolean filled)
ROI
drawInOrthoView in class ROIorthoView - the java.awt.Image into which the ROI is to be drawn.orthoViewPosition - the coordinates (col, row, slice position) of the orthogonal view
in the original image.imageToViewTx - the Transform3D that maps original image pixel coordinates
to pixel coordinates in the orthogonal view.nCols - the number of columns in the original image.nRows - the number of rows in the original image.nSlices - the number of slices in the original image.pixelXSize - the pixel width in the original image.pixelYSize - the pixel height in the original image.filled - whether the ROI should be drawn filled (effective only for ROIs that
enclose an area).
public boolean selectDeselect(java.awt.Point point,
boolean editMode,
boolean showDeleted,
int nAlreadySelected)
ROI
selectDeselect in class ROIpoint - the Point at which the user has clicked.editMode - true if the tool working with ROIs is in edit mode;
false if it is in view mode.showDeleted - true if the tool working with ROIs is set to show deleted ROIs;
false if it is not.nAlreadySelected - the number of ROIs already selected. This determines the exact
selection/deselection behaviour.
public ROIStats getStats(java.lang.Object pix,
PixelDataType dataType,
int nCols,
int nRows,
int offset,
float pixelXSize,
float pixelYSize,
MaskAction maskAction,
MaskMode maskMode,
double maskValue,
java.io.PrintStream intensityOutputStream,
boolean isUnitsMM,
ComplexMode complexMode)
ROI
getStats in class ROIpix - the whole image pixel value array. If pix is null, then the intensity-related
stats will all be set to zero.dataType - the type of pixels.nCols - the number of columns in the slice.nRows - the number of rows in the slice.offset - an offset (in pixels) into the pixel value array for the starting
pixel of the slice on which this ROI is defined.pixelXSize - the size of image pixels in the horizontal direction.pixelYSize - the size of image pixels in the vertical direction.maskAction - one of:
maskMode - how much of a pixel must be inside ROIs for the pixel to be part of the mask.maskValue - the pixel value to set outside/inside the shape when performing masking ops.intensityOutputStream - if non-null, pixel intensities within the
ROI will be printed to this PrintStream.isUnitsMM - true if the (x,y) coordinates of the pixel intensities
are to be written in mm, false if the coordinates are to be writtn in pixel units.complexMode - the calculation mode for PixelDataType.Complex images.
The statistics returned will correspond to the mode: the real part, imaginary part,
magnitude or phase.
public double getIntersectionLength(java.awt.geom.Rectangle2D rectangle,
int nCols,
int nRows,
float pixelXSize,
float pixelYSize)
rectangle - the Rectangle2d for which to find the intersection line length.
public java.awt.geom.Rectangle2D getBoundingRectangle(int nCols,
int nRows,
float pixelXSize,
float pixelYSize)
getBoundingRectangle in class ROInCols - the number of columns in the image on which this ROI is defined.nRows - the number of rows in the image on which this ROI is defined.pixelXSize - pixel width for the image on which this ROI is defined.pixelYSize - pixel height for the image on which this ROI is defined.
public Feret getFeret()
ROI
getFeret in class ROIpublic double getPerimeter()
getPerimeter in class ROIpublic static ROICreateDialog getCreateDialog(CanAddROIToFrame listener)
listener - the CanAddROIToFrame to which the ROI will be added when
the Add button of the Dialog is clicked.public boolean contains(ROI roi)
contains in class ROIroi - the ROI to be tested for containment within this ROI.
public boolean equals(java.lang.Object o)
ROI
equals in class ROIo - the Object to be tested for equality to this ROI.
public int hashCode()
hashCode in class ROI
public void set(ROI roi)
throws java.lang.ClassCastException
ROI
set in class ROIjava.lang.ClassCastException - of the sub class of the argument ROI is not the
same as this ROI.public ROI getCopy()
ROI
getCopy in class ROIpublic java.lang.String getDescription()
ROI
getDescription in class ROIpublic LineROI clone()
ROI
clone in class ROIpublic static java.lang.String getName()
public static javax.swing.Icon getButtonIcon()
public java.lang.String toString()
ROI
toString in class ROI
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||