Package gov.nih.mipav.view.components
Class JPanelSigmas
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- gov.nih.mipav.view.components.JPanelSigmas
-
- All Implemented Interfaces:
java.awt.event.FocusListener
,java.awt.event.ItemListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
public class JPanelSigmas extends javax.swing.JPanel implements java.awt.event.FocusListener, java.awt.event.ItemListener
A panel containing fields which allow the user to input sigmas in three dimensions (of, for example, a gaussian kernel). Also optionally normalizes the third dimension based on the image resolution.- Author:
- mccreedy
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JCheckBox
correctionFactorCheckbox
guiprivate javax.swing.JLabel
correctionFactorLabel
labelprivate javax.swing.JLabel
labelGaussX
private javax.swing.JLabel
labelGaussY
private javax.swing.JLabel
labelGaussZ
labelprivate static long
serialVersionUID
Use serialVersionUID for interoperability.private ModelImage
srcImage
the input image which will be processedprivate javax.swing.JTextField
textGaussX
gui, sigma valueprivate javax.swing.JTextField
textGaussY
gui, sigma valueprivate javax.swing.JTextField
textGaussZ
gui, sigma value-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description JPanelSigmas(ModelImage img)
Construct the sigma panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
enable3DComponents(boolean enable3D)
Enables or disables the components in this panel which are 3D-related.void
enableLabelGaussX(boolean enable)
void
enableLabelGaussY(boolean enable)
void
enableResolutionCorrection(boolean enableCorrection)
Enables or disables z-dimension sigma resolution correction.void
enableTextGaussX(boolean enable)
void
enableTextGaussY(boolean enable)
void
focusGained(java.awt.event.FocusEvent event)
Do nothing.void
focusLost(java.awt.event.FocusEvent event)
When the user clicks the mouse out of a text field, resets the neccessary variables.private float
getCorrectionFactor()
Returns the amount of correction which should be applied to the z-direction sigma (assuming that correction is requested).private java.lang.String
getCorrectionFactorString()
Returns a string indicating the z-direction sigma after applying the resolution correction factor.float[]
getNormalizedSigmas()
Returns the sigmas to use in the algorithm, with the z-dim normalized if the user has requested it.float[]
getUnnormalized3DSigmas()
Returns the un-normalized sigmas in three dimensions (even if the input image is 2D).private void
initGUI()
Initialize the panel's GUI.boolean
isResolutionCorrectionEnabled()
Returns whether the z-dimension sigma should be corrected based on the image resolution.void
itemStateChanged(java.awt.event.ItemEvent event)
Changes resolution normalization label based on whether or not the resolution normalization check box is checked.void
setBorderName(java.lang.String borderName)
Set the name of the titled bordervoid
setSigmaX(float sigma)
Changes the sigma value in the x direction.void
setSigmaY(float sigma)
Changes the sigma value in the y direction.void
setSigmaZ(float sigma)
Changes the un-normalized sigma value in the z direction.boolean
testSigmaValues()
Tests the un-normalized sigma values against pre-determined okay values.private void
updateResolutionCorrection()
Updates the resolution-corrected z-direction sigma label.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
correctionFactorCheckbox
private javax.swing.JCheckBox correctionFactorCheckbox
gui
-
correctionFactorLabel
private javax.swing.JLabel correctionFactorLabel
label
-
labelGaussX
private javax.swing.JLabel labelGaussX
-
labelGaussY
private javax.swing.JLabel labelGaussY
-
labelGaussZ
private javax.swing.JLabel labelGaussZ
label
-
srcImage
private ModelImage srcImage
the input image which will be processed
-
textGaussX
private javax.swing.JTextField textGaussX
gui, sigma value
-
textGaussY
private javax.swing.JTextField textGaussY
gui, sigma value
-
textGaussZ
private javax.swing.JTextField textGaussZ
gui, sigma value
-
-
Constructor Detail
-
JPanelSigmas
public JPanelSigmas(ModelImage img)
Construct the sigma panel.- Parameters:
img
- the input image which will be processed
-
-
Method Detail
-
enable3DComponents
public void enable3DComponents(boolean enable3D)
Enables or disables the components in this panel which are 3D-related.- Parameters:
enable3D
- whether to enable the 3D components
-
enableResolutionCorrection
public void enableResolutionCorrection(boolean enableCorrection)
Enables or disables z-dimension sigma resolution correction.- Parameters:
enableCorrection
- whether to enable the correction
-
enableLabelGaussX
public void enableLabelGaussX(boolean enable)
-
enableLabelGaussY
public void enableLabelGaussY(boolean enable)
-
enableTextGaussX
public void enableTextGaussX(boolean enable)
-
enableTextGaussY
public void enableTextGaussY(boolean enable)
-
focusGained
public void focusGained(java.awt.event.FocusEvent event)
Do nothing.- Specified by:
focusGained
in interfacejava.awt.event.FocusListener
- Parameters:
event
- focus gained event
-
focusLost
public void focusLost(java.awt.event.FocusEvent event)
When the user clicks the mouse out of a text field, resets the neccessary variables.- Specified by:
focusLost
in interfacejava.awt.event.FocusListener
- Parameters:
event
- focus lost event
-
getNormalizedSigmas
public float[] getNormalizedSigmas()
Returns the sigmas to use in the algorithm, with the z-dim normalized if the user has requested it.- Returns:
- a 2 sigma array if the image is 2D, 3 sigmas if the input image is 3D (with the 3rd dim optionally normalized)
-
getUnnormalized3DSigmas
public float[] getUnnormalized3DSigmas()
Returns the un-normalized sigmas in three dimensions (even if the input image is 2D). This is used to record the values in the text fields when saving dialog defaults and during script recording.- Returns:
- a 3 element array of un-normalized floating-point sigmas
-
isResolutionCorrectionEnabled
public boolean isResolutionCorrectionEnabled()
Returns whether the z-dimension sigma should be corrected based on the image resolution.- Returns:
- true if the z-dimension sigma should be corrected
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
Changes resolution normalization label based on whether or not the resolution normalization check box is checked.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Parameters:
event
- checkbox item change event
-
setSigmaX
public void setSigmaX(float sigma)
Changes the sigma value in the x direction.- Parameters:
sigma
- the new sigma
-
setSigmaY
public void setSigmaY(float sigma)
Changes the sigma value in the y direction.- Parameters:
sigma
- the new sigma
-
setSigmaZ
public void setSigmaZ(float sigma)
Changes the un-normalized sigma value in the z direction.- Parameters:
sigma
- the new sigma
-
testSigmaValues
public boolean testSigmaValues()
Tests the un-normalized sigma values against pre-determined okay values.- Returns:
- true if all the sigmas are in a good range, false otherwise
-
getCorrectionFactor
private float getCorrectionFactor()
Returns the amount of correction which should be applied to the z-direction sigma (assuming that correction is requested).- Returns:
- the amount to multiply the z-sigma by to correct for resolution differences
-
getCorrectionFactorString
private java.lang.String getCorrectionFactorString()
Returns a string indicating the z-direction sigma after applying the resolution correction factor.- Returns:
- resolution corrected z-sigma string
-
setBorderName
public void setBorderName(java.lang.String borderName)
Set the name of the titled border- Parameters:
borderName
-
-
initGUI
private void initGUI()
Initialize the panel's GUI.
-
updateResolutionCorrection
private void updateResolutionCorrection()
Updates the resolution-corrected z-direction sigma label.
-
-