Class JDialogHistogram2Dim

  • All Implemented Interfaces:
    AlgorithmInterface, ScriptableActionInterface, 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 JDialogHistogram2Dim
    extends JDialogScriptableBase
    implements AlgorithmInterface
    Dialog to get user input Create 2D histogram of images with equal dimensions or 2D histograms with 2 colors inside a RGB image. Algorithms are executed in their own thread.
    See Also:
    Serialized Form
    • Nested Class Summary

      • 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
      • 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 int bin1
      Number of bins for first image.
      private boolean bin1Default
      Default number of bins for first image.
      private javax.swing.JLabel bin1Label
      Label description for bin1.
      private javax.swing.JTextField bin1Text
      Textfield for bin1.
      private int bin2
      Number of bins for second image.
      private boolean bin2Default
      Default number of bins for first image.
      private javax.swing.JLabel bin2Label
      Label description for bin1.
      private javax.swing.JTextField bin2Text
      Textfield for bin2.
      private javax.swing.JCheckBox blueCheckBox
      Checkbox to select blue image.
      private int colorsPresent
      Number of colors present.
      private boolean doLinearRescale
      If true, the range of second image is same as the range of the first image.
      private boolean doLogResult
      If true, calculates the log of the result image for better visualization.
      private ModelImage firstImage
      First image (Source image).
      private javax.swing.JCheckBox greenCheckBox
      Checkbox to select green image.
      private AlgorithmHistogram2Dim histogram2DimAlgo
      Instance of AlgorithmHistogram2Dim.
      private javax.swing.JComboBox imageComboBox
      Combobox to select the second image.
      private javax.swing.JLabel labelImage
      Image label.
      private javax.swing.JCheckBox linearCheckbox
      Checkbox to select linear rescaling of second image.
      private double maxB
      Max intensity values in Red, Green and Blue images respectively.
      private double maxG
      Max intensity values in Red, Green and Blue images respectively.
      private double maxR
      Max intensity values in Red, Green and Blue images respectively.
      private double minB
      Min. intensity values in Red, Green and Blue images respectively
      private double minG
      Min. intensity values in Red, Green and Blue images respectively
      private double minR
      Min. intensity values in Red, Green and Blue images respectively
      private double possibleInt2Values
      Possible intensity values for second image.
      private double possibleIntValues
      Possible intensity values for first image.
      private javax.swing.JCheckBox redCheckBox
      Checkbox to select Red image.
      private javax.swing.JCheckBox resultCheckbox
      Checkbox to display the log of result image.
      private ModelImage resultImage
      Image where the result is stored.
      private ModelImage secondImage
      Second image (Base image).
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private java.lang.String[] titles
      String titles for the new windows.
      private boolean useBlue
      If true, blue image is selected as of the two images for calculating histogram.
      private boolean useGreen
      If true, green image is selected as of the two images for calculating histogram.
      private boolean useRed
      If true, red image is selected as of the two images for calculating histogram.
      private ViewUserInterface userInterface
      Keeps record of the present structure of the application.
      • Fields inherited from class javax.swing.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • Fields inherited from class java.awt.Component

        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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • 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 javax.swing.JComboBox buildComboBox​(ModelImage image)
      Builds a list of images.
      protected void callAlgorithm()
      DOCUMENT ME!
      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      ModelImage getResultImage()
      Accessor that returns the image.
      private void init()
      Initializes GUI components and displays dialog.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      itemStateChanged.
      void setBin1​(int bin1)
      Accessor that sets bin1.
      void setBin1Default​(boolean bin1Default)
      DOCUMENT ME!
      void setBin2​(int bin2)
      Accessor that sets bin2.
      void setBin2Default​(boolean bin2Default)
      DOCUMENT ME!
      void setDoLinearRescale​(boolean doLinearRescale)
      Accessor that sets whether or not linear rescaling occurs.
      void setDoLogResult​(boolean doLogResult)
      Accessor that sets whether or not log of result image is displayed.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setSecondImage​(ModelImage secondImage)
      Accessor to set the secondImage.
      void setUseBlue​(boolean useBlue)
      Accessor that setes if the blue channel is used.
      void setUseGreen​(boolean useGreen)
      Accessor that sets if the green channel is used.
      void setUseRed​(boolean useRed)
      Accessor that sets if the red channel is used.
      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      protected void storeParamsFromGUI()
      Record the parameters just used to run this algorithm in a script.
      • 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
      • 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
      • bin1

        private int bin1
        Number of bins for first image.
      • bin1Default

        private boolean bin1Default
        Default number of bins for first image. Default is 256.
      • bin1Label

        private javax.swing.JLabel bin1Label
        Label description for bin1.
      • bin1Text

        private javax.swing.JTextField bin1Text
        Textfield for bin1.
      • bin2

        private int bin2
        Number of bins for second image.
      • bin2Default

        private boolean bin2Default
        Default number of bins for first image. Default is 256.
      • bin2Label

        private javax.swing.JLabel bin2Label
        Label description for bin1.
      • bin2Text

        private javax.swing.JTextField bin2Text
        Textfield for bin2.
      • blueCheckBox

        private javax.swing.JCheckBox blueCheckBox
        Checkbox to select blue image.
      • colorsPresent

        private int colorsPresent
        Number of colors present.
      • doLinearRescale

        private boolean doLinearRescale
        If true, the range of second image is same as the range of the first image.
      • doLogResult

        private boolean doLogResult
        If true, calculates the log of the result image for better visualization.
      • firstImage

        private ModelImage firstImage
        First image (Source image).
      • greenCheckBox

        private javax.swing.JCheckBox greenCheckBox
        Checkbox to select green image.
      • imageComboBox

        private javax.swing.JComboBox imageComboBox
        Combobox to select the second image.
      • labelImage

        private javax.swing.JLabel labelImage
        Image label.
      • linearCheckbox

        private javax.swing.JCheckBox linearCheckbox
        Checkbox to select linear rescaling of second image.
      • maxR

        private double maxR
        Max intensity values in Red, Green and Blue images respectively.
      • maxG

        private double maxG
        Max intensity values in Red, Green and Blue images respectively.
      • maxB

        private double maxB
        Max intensity values in Red, Green and Blue images respectively.
      • minR

        private double minR
        Min. intensity values in Red, Green and Blue images respectively
      • minG

        private double minG
        Min. intensity values in Red, Green and Blue images respectively
      • minB

        private double minB
        Min. intensity values in Red, Green and Blue images respectively
      • possibleInt2Values

        private double possibleInt2Values
        Possible intensity values for second image.
      • possibleIntValues

        private double possibleIntValues
        Possible intensity values for first image.
      • redCheckBox

        private javax.swing.JCheckBox redCheckBox
        Checkbox to select Red image.
      • resultCheckbox

        private javax.swing.JCheckBox resultCheckbox
        Checkbox to display the log of result image.
      • resultImage

        private ModelImage resultImage
        Image where the result is stored.
      • secondImage

        private ModelImage secondImage
        Second image (Base image).
      • titles

        private java.lang.String[] titles
        String titles for the new windows.
      • useBlue

        private boolean useBlue
        If true, blue image is selected as of the two images for calculating histogram.
      • useGreen

        private boolean useGreen
        If true, green image is selected as of the two images for calculating histogram.
      • useRed

        private boolean useRed
        If true, red image is selected as of the two images for calculating histogram.
      • userInterface

        private ViewUserInterface userInterface
        Keeps record of the present structure of the application.
    • Constructor Detail

      • JDialogHistogram2Dim

        public JDialogHistogram2Dim()
        Empty constructor needed for dynamic instantiation (used during scripting).
      • JDialogHistogram2Dim

        public JDialogHistogram2Dim​(java.awt.Frame theParentFrame,
                                    ModelImage im)
        Creates new dialog.
        Parameters:
        theParentFrame - Parent frame
        im - 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 interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        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 interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • getResultImage

        public ModelImage getResultImage()
        Accessor that returns the image.
        Returns:
        The result image.
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        itemStateChanged.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - DOCUMENT ME!
      • setBin1

        public void setBin1​(int bin1)
        Accessor that sets bin1.
        Parameters:
        bin1 - DOCUMENT ME!
      • setBin1Default

        public void setBin1Default​(boolean bin1Default)
        DOCUMENT ME!
        Parameters:
        bin1Default - DOCUMENT ME!
      • setBin2

        public void setBin2​(int bin2)
        Accessor that sets bin2.
        Parameters:
        bin2 - DOCUMENT ME!
      • setBin2Default

        public void setBin2Default​(boolean bin2Default)
        DOCUMENT ME!
        Parameters:
        bin2Default - DOCUMENT ME!
      • setDoLinearRescale

        public void setDoLinearRescale​(boolean doLinearRescale)
        Accessor that sets whether or not linear rescaling occurs.
        Parameters:
        doLinearRescale - DOCUMENT ME!
      • setDoLogResult

        public void setDoLogResult​(boolean doLogResult)
        Accessor that sets whether or not log of result image is displayed.
        Parameters:
        doLogResult - If true, displays the log of result image for better visualization
      • setSecondImage

        public void setSecondImage​(ModelImage secondImage)
        Accessor to set the secondImage.
        Parameters:
        secondImage - DOCUMENT ME!
      • setUseBlue

        public void setUseBlue​(boolean useBlue)
        Accessor that setes if the blue channel is used.
        Parameters:
        useBlue - DOCUMENT ME!
      • setUseGreen

        public void setUseGreen​(boolean useGreen)
        Accessor that sets if the green channel is used.
        Parameters:
        useGreen - DOCUMENT ME!
      • setUseRed

        public void setUseRed​(boolean useRed)
        Accessor that sets if the red channel is used.
        Parameters:
        useRed - DOCUMENT ME!
      • doPostAlgorithmActions

        protected void doPostAlgorithmActions()
        Store the result image in the script runner's image table now that the action execution is finished.
        Overrides:
        doPostAlgorithmActions in class JDialogScriptableBase
      • setGUIFromParams

        protected void setGUIFromParams()
        Set the dialog GUI using the script parameters while running this algorithm as part of a script.
        Specified by:
        setGUIFromParams in class JDialogScriptableBase
      • buildComboBox

        private javax.swing.JComboBox buildComboBox​(ModelImage image)
        Builds a list of images. Returns combobox. List must be all color or all black and white.
        Parameters:
        image - DOCUMENT ME!
        Returns:
        Newly created combo box.
      • 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.