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.JTextFieldcountTextprivate intcountThresholdNumber of counts required to find an ellipseprivate javax.swing.JTextFielddegreesWidthTextprivate doubleellipseRangeToleranceMaximum percent by which perimiter pixels can deviate from the ellipse equationprivate AlgorithmHoughEllipsehAlgoDOCUMENT ME!private ModelImageimageDOCUMENT ME!private intmaxBufferSizeThe maximum Hough transform size in megabytes - default is currently 256private javax.swing.JTextFieldmaxBufferTextprivate javax.swing.JTextFieldmaxCyclesTextprivate doublemaxDegreesBinWidthFor theta must have bin width <= maxDegreesBinWidthprivate intmaxEllipseFindCyclesMaximum number of pointSetsRequired triplet point acqusitions that is allowed to occurprivate doublemaxPixelBinWidthFor xCenter, yCenter, r1, and r2 must bin width <= maxPixelBinWidthprivate doublemaxPointDistanceLargest allowable distance between 2 of 3 picked pointsprivate javax.swing.JTextFieldmaxPointTextprivate doubleminCoverageMinimum percentage of the perimiter of a found ellipse that must be covered by points for it to be valid.private javax.swing.JTextFieldminCoverageTextDOCUMENT ME!private doubleminPointDistanceSmallest allowable distance between 2 of 3 picked pointsprivate javax.swing.JTextFieldminPointTextprivate intnumEllipsesnumber of ellipses to be foundprivate javax.swing.JTextFieldnumEllipsesTextprivate javax.swing.JTextFieldpixelWidthTextprivate intpointSetsRequiredNumber of point triplets required before each ellipse find is performedprivate javax.swing.JTextFieldpointSetsTextprivate ModelImageresultImageDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private intsidePointsForTangentMaximum number of points to take from each side of a point on a curve in determining a tangentprivate javax.swing.JTextFieldsideTextprivate javax.swing.JTextFieldtoleranceText-
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 voidactionPerformed(java.awt.event.ActionEvent event)Closes dialog box when the OK button is pressed and calls the algorithm.voidalgorithmPerformed(AlgorithmBase algorithm)This method is required if the AlgorithmPerformed interface is implemented.private voidcallAlgorithm()DOCUMENT ME!private voidinit()Initializes GUI components and displays dialog.voiditemStateChanged(java.awt.event.ItemEvent event)itemStateChanged.private booleansetVariables()Use the GUI results to set up the variables needed to run the algorithm.voidwindowClosing(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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin 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:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- Algorithm that caused the event.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.- Specified by:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin 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:
windowClosingin interfacejava.awt.event.WindowListener- Overrides:
windowClosingin 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:
trueif parameters set successfully,falseotherwise.
-
-