Class JDialogACPC

    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      If user clicks "Set", sets point here and in component image.
      protected boolean convertToACPC()
      Converts image to AC-PC image.
      private WildMagic.LibFoundation.Mathematics.Vector3f crossProduct​(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2)
      Finds crossproduct of two vectors.
      private float dist​(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2, float[] resol)
      Finds the distance between two points based on resolution.
      private float dotProduct​(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2)
      Finds dotproduct of two vectors.
      ModelImage getACPCImage()  
      javax.swing.JPanel getMainPanel()
      Get the dialog main panel.
      private boolean getOrient()  
      private void init()
      Initializes GUI components and displays dialog.
      private WildMagic.LibFoundation.Mathematics.Vector3f makemmVector3f​(WildMagic.LibFoundation.Mathematics.Vector3f pt, float[] resol)
      Makes a mm (physical space) point from a pixel space point.
      private WildMagic.LibFoundation.Mathematics.Vector3f makeVoxelCoord3Df​(WildMagic.LibFoundation.Mathematics.Vector3f pt, float[] resol)
      Makes a pixel space point from a physical space point.
      private WildMagic.LibFoundation.Mathematics.Vector3f norm​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Finds the normal to the vector.
      private WildMagic.LibFoundation.Mathematics.Vector3f sclAdd​(float fa, WildMagic.LibFoundation.Mathematics.Vector3f a, float fb, WildMagic.LibFoundation.Mathematics.Vector3f b)
      Scale and add two vectors.
      private void setAnotherPt​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Sets another label based on the point.
      private void setFirstPt​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Sets first label based on the point.
      private void setInferiorEdge​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Sets inferior label based on the point.
      private boolean setOrient()
      Gets the orientation from the combo boxes and checks if it's consistent.
      private void setPosteriorMargin​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Sets posterior label based on the point.
      private void setSuperiorEdge​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
      Sets superior label based on the point.
      void setTalairachHeader​(ModelImage img)
      add the Talairach Transform to the image header
      private WildMagic.LibFoundation.Mathematics.Vector3f sub​(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2)
      Subtracts one vector from another and returns result. result = pt1 - pt2.
      private WildMagic.LibFoundation.Mathematics.Vector3f toOriginal​(WildMagic.LibFoundation.Mathematics.Vector3f in)
      to convert frame coordinates into the original image ones
      private void transformACPCTrilinear​(ModelImage image, float[] imgBuffer, double[][] xfrm, float iXres, float iYres, float iZres, int iXdim, int iYdim, int iZdim, float oXres, float oYres, float oZres, int oXdim, int oYdim, int oZdim, ViewJProgressBar progressBar)
      Transforms and resamples volume using trilinear interpolation
      • 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

      • comboBoxOrientX

        private javax.swing.JComboBox comboBoxOrientX
      • comboBoxOrientY

        private javax.swing.JComboBox comboBoxOrientY
      • comboBoxOrientZ

        private javax.swing.JComboBox comboBoxOrientZ
      • ACPCGroup

        private javax.swing.ButtonGroup ACPCGroup
      • applyACPCButton

        private javax.swing.JButton applyACPCButton
      • cancelACPCButton

        private javax.swing.JButton cancelACPCButton
      • setACPCButton

        private javax.swing.JButton setACPCButton
      • clearACPCButton

        private javax.swing.JButton clearACPCButton
      • setOrientationButton

        private javax.swing.JButton setOrientationButton
      • superiorEdge

        private javax.swing.JRadioButton superiorEdge
      • posteriorMargin

        private javax.swing.JRadioButton posteriorMargin
      • inferiorEdge

        private javax.swing.JRadioButton inferiorEdge
      • firstPt

        private javax.swing.JRadioButton firstPt
      • anotherPt

        private javax.swing.JRadioButton anotherPt
      • textVoxelLength

        private javax.swing.JTextField textVoxelLength
      • haveSuperiorEdge

        private boolean haveSuperiorEdge
      • havePosteriorMargin

        private boolean havePosteriorMargin
      • haveInferiorEdge

        private boolean haveInferiorEdge
      • haveFirstPt

        private boolean haveFirstPt
      • haveAnotherPt

        private boolean haveAnotherPt
      • orient

        private int[] orient
      • superiorEdgePt

        private WildMagic.LibFoundation.Mathematics.Vector3f superiorEdgePt
      • posteriorMarginPt

        private WildMagic.LibFoundation.Mathematics.Vector3f posteriorMarginPt
      • inferiorEdgePt

        private WildMagic.LibFoundation.Mathematics.Vector3f inferiorEdgePt
      • firstMidSagPt

        private WildMagic.LibFoundation.Mathematics.Vector3f firstMidSagPt
      • anotherMidSagPt

        private WildMagic.LibFoundation.Mathematics.Vector3f anotherMidSagPt
      • interpolation

        private final int interpolation
      • voxelLength

        private float voxelLength
      • useIncorrectAcpcXDim

        private boolean useIncorrectAcpcXDim
        Flag used to force acpc x dim to old (incorrect) value of 192 instead of fixed value calculation (which results in x dim of 191).
    • Constructor Detail

      • JDialogACPC

        public JDialogACPC​(ViewJFrameTriImage theParentFrame,
                           ModelImage im,
                           ModelImage acpc,
                           TalairachTransformInfo trans,
                           int interp)
        This method creates a dialog for selecting markers used for generating an AC-PC aligned view image from an original image
        Parameters:
        theParentFrame - Pointer to the frame that created this dialog.
        im - Pointer to image represented in frame.
    • Method Detail

      • init

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

        public javax.swing.JPanel getMainPanel()
        Get the dialog main panel.
        Returns:
        the main panel of the dialog
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        If user clicks "Set", sets point here and in component image. If user clicks "Clear", clears point here and in component image. If user clicks "Apply", creates new Talairach image based on points. If user clicks "Cancel", disposes this dialog.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        event - Event that triggered this method.
      • getOrient

        private boolean getOrient()
      • setOrient

        private boolean setOrient()
        Gets the orientation from the combo boxes and checks if it's consistent.
        Returns:
        true if orientation is consistent.
      • setSuperiorEdge

        private void setSuperiorEdge​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Sets superior label based on the point. Enables "Apply" if all points have been set.
        Parameters:
        pt - Point that was set.
      • setPosteriorMargin

        private void setPosteriorMargin​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Sets posterior label based on the point. Enables "Apply" if all points have been set.
        Parameters:
        pt - Point that was set.
      • setInferiorEdge

        private void setInferiorEdge​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Sets inferior label based on the point. Enables "Apply" if all points have been set.
        Parameters:
        pt - Point that was set.
      • setFirstPt

        private void setFirstPt​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Sets first label based on the point. Enables "Apply" if all points have been set.
        Parameters:
        pt - Point that was set.
      • setAnotherPt

        private void setAnotherPt​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Sets another label based on the point. Enables "Apply" if all points have been set.
        Parameters:
        pt - Point that was set.
      • convertToACPC

        protected boolean convertToACPC()
        Converts image to AC-PC image. Returns flag indicating success.
        Returns:
        true if successful conversion.
      • setTalairachHeader

        public void setTalairachHeader​(ModelImage img)
        add the Talairach Transform to the image header
      • toOriginal

        private WildMagic.LibFoundation.Mathematics.Vector3f toOriginal​(WildMagic.LibFoundation.Mathematics.Vector3f in)
        to convert frame coordinates into the original image ones
      • dist

        private float dist​(WildMagic.LibFoundation.Mathematics.Vector3f pt1,
                           WildMagic.LibFoundation.Mathematics.Vector3f pt2,
                           float[] resol)
        Finds the distance between two points based on resolution.
        Parameters:
        pt1 - First point.
        pt2 - Second point.
        resol - Resolutions of each dimension.
      • sub

        private WildMagic.LibFoundation.Mathematics.Vector3f sub​(WildMagic.LibFoundation.Mathematics.Vector3f pt1,
                                                                 WildMagic.LibFoundation.Mathematics.Vector3f pt2)
        Subtracts one vector from another and returns result. result = pt1 - pt2.
        Parameters:
        pt1 - Vector to subtract from.
        pt2 - Vector to be subtracted.
        Returns:
        pt1 - pt2
      • norm

        private WildMagic.LibFoundation.Mathematics.Vector3f norm​(WildMagic.LibFoundation.Mathematics.Vector3f pt)
        Finds the normal to the vector.
        Parameters:
        pt - Vector to find normal to.
        Returns:
        Normal of pt.
      • crossProduct

        private WildMagic.LibFoundation.Mathematics.Vector3f crossProduct​(WildMagic.LibFoundation.Mathematics.Vector3f pt1,
                                                                          WildMagic.LibFoundation.Mathematics.Vector3f pt2)
        Finds crossproduct of two vectors.
        Parameters:
        pt1 - First vector.
        pt2 - Second vector
        Returns:
        Cross product of pt1 and pt2.
      • dotProduct

        private float dotProduct​(WildMagic.LibFoundation.Mathematics.Vector3f pt1,
                                 WildMagic.LibFoundation.Mathematics.Vector3f pt2)
        Finds dotproduct of two vectors.
        Parameters:
        pt1 - First vector.
        pt2 - Second vector
        Returns:
        Dot product of pt1 and pt2.
      • sclAdd

        private WildMagic.LibFoundation.Mathematics.Vector3f sclAdd​(float fa,
                                                                    WildMagic.LibFoundation.Mathematics.Vector3f a,
                                                                    float fb,
                                                                    WildMagic.LibFoundation.Mathematics.Vector3f b)
        Scale and add two vectors.
        Parameters:
        fa - Scale for vector a.
        a - Vector a.
        fb - Scale for vector b.
        b - Vector b.
      • makemmVector3f

        private WildMagic.LibFoundation.Mathematics.Vector3f makemmVector3f​(WildMagic.LibFoundation.Mathematics.Vector3f pt,
                                                                            float[] resol)
        Makes a mm (physical space) point from a pixel space point.
        Parameters:
        pt - Point to convert.
        resol - Resolutions to use when converting.
        Returns:
        Same point in mm.
      • makeVoxelCoord3Df

        private WildMagic.LibFoundation.Mathematics.Vector3f makeVoxelCoord3Df​(WildMagic.LibFoundation.Mathematics.Vector3f pt,
                                                                               float[] resol)
        Makes a pixel space point from a physical space point.
        Parameters:
        pt - Point to convert.
        resol - Resolutions to use when converting.
        Returns:
        Same point in pixel space.
      • transformACPCTrilinear

        private void transformACPCTrilinear​(ModelImage image,
                                            float[] imgBuffer,
                                            double[][] xfrm,
                                            float iXres,
                                            float iYres,
                                            float iZres,
                                            int iXdim,
                                            int iYdim,
                                            int iZdim,
                                            float oXres,
                                            float oYres,
                                            float oZres,
                                            int oXdim,
                                            int oYdim,
                                            int oZdim,
                                            ViewJProgressBar progressBar)
        Transforms and resamples volume using trilinear interpolation
        Parameters:
        image - Image.
        imgBuffer - Image array.
        xfrm - Transformation matrix to be applied.
        iXres - In X resolution.
        iYres - In Y resolution.
        iZres - In Z resolution.
        iXdim - In X dimension.
        iYdim - In Y dimension.
        iZdim - In Z dimension.
        oXres - Out X resolution.
        oYres - Out Y resolution.
        oZres - Out Z resolution.
        oXdim - Out X dimension.
        oYdim - Out Y dimension.
        oZdim - Out Z dimension.
        oXlow - Out X low.
        oYlow - Out Y low.
        oZlow - Out Z low.
        oXhigh - Out X high.
        oYhigh - Out Y high.
        oZhigh - Out Z high.
        progressBar - Progress bar.