Class JDialogRegistrationOAR25D

  • 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 JDialogRegistrationOAR25D
    extends JDialogScriptableBase
    implements AlgorithmInterface
    Dialog to get user input, then call AlgorithmRegOAR25D. Internal registration is performed within one 3D image. In adjacent mode the first slice above the reference slice is registered to the reference slice, then the second slice above the reference slice is registered to the first slice above the reference slice, and so on until the last slice is registered the next to last slice. Then, the first slice below the reference slice is registered to the reference slice, the second slice below the reference slice is registered to first slice below the reference slice, and so on unitl the first slice is registered to the second slice. In reference mode every slice is simply registered to the reference slice.
    Author:
    Neva Cherniavsky
    See Also:
    AlgorithmCostFunctions, AlgorithmRegOAR25D2, 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
      JDialogRegistrationOAR25D()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogRegistrationOAR25D​(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 setDoAdjacent​(boolean doAdj)
      Accessor to set doAdjacent.
      void setDOF​(int x)
      Accessor to set the degrees of freedom.
      void setDoGraph​(boolean doGr)
      Accessor to set if a graph should be brought up of rotations & translations.
      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 setOutsideReferenceSlice​(ModelImage refSlice)
      allows user to use an outside reference slice for registering.
      void setRefImageNum​(int refImageNumber)
      Accessor to set refImageNum.
      void setSearchAlgorithm​(int searchAlgorithm)  
      void setSubsample​(boolean doSubsample)
      Accessor to set whether or not subsampling occurs.
      void setTransformVOIs​(boolean transformVOIs)
      Accessor to set whether or not VOIs should be transformed.
      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.
      • maxIterationsText

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

        private javax.swing.JTextField numMinText
        DOCUMENT ME!
      • 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!
      • doAdjacent

        private boolean doAdjacent
        DOCUMENT ME!
      • doColor

        private boolean doColor
        DOCUMENT ME!
      • doSubsample

        private boolean doSubsample
        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!
      • labelCoarse

        private javax.swing.JLabel labelCoarse
        DOCUMENT ME!
      • labelCoarseDegrees

        private javax.swing.JLabel labelCoarseDegrees
        DOCUMENT ME!
      • labelFine

        private javax.swing.JLabel labelFine
        DOCUMENT ME!
      • labelFineDegrees

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

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

        private javax.swing.JLabel labelRotateDegrees
        DOCUMENT ME!
      • labelRotateRange

        private javax.swing.JLabel labelRotateRange
        DOCUMENT ME!
      • labelRotateRangeTo

        private javax.swing.JLabel labelRotateRangeTo
        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!
      • refSlice

        private ModelImage refSlice
        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!
      • transformVOIs

        private boolean transformVOIs
        DOCUMENT ME!
      • transformVOIsBox

        private javax.swing.JCheckBox transformVOIsBox
        DOCUMENT ME!
      • useOutsideReferenceSlice

        private boolean useOutsideReferenceSlice
        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

      • JDialogRegistrationOAR25D

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

        public JDialogRegistrationOAR25D​(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.
      • setDoAdjacent

        public void setDoAdjacent​(boolean doAdj)
        Accessor to set doAdjacent.
        Parameters:
        doAdj - true means adjacent mode, false means reference mode
      • setDOF

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

        public void setDoGraph​(boolean doGr)
        Accessor to set if a graph should be brought up of rotations & translations.
        Parameters:
        doGr - boolean true = bring up graph
      • 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!
      • setOutsideReferenceSlice

        public void setOutsideReferenceSlice​(ModelImage refSlice)
        allows user to use an outside reference slice for registering.
        Parameters:
        refSlice - (2-Dim reference slice)
      • setRefImageNum

        public void setRefImageNum​(int refImageNumber)
        Accessor to set refImageNum.
        Parameters:
        refImageNumber - number of reference slice
      • 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!
      • setTransformVOIs

        public void setTransformVOIs​(boolean transformVOIs)
        Accessor to set whether or not VOIs should be transformed.
        Parameters:
        transformVOIs - 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.