Class JDialogRegistrationOAR35D

  • 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 JDialogRegistrationOAR35D
    extends JDialogScriptableBase
    implements AlgorithmInterface
    Dialog to get user input, then call AlgorithmRegOAR35D. Internal registration is performed within one 4D image. In adjacent mode the first volume above the reference volume is registered to the reference volume, then the second volume above the reference volume is registered to the first volume above the reference volume, and so on until the last volume is registered the next to last volume. Then, the first volume below the reference volume is registered to the reference volume, the second volume below the reference volume is registered to first volume below the reference volume, and so on unitl the first volume is registered to the second volume. In reference mode every volume is simply registered to the reference volume. In average mode every volume is registered to the average of all volumes.
    Author:
    Neva Cherniavsky
    See Also:
    AlgorithmCostFunctions, AlgorithmRegOAR35D, 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
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogRegistrationOAR35D()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogRegistrationOAR35D​(java.awt.Frame theParentFrame, ModelImage im)
      Creates new dialog for user to choose variables for internal registration.
    • 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, sets the variables, and calls the algorithm.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      private javax.swing.JDialog buildAdvancedDialog​(int maxIter, int numMinima)
      Build advanced settings dialog.
      protected void callAlgorithm()
      Calls the algorithm with the set-up parameters.
      private void init()
      Initializes the GUI components and displays the dialog.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      Changes the interpolation box to enabled or disabled depending on if the transform box is checked or not.
      void setCoarseBegin​(float x)
      Accessor to set the coarse sample begin.
      void setCoarseEnd​(float x)
      Accessor to set the coarse sample end.
      void setCoarseRate​(float x)
      Accessor to set the coarse sample rate.
      void setCostChoice​(int x)
      Accessor to set the choice of cost function.
      void setDOF​(int x)
      Accessor to set the degrees of freedom.
      void setFastMode​(boolean flag)
      Accessor to set whether or not to execute the fast mode (skip sub sample and goto last final optimization).
      void setFineRate​(float x)
      Accessor to set the fine sample rate.
      void setGraphCheckBox​(boolean doGraph)
      Accessor to set graphCheckBox.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setInputWeightImage​(ModelImage im)
      Accessor to set the input weight image.
      void setInterp​(int x)
      Accessor to set the initial interpolation.
      void setInterp2​(int x)
      Accessor to set the final interpolation.
      void setMaxIterations​(int maxIterations)
      Accessor to set maxIterations.
      void setNumMinima​(int numMinima)
      Accessor to set numMinima.
      void setOutsideReferenceVolume​(ModelImage refVolume)
      allows user to use an outside reference volume for registering.
      void setRefImageNum​(int refImageNumber)
      Accessor to set refImageNum.
      void setRegisterTo​(int registerTo)
      Accessor to set registerTo.
      void setSearchAlgorithm​(int searchAlgorithm)  
      void setSubsample​(boolean doSubsample)
      Accessor to set whether or not subsampling occurs.
      private boolean setVariables()
      Sets the variables needed to call the registration algorithm based on the values entered in the dialog.
      void setVoisOnly​(boolean flag)
      Accessor to set the VOIs only flag.
      void setWeighted​(boolean flag)
      Accessor to set the weighted images flag.
      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
      • searchAlgorithm

        private int searchAlgorithm
      • doGraph

        boolean doGraph
        DOCUMENT ME!
      • adjacentImageRButton

        private javax.swing.JRadioButton adjacentImageRButton
        DOCUMENT ME!
      • advancedDialog

        private javax.swing.JDialog advancedDialog
        Variables for Advanced Settings dialog.
      • averageImageRButton

        private javax.swing.JRadioButton averageImageRButton
        DOCUMENT ME!
      • maxIterationsText

        private javax.swing.JTextField maxIterationsText
        DOCUMENT ME!
      • numMinText

        private javax.swing.JTextField numMinText
        DOCUMENT ME!
      • doJTEM

        private boolean doJTEM
        When true, the full version of JTEM Powell search is used in the registration algorithm.
      • jtemCheckbox

        private javax.swing.JCheckBox jtemCheckbox
        Turns on the JTEM full version of Powell's algorithm on or off
      • buttonWeightInput

        private javax.swing.JButton buttonWeightInput
        DOCUMENT ME!
      • coarseRateText

        private javax.swing.JTextField coarseRateText
        DOCUMENT ME!
      • comboBoxCostFunct

        private javax.swing.JComboBox comboBoxCostFunct
        DOCUMENT ME!
      • comboBoxSearchAlgo

        private javax.swing.JComboBox comboBoxSearchAlgo
      • comboBoxDOF

        private javax.swing.JComboBox comboBoxDOF
        DOCUMENT ME!
      • comboBoxInterp

        private javax.swing.JComboBox comboBoxInterp
        DOCUMENT ME!
      • comboBoxInterp2

        private javax.swing.JComboBox comboBoxInterp2
        DOCUMENT ME!
      • cost

        private int cost
        DOCUMENT ME!
      • interp

        private int interp
        DOCUMENT ME!
      • interp2

        private int interp2
        DOCUMENT ME!
      • DOF

        private int DOF
        DOCUMENT ME!
      • doColor

        private boolean doColor
        DOCUMENT ME!
      • doSubsample

        private boolean doSubsample
        DOCUMENT ME!
      • fastMode

        private boolean fastMode
        DOCUMENT ME!
      • fastModeCheckbox

        private javax.swing.JCheckBox fastModeCheckbox
        DOCUMENT ME!
      • fileNameWInput

        private java.lang.String fileNameWInput
        DOCUMENT ME!
      • directoryWInput

        private java.lang.String directoryWInput
        DOCUMENT ME!
      • fineRateText

        private javax.swing.JTextField fineRateText
        DOCUMENT ME!
      • graphCheckBox

        private javax.swing.JCheckBox graphCheckBox
        DOCUMENT ME!
      • inputWeightImage

        private ModelImage inputWeightImage
        DOCUMENT ME!
      • labelInterp2

        private javax.swing.JLabel labelInterp2
        DOCUMENT ME!
      • matchImage

        private ModelImage matchImage
        DOCUMENT ME!
      • maxIterations_def

        private int maxIterations_def
        DOCUMENT ME!
      • numMinima_def

        private int numMinima_def
        DOCUMENT ME!
      • maxIterations

        private int maxIterations
        DOCUMENT ME!
      • noneRadio

        private javax.swing.JRadioButton noneRadio
        DOCUMENT ME!
      • numMinima

        private int numMinima
        DOCUMENT ME!
      • refImageNum

        private int refImageNum
        DOCUMENT ME!
      • refImageNumText

        private javax.swing.JTextField refImageNumText
        DOCUMENT ME!
      • refImageRButton

        private javax.swing.JRadioButton refImageRButton
        DOCUMENT ME!
      • refVolume

        private ModelImage refVolume
        DOCUMENT ME!
      • registerTo

        private int registerTo
        DOCUMENT ME!
      • rotateBegin

        private float rotateBegin
        DOCUMENT ME!
      • rotateEnd

        private float rotateEnd
        DOCUMENT ME!
      • coarseRate

        private float coarseRate
        DOCUMENT ME!
      • fineRate

        private float fineRate
        DOCUMENT ME!
      • rotateBeginText

        private javax.swing.JTextField rotateBeginText
        DOCUMENT ME!
      • rotateEndText

        private javax.swing.JTextField rotateEndText
        DOCUMENT ME!
      • sampleCheckBox

        private javax.swing.JCheckBox sampleCheckBox
        DOCUMENT ME!
      • textInput

        private javax.swing.JTextField textInput
        DOCUMENT ME!
      • useOutsideReferenceVolume

        private boolean useOutsideReferenceVolume
        DOCUMENT ME!
      • voiRadio

        private javax.swing.JRadioButton voiRadio
        DOCUMENT ME!
      • voisOnly

        private boolean voisOnly
        DOCUMENT ME!
      • weighted

        private boolean weighted
        DOCUMENT ME!
      • weightRadio

        private javax.swing.JRadioButton weightRadio
        DOCUMENT ME!
    • Constructor Detail

      • JDialogRegistrationOAR35D

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

        public JDialogRegistrationOAR35D​(java.awt.Frame theParentFrame,
                                         ModelImage im)
        Creates new dialog for user to choose variables for internal registration.
        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, sets the variables, 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 algorithms when it has completed or failed to complete.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        Changes the interpolation box to enabled or disabled depending on if the transform box is checked or not.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - Event that triggered this function.
      • setCoarseBegin

        public void setCoarseBegin​(float x)
        Accessor to set the coarse sample begin.
        Parameters:
        x - Coarse begin
      • setCoarseEnd

        public void setCoarseEnd​(float x)
        Accessor to set the coarse sample end.
        Parameters:
        x - Coarse end
      • setCoarseRate

        public void setCoarseRate​(float x)
        Accessor to set the coarse sample rate.
        Parameters:
        x - Coarse rate
      • setCostChoice

        public void setCostChoice​(int x)
        Accessor to set the choice of cost function.
        Parameters:
        x - Cost function.
      • setDOF

        public void setDOF​(int x)
        Accessor to set the degrees of freedom.
        Parameters:
        x - Degrees of freedom
      • setFastMode

        public void setFastMode​(boolean flag)
        Accessor to set whether or not to execute the fast mode (skip sub sample and goto last final optimization).
        Parameters:
        flag - true then skip to level one (last ) optimization.
      • setFineRate

        public void setFineRate​(float x)
        Accessor to set the fine sample rate.
        Parameters:
        x - Fine rate
      • setGraphCheckBox

        public void setGraphCheckBox​(boolean doGraph)
        Accessor to set graphCheckBox.
        Parameters:
        doGraph - if true output graphs of rotations and translations
      • setInputWeightImage

        public void setInputWeightImage​(ModelImage im)
        Accessor to set the input weight image.
        Parameters:
        im - Input weight image.
      • setInterp

        public void setInterp​(int x)
        Accessor to set the initial interpolation.
        Parameters:
        x - Interpolation
      • setInterp2

        public void setInterp2​(int x)
        Accessor to set the final interpolation.
        Parameters:
        x - Interpolation
      • setMaxIterations

        public void setMaxIterations​(int maxIterations)
        Accessor to set maxIterations.
        Parameters:
        maxIterations - DOCUMENT ME!
      • setNumMinima

        public void setNumMinima​(int numMinima)
        Accessor to set numMinima.
        Parameters:
        numMinima - DOCUMENT ME!
      • setOutsideReferenceVolume

        public void setOutsideReferenceVolume​(ModelImage refVolume)
        allows user to use an outside reference volume for registering.
        Parameters:
        refVolume - (3-Dim reference volume)
      • setRefImageNum

        public void setRefImageNum​(int refImageNumber)
        Accessor to set refImageNum.
        Parameters:
        refImageNumber - number of reference slice
      • setRegisterTo

        public void setRegisterTo​(int registerTo)
        Accessor to set registerTo.
        Parameters:
        registerTo - - 1 = adjacent, 2 = average, 3 = reference
      • setSearchAlgorithm

        public void setSearchAlgorithm​(int searchAlgorithm)
        Parameters:
        searchAlgorithm -
      • setSubsample

        public void setSubsample​(boolean doSubsample)
        Accessor to set whether or not subsampling occurs.
        Parameters:
        doSubsample - DOCUMENT ME!
      • setVoisOnly

        public void setVoisOnly​(boolean flag)
        Accessor to set the VOIs only flag.
        Parameters:
        flag - true then only register the parts of the images in the VOIs.
      • setWeighted

        public void setWeighted​(boolean flag)
        Accessor to set the weighted images flag.
        Parameters:
        flag - true means there are weighted images.
      • 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
      • buildAdvancedDialog

        private javax.swing.JDialog buildAdvancedDialog​(int maxIter,
                                                        int numMinima)
        Build advanced settings dialog. Returns JDialog.
        Parameters:
        maxIter - DOCUMENT ME!
        numMinima - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • init

        private void init()
        Initializes the GUI components and displays the dialog.
      • setVariables

        private boolean setVariables()
        Sets the variables needed to call the registration algorithm based on the values entered in the dialog.
        Returns:
        true if the variables are properly set, false otherwise.