Class 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.JCheckBox correctionFactorCheckbox
      gui
      private javax.swing.JLabel correctionFactorLabel
      label
      private javax.swing.JLabel labelGaussX  
      private javax.swing.JLabel labelGaussY  
      private javax.swing.JLabel labelGaussZ
      label
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private ModelImage srcImage
      the input image which will be processed
      private javax.swing.JTextField textGaussX
      gui, sigma value
      private javax.swing.JTextField textGaussY
      gui, sigma value
      private 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
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • 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 border
      void 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 interface java.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 interface java.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 interface java.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.