Class JDialogRegistrationOAR3D

  • All Implemented Interfaces:
    AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, ActionDiscovery, 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 JDialogRegistrationOAR3D
    extends JDialogScriptableBase
    implements AlgorithmInterface, ActionDiscovery
    Dialog to get user input, then call algorithm RegistrationOAR3D. The user must designate a reference image, a type of cost function, the degrees of freedom used in the registration, and the range and rate of the coarse and fine samples. These are set to defaults most likely to give a fast and accurate registration. The user may also select weighted images to discount parts of the reference and input images in the registration. These must be the same size as their respective originals - i.e., the reference weight image must be the same size as the reference image. The user can select to display the registered image. Regardless of whether this is selected, the matrix will be stored in a file in the user's working directory and also in the original image's transformation matrix.
    Author:
    Neva Cherniavsky
    See Also:
    AlgorithmCostFunctions, AlgorithmRegOAR3D, 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
      JDialogRegistrationOAR3D()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogRegistrationOAR3D​(java.awt.Frame theParentFrame, ModelImage im)
      Creates new dialog for user to choose type of linear image registration algorithm to run.
    • 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.
      private javax.swing.JComboBox buildImgComboBox​(ModelImage image)
      Builds a list of images.
      protected void callAlgorithm()
      Calls the algorithm with the set-up parameters.
      ParameterTable createInputParameters()
      Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
      ParameterTable createOutputParameters()
      Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      java.lang.String getOutputImageName​(java.lang.String imageParamName)
      Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).
      ModelImage getResultImage()
      Accessor to get the result image.
      private void init()
      Initializes the GUI components and displays the dialog.
      boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      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 setAdvancedSettings​(int maxIterations, int numMinima)
      Accessor to set the advanced settings.
      void setCalcCOG​(boolean flag)
      Accessor to set the whether or not to calculate the center of gravity (mass).
      void setCoarseBeginX​(float x)
      Accessor to set the coarse sample beginX.
      void setCoarseBeginY​(float y)
      Accessor to set the coarse sample beginY.
      void setCoarseBeginZ​(float z)
      Accessor to set the coarse sample beginZ.
      void setCoarseEndX​(float x)
      Accessor to set the coarse sample endX.
      void setCoarseEndY​(float y)
      Accessor to set the coarse sample endY.
      void setCoarseEndZ​(float z)
      Accessor to set the coarse sample endZ.
      void setCoarseRateX​(float x)
      Accessor to set the coarse sample rateX.
      void setCoarseRateY​(float y)
      Accessor to set the coarse sample rateY.
      void setCoarseRateZ​(float z)
      Accessor to set the coarse sample rateZ.
      void setCostChoice​(int x)
      Accessor to set the choice of cost function.
      void setDisplayTransform​(boolean flag)
      Accessor to set the display transform flag.
      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 setFillValue​(float fillValue)
      Accessor to set intensity value for out of bounds data
      void setFineRateX​(float x)
      Accessor to set the fine sample rateX.
      void setFineRateY​(float y)
      Accessor to set the fine sample rateY.
      void setFineRateZ​(float z)
      Accessor to set the fine sample rateZ.
      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 setMatrixDirectory​(java.lang.String matrixDirectory)
      Accessor to set directory in which the matrix file is stored
      void setMaxOfMinResol​(boolean flag)
      Accessor to set the maximum resolutions flag.
      void setMultiThread​(boolean doMultiThread)
      Accessor to set whether or not powell's algorithm uses multithreading
      void setOutOfBoundsIndex​(int outOfBoundsIndex)
      tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image max
      void setReferenceImage​(ModelImage im)
      Accessor to set the reference image.
      void setReferenceWeightImage​(ModelImage im)
      Accessor to set the reference weight image.
      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.
      private void showX()
      DOCUMENT ME!
      private void showY()
      DOCUMENT ME!
      private void showZ()
      DOCUMENT ME!
      protected void storeParamsFromGUI()
      Record the parameters just used to run this algorithm in a script.
      private boolean testType​(int type, float value)
      Determine if the value is in the image type range and within the float range since AlgorithmTransform does not use double buffers.
      • 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
      • 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!
      • buttonWeightRef

        private javax.swing.JButton buttonWeightRef
        DOCUMENT ME!
      • calcCOG

        private boolean calcCOG
        DOCUMENT ME!
      • calcCOGCheckbox

        private javax.swing.JCheckBox calcCOGCheckbox
        DOCUMENT ME!
      • calcLSBox

        private javax.swing.JCheckBox calcLSBox
        DOCUMENT ME!
      • multiThreadCheckBox

        private javax.swing.JCheckBox multiThreadCheckBox
      • coarsePanelX

        private javax.swing.JPanel coarsePanelX
        DOCUMENT ME!
      • coarsePanelY

        private javax.swing.JPanel coarsePanelY
        DOCUMENT ME!
      • coarsePanelZ

        private javax.swing.JPanel coarsePanelZ
        DOCUMENT ME!
      • coarseRateTextX

        private javax.swing.JTextField coarseRateTextX
        DOCUMENT ME!
      • coarseRateTextY

        private javax.swing.JTextField coarseRateTextY
        DOCUMENT ME!
      • coarseRateTextZ

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

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

        private javax.swing.JComboBox comboBoxSearchAlgo
      • comboBoxDOF

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

        private javax.swing.JComboBox comboBoxImage
        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!
      • costName

        private java.lang.String costName
        DOCUMENT ME!
      • displayTransform

        private boolean displayTransform
        DOCUMENT ME!
      • doColor

        private boolean doColor
        DOCUMENT ME!
      • doLS

        private boolean doLS
        DOCUMENT ME!
      • doMultiThread

        private boolean doMultiThread
      • doSubsample

        private boolean doSubsample
        DOCUMENT ME!
      • doJTEM

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

        private boolean fastMode
        DOCUMENT ME!
      • fastModeCheckbox

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

        private java.lang.String fileNameWRef
        DOCUMENT ME!
      • directoryWRef

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

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

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

        private javax.swing.JPanel finePanelX
        DOCUMENT ME!
      • finePanelY

        private javax.swing.JPanel finePanelY
        DOCUMENT ME!
      • finePanelZ

        private javax.swing.JPanel finePanelZ
        DOCUMENT ME!
      • fineRateTextX

        private javax.swing.JTextField fineRateTextX
        DOCUMENT ME!
      • fineRateTextY

        private javax.swing.JTextField fineRateTextY
        DOCUMENT ME!
      • fineRateTextZ

        private javax.swing.JTextField fineRateTextZ
        DOCUMENT ME!
      • gbc

        private java.awt.GridBagConstraints gbc
        DOCUMENT ME!
      • inputWeightImage

        private ModelImage inputWeightImage
        DOCUMENT ME!
      • refWeightImage

        private ModelImage refWeightImage
        DOCUMENT ME!
      • labelInterp2

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

        private boolean lsCompleted
        DOCUMENT ME!
      • lsImage

        private ModelImage lsImage
        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!
      • maxOfMinResol

        private boolean maxOfMinResol
        DOCUMENT ME!
      • minMaxCheckbox

        private javax.swing.JCheckBox minMaxCheckbox
        DOCUMENT ME!
      • noneRadio

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

        private int numMinima
        DOCUMENT ME!
      • refImage

        private ModelImage refImage
        DOCUMENT ME!
      • resultImage

        private ModelImage resultImage
        DOCUMENT ME!
      • rotateBeginTextX

        private javax.swing.JTextField rotateBeginTextX
        DOCUMENT ME!
      • rotateBeginTextY

        private javax.swing.JTextField rotateBeginTextY
        DOCUMENT ME!
      • rotateBeginTextZ

        private javax.swing.JTextField rotateBeginTextZ
        DOCUMENT ME!
      • rotateBeginX

        private float rotateBeginX
        DOCUMENT ME!
      • rotateEndX

        private float rotateEndX
        DOCUMENT ME!
      • coarseRateX

        private float coarseRateX
        DOCUMENT ME!
      • fineRateX

        private float fineRateX
        DOCUMENT ME!
      • rotateBeginY

        private float rotateBeginY
        DOCUMENT ME!
      • rotateEndY

        private float rotateEndY
        DOCUMENT ME!
      • coarseRateY

        private float coarseRateY
        DOCUMENT ME!
      • fineRateY

        private float fineRateY
        DOCUMENT ME!
      • rotateBeginZ

        private float rotateBeginZ
        DOCUMENT ME!
      • rotateEndZ

        private float rotateEndZ
        DOCUMENT ME!
      • coarseRateZ

        private float coarseRateZ
        DOCUMENT ME!
      • fineRateZ

        private float fineRateZ
        DOCUMENT ME!
      • rotateEndTextX

        private javax.swing.JTextField rotateEndTextX
        DOCUMENT ME!
      • rotateEndTextY

        private javax.swing.JTextField rotateEndTextY
        DOCUMENT ME!
      • rotateEndTextZ

        private javax.swing.JTextField rotateEndTextZ
        DOCUMENT ME!
      • rotatePanel

        private javax.swing.JPanel rotatePanel
        DOCUMENT ME!
      • rotateRangePanelX

        private javax.swing.JPanel rotateRangePanelX
        DOCUMENT ME!
      • rotateRangePanelY

        private javax.swing.JPanel rotateRangePanelY
        DOCUMENT ME!
      • rotateRangePanelZ

        private javax.swing.JPanel rotateRangePanelZ
        DOCUMENT ME!
      • sampleCheckbox

        private javax.swing.JCheckBox sampleCheckbox
        DOCUMENT ME!
      • jtemCheckbox

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

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

        private javax.swing.JTextField textRef
        DOCUMENT ME!
      • transformCheckbox

        private javax.swing.JCheckBox transformCheckbox
        DOCUMENT ME!
      • universalCheckbox

        private javax.swing.JCheckBox universalCheckbox
        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!
      • xRadio

        private javax.swing.JRadioButton xRadio
        DOCUMENT ME!
      • xSelected

        private boolean xSelected
        DOCUMENT ME!
      • yRadio

        private javax.swing.JRadioButton yRadio
        DOCUMENT ME!
      • ySelected

        private boolean ySelected
        DOCUMENT ME!
      • zRadio

        private javax.swing.JRadioButton zRadio
        DOCUMENT ME!
      • outOfBoundsLabel

        private javax.swing.JLabel outOfBoundsLabel
      • outOfBoundsComboBox

        private javax.swing.JComboBox outOfBoundsComboBox
      • valueLabel

        private javax.swing.JLabel valueLabel
      • valueText

        private javax.swing.JTextField valueText
      • imageMin

        private double imageMin
      • imageMax

        private double imageMax
      • dataType

        private int dataType
      • outOfBoundsIndex

        private int outOfBoundsIndex
        Tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image maximum
      • fillValue

        private float fillValue
      • matrixLabel

        private javax.swing.JLabel matrixLabel
      • matrixComboBox

        private javax.swing.JComboBox matrixComboBox
      • matrixDirectory

        private java.lang.String matrixDirectory
      • userDirectoryLabel

        private javax.swing.JLabel userDirectoryLabel
      • userDirectoryText

        private javax.swing.JTextField userDirectoryText
    • Constructor Detail

      • JDialogRegistrationOAR3D

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

        public JDialogRegistrationOAR3D​(java.awt.Frame theParentFrame,
                                        ModelImage im)
        Creates new dialog for user to choose type of linear image registration algorithm to run.
        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.
      • getResultImage

        public ModelImage getResultImage()
        Accessor to get the result image.
        Returns:
        Result image.
      • 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.
      • setAdvancedSettings

        public void setAdvancedSettings​(int maxIterations,
                                        int numMinima)
        Accessor to set the advanced settings.
        Parameters:
        maxIterations - DOCUMENT ME!
        numMinima - DOCUMENT ME!
      • setCalcCOG

        public void setCalcCOG​(boolean flag)
        Accessor to set the whether or not to calculate the center of gravity (mass).
        Parameters:
        flag - true then calculate center of gravity (mass).
      • setCoarseBeginX

        public void setCoarseBeginX​(float x)
        Accessor to set the coarse sample beginX.
        Parameters:
        x - Coarse beginX
      • setCoarseBeginY

        public void setCoarseBeginY​(float y)
        Accessor to set the coarse sample beginY.
        Parameters:
        y - Coarse beginY
      • setCoarseBeginZ

        public void setCoarseBeginZ​(float z)
        Accessor to set the coarse sample beginZ.
        Parameters:
        z - Coarse beginZ
      • setCoarseEndX

        public void setCoarseEndX​(float x)
        Accessor to set the coarse sample endX.
        Parameters:
        x - Coarse endX
      • setCoarseEndY

        public void setCoarseEndY​(float y)
        Accessor to set the coarse sample endY.
        Parameters:
        y - Coarse endY
      • setCoarseEndZ

        public void setCoarseEndZ​(float z)
        Accessor to set the coarse sample endZ.
        Parameters:
        z - Coarse endZ
      • setCoarseRateX

        public void setCoarseRateX​(float x)
        Accessor to set the coarse sample rateX.
        Parameters:
        x - Coarse rateX
      • setCoarseRateY

        public void setCoarseRateY​(float y)
        Accessor to set the coarse sample rateY.
        Parameters:
        y - Coarse rateY
      • setCoarseRateZ

        public void setCoarseRateZ​(float z)
        Accessor to set the coarse sample rateZ.
        Parameters:
        z - Coarse rateZ
      • setCostChoice

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

        public void setDisplayTransform​(boolean flag)
        Accessor to set the display transform flag.
        Parameters:
        flag - true means display the transformed image.
      • 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.
      • setFineRateX

        public void setFineRateX​(float x)
        Accessor to set the fine sample rateX.
        Parameters:
        x - Fine rateX
      • setFineRateY

        public void setFineRateY​(float y)
        Accessor to set the fine sample rateY.
        Parameters:
        y - Fine rateY
      • setFineRateZ

        public void setFineRateZ​(float z)
        Accessor to set the fine sample rateZ.
        Parameters:
        z - Fine rateZ
      • 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
      • setMaxOfMinResol

        public void setMaxOfMinResol​(boolean flag)
        Accessor to set the maximum resolutions flag.
        Parameters:
        flag - true then use the maximum of minimums of the resolutions of the images.
      • setReferenceImage

        public void setReferenceImage​(ModelImage im)
        Accessor to set the reference image.
        Parameters:
        im - Reference image.
      • setReferenceWeightImage

        public void setReferenceWeightImage​(ModelImage im)
        Accessor to set the reference weight image.
        Parameters:
        im - Reference weight image.
      • setSubsample

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

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

        public void setMultiThread​(boolean doMultiThread)
        Accessor to set whether or not powell's algorithm uses multithreading
        Parameters:
        doMultiThread -
      • 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.
      • setOutOfBoundsIndex

        public void setOutOfBoundsIndex​(int outOfBoundsIndex)
        tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image max
        Parameters:
        outOfBoundsIndex -
      • setFillValue

        public void setFillValue​(float fillValue)
        Accessor to set intensity value for out of bounds data
        Parameters:
        fillValue -
      • setMatrixDirectory

        public void setMatrixDirectory​(java.lang.String matrixDirectory)
        Accessor to set directory in which the matrix file is stored
        Parameters:
        matrixDirectory -
      • 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
      • buildAdvancedDialog

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

        private javax.swing.JComboBox buildImgComboBox​(ModelImage image)
        Builds a list of images. Returns combobox.
        Parameters:
        image - DOCUMENT ME!
        Returns:
        Newly created combo box.
      • 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.
      • testType

        private boolean testType​(int type,
                                 float value)
        Determine if the value is in the image type range and within the float range since AlgorithmTransform does not use double buffers.
        Parameters:
        type - image type
        value - value tested
        Returns:
        true if value is within acceptable range
      • showX

        private void showX()
        DOCUMENT ME!
      • showY

        private void showY()
        DOCUMENT ME!
      • showZ

        private void showZ()
        DOCUMENT ME!
      • getActionMetadata

        public ActionMetadata getActionMetadata()
        Return meta-information about this discoverable action for categorization and labeling purposes.
        Specified by:
        getActionMetadata in interface ActionDiscovery
        Returns:
        Metadata for this action.
      • createInputParameters

        public ParameterTable createInputParameters()
        Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
        Specified by:
        createInputParameters in interface ActionDiscovery
        Returns:
        A parameter table listing the inputs of this algorithm.
      • createOutputParameters

        public ParameterTable createOutputParameters()
        Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
        Specified by:
        createOutputParameters in interface ActionDiscovery
        Returns:
        A parameter table listing the outputs of this algorithm.
      • getOutputImageName

        public java.lang.String getOutputImageName​(java.lang.String imageParamName)
        Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).
        Specified by:
        getOutputImageName in interface ActionDiscovery
        Parameters:
        imageParamName - The output image parameter label for which to get the image name.
        Returns:
        The image name of the requested output image parameter label.
      • isActionComplete

        public boolean isActionComplete()
        Returns whether the action has successfully completed its execution.
        Specified by:
        isActionComplete in interface ActionDiscovery
        Returns:
        True, if the action is complete. False, if the action failed or is still running.