Package gov.nih.mipav.view.dialogs
Class JDialogHoughEllipse
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- gov.nih.mipav.view.dialogs.JDialogBase
-
- gov.nih.mipav.view.dialogs.JDialogHoughEllipse
-
- All Implemented Interfaces:
AlgorithmInterface
,DialogDefaultsInterface
,java.awt.event.ActionListener
,java.awt.event.FocusListener
,java.awt.event.ItemListener
,java.awt.event.WindowListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class JDialogHoughEllipse extends JDialogBase implements AlgorithmInterface, java.awt.event.ItemListener, java.awt.event.WindowListener
Dialog to create Hough transform with p, q, r1, r2, and theta output for ellipse detection in binary image, where p is the x coordinate of the ellipse center, q is the y coordinate of the ellipse center, r1 is the semimajor axis (or major radius), r2 is the semiminor axis (or minor radius), and theta is the angle of the major axis with the x axis.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
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 private javax.swing.JTextField
countText
private int
countThreshold
Number of counts required to find an ellipseprivate javax.swing.JTextField
degreesWidthText
private double
ellipseRangeTolerance
Maximum percent by which perimiter pixels can deviate from the ellipse equationprivate AlgorithmHoughEllipse
hAlgo
DOCUMENT ME!private ModelImage
image
DOCUMENT ME!private int
maxBufferSize
The maximum Hough transform size in megabytes - default is currently 256private javax.swing.JTextField
maxBufferText
private javax.swing.JTextField
maxCyclesText
private double
maxDegreesBinWidth
For theta must have bin width <= maxDegreesBinWidthprivate int
maxEllipseFindCycles
Maximum number of pointSetsRequired triplet point acqusitions that is allowed to occurprivate double
maxPixelBinWidth
For xCenter, yCenter, r1, and r2 must bin width <= maxPixelBinWidthprivate double
maxPointDistance
Largest allowable distance between 2 of 3 picked pointsprivate javax.swing.JTextField
maxPointText
private double
minCoverage
Minimum percentage of the perimiter of a found ellipse that must be covered by points for it to be valid.private javax.swing.JTextField
minCoverageText
DOCUMENT ME!private double
minPointDistance
Smallest allowable distance between 2 of 3 picked pointsprivate javax.swing.JTextField
minPointText
private int
numEllipses
number of ellipses to be foundprivate javax.swing.JTextField
numEllipsesText
private javax.swing.JTextField
pixelWidthText
private int
pointSetsRequired
Number of point triplets required before each ellipse find is performedprivate javax.swing.JTextField
pointSetsText
private ModelImage
resultImage
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private int
sidePointsForTangent
Maximum number of points to take from each side of a point on a curve in determining a tangentprivate javax.swing.JTextField
sideText
private javax.swing.JTextField
toleranceText
-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBase
applyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JDialogHoughEllipse(ModelImage image)
Creates a new JDialogHoughEllipse object.JDialogHoughEllipse(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.void
algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented.private void
callAlgorithm()
DOCUMENT ME!private void
init()
Initializes GUI components and displays dialog.void
itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.private boolean
setVariables()
Use the GUI results to set up the variables needed to run the algorithm.void
windowClosing(java.awt.event.WindowEvent event)
Disposes of error dialog, then frame.-
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBase
buildApplyButton, buildButtons, buildCancelButton, buildCancelButton, buildCloseButton, buildHelpButton, buildImageComboBox, buildOKButton, buildOKButton, buildOKCancelButtons, buildTitledBorder, buildTitledBorder, createLabel, createProgressBar, createProgressBar, createTextField, focusGained, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, loadDefaults, loadDefaults, makeImageName, makeString, openNewFrame, saveDefaults, saveDefaults, setLeftHandSystem, setQuietRunning, setScriptRunning, setSeparateThread, setVisible, setVisible, setVisibleMenuBar, setVisibleStandard, setVOIManager, setWCSystem, testParameter, testParameterMin, updateFFTFileInfo, updateFileInfo, updateFileInfoOtherModality, updateFileInfoStatic, updateFileInfoStatic, updateFileTypeInfo, updateFileTypeInfo, windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
-
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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, 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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
hAlgo
private AlgorithmHoughEllipse hAlgo
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
minCoverage
private double minCoverage
Minimum percentage of the perimiter of a found ellipse that must be covered by points for it to be valid.
-
minCoverageText
private javax.swing.JTextField minCoverageText
DOCUMENT ME!
-
sidePointsForTangent
private int sidePointsForTangent
Maximum number of points to take from each side of a point on a curve in determining a tangent
-
sideText
private javax.swing.JTextField sideText
-
pixelWidthText
private javax.swing.JTextField pixelWidthText
-
maxPixelBinWidth
private double maxPixelBinWidth
For xCenter, yCenter, r1, and r2 must bin width <= maxPixelBinWidth
-
degreesWidthText
private javax.swing.JTextField degreesWidthText
-
maxDegreesBinWidth
private double maxDegreesBinWidth
For theta must have bin width <= maxDegreesBinWidth
-
numEllipses
private int numEllipses
number of ellipses to be found
-
numEllipsesText
private javax.swing.JTextField numEllipsesText
-
minPointDistance
private double minPointDistance
Smallest allowable distance between 2 of 3 picked points
-
minPointText
private javax.swing.JTextField minPointText
-
maxPointDistance
private double maxPointDistance
Largest allowable distance between 2 of 3 picked points
-
maxPointText
private javax.swing.JTextField maxPointText
-
pointSetsRequired
private int pointSetsRequired
Number of point triplets required before each ellipse find is performed
-
pointSetsText
private javax.swing.JTextField pointSetsText
-
countThreshold
private int countThreshold
Number of counts required to find an ellipse
-
countText
private javax.swing.JTextField countText
-
ellipseRangeTolerance
private double ellipseRangeTolerance
Maximum percent by which perimiter pixels can deviate from the ellipse equation
-
toleranceText
private javax.swing.JTextField toleranceText
-
maxCyclesText
private javax.swing.JTextField maxCyclesText
-
maxEllipseFindCycles
private int maxEllipseFindCycles
Maximum number of pointSetsRequired triplet point acqusitions that is allowed to occur
-
maxBufferText
private javax.swing.JTextField maxBufferText
-
maxBufferSize
private int maxBufferSize
The maximum Hough transform size in megabytes - default is currently 256
-
-
Constructor Detail
-
JDialogHoughEllipse
public JDialogHoughEllipse(ModelImage image)
Creates a new JDialogHoughEllipse object.- Parameters:
image
- DOCUMENT ME!
-
JDialogHoughEllipse
public JDialogHoughEllipse(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog.- Parameters:
theParentFrame
- Parent frameim
- Source image
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
- Parameters:
event
- Event that triggers function.
-
algorithmPerformed
public void algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithm when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.- Specified by:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algorithm
- Algorithm that caused the event.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- Parameters:
event
- DOCUMENT ME!
-
windowClosing
public void windowClosing(java.awt.event.WindowEvent event)
Disposes of error dialog, then frame. Sets cancelled totrue
.- Specified by:
windowClosing
in interfacejava.awt.event.WindowListener
- Overrides:
windowClosing
in classJDialogBase
- Parameters:
event
- DOCUMENT ME!
-
callAlgorithm
private void callAlgorithm()
DOCUMENT ME!
-
init
private void init()
Initializes GUI components and displays dialog.
-
setVariables
private boolean setVariables()
Use the GUI results to set up the variables needed to run the algorithm.- Returns:
true
if parameters set successfully,false
otherwise.
-
-