Class JDialogFaceAnonymize

    • 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
      JDialogFaceAnonymize()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogFaceAnonymize​(java.awt.Frame theParentFrame, ModelImage im)
      Creates the face anonymizer dialog.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Presently only the script function calls this method.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      protected void callAlgorithm()
      Calls the algorithm.
      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).
      ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      private static int getFaceOrientation​(ModelImage img)
      Return the guess at the face's orientation based on the image orientation information.
      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).
      private void init()
      Makes the GUI elements of the dialog.
      private void initDirection()
      Makes the GUI elements of the dialog.
      boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      private boolean setVariablesDirection()
      Use the GUI results to set up the variables needed to run the algorithm.
      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

      • FACING_UNKNOWN

        public static final int FACING_UNKNOWN
        Face orientation not obtained from file information.
        See Also:
        Constant Field Values
      • FACING_RIGHT

        public static final int FACING_RIGHT
        Indicates sagittal image with x-axis oriented posterior to anterior.
        See Also:
        Constant Field Values
      • FACING_LEFT

        public static final int FACING_LEFT
        Indicates sagittal image with x-axis oriented anterior to posterior.
        See Also:
        Constant Field Values
      • FACING_DOWN

        public static final int FACING_DOWN
        Indicates axial image with y-axis oriented posterior to anterior.
        See Also:
        Constant Field Values
      • FACING_UP

        public static final int FACING_UP
        Indicates axial with y-axis oriented anterior to posterior.
        See Also:
        Constant Field Values
      • FACING_INTO_SCREEN

        public static final int FACING_INTO_SCREEN
        Indicates coronal image with z-axis oriented posterior to anterior.
        See Also:
        Constant Field Values
      • FACING_OUT_OF_SCREEN

        public static final int FACING_OUT_OF_SCREEN
        Indicates coronal image with z-axis oriented anterior to posterior.
        See Also:
        Constant Field Values
      • PARAM_FACE_ORIENTATION

        private static final java.lang.String PARAM_FACE_ORIENTATION
        The face orientation parameter.
        See Also:
        Constant Field Values
      • faceOrientation

        private int faceOrientation
        Indicates face orientation of the image.
      • facingDownRadio

        private javax.swing.JRadioButton facingDownRadio
        Button for facing down image.
      • facingIntoRadio

        private javax.swing.JRadioButton facingIntoRadio
        Button for facing into the screen image.
      • facingLeftRadio

        private javax.swing.JRadioButton facingLeftRadio
        Button for facing left image.
      • facingOutRadio

        private javax.swing.JRadioButton facingOutRadio
        Button for facing out image.
      • facingRightRadio

        private javax.swing.JRadioButton facingRightRadio
        Button for facing right image.
      • facingUpRadio

        private javax.swing.JRadioButton facingUpRadio
        Button for facing up image.
      • blurFaceRadio

        private javax.swing.JRadioButton blurFaceRadio
        Button for blurring just the face.
      • removeFaceRadio

        private javax.swing.JRadioButton removeFaceRadio
        Button for removing just the face.
      • blurAllRadio

        private javax.swing.JRadioButton blurAllRadio
        Button for blurring the face / skull.
      • removeAllRadio

        private javax.swing.JRadioButton removeAllRadio
        Button for removing the face / skull.
      • showFaceSegmentationRadio

        private javax.swing.JRadioButton showFaceSegmentationRadio
        Button for displaying the face segmentation.
      • showAllSegmentationRadio

        private javax.swing.JRadioButton showAllSegmentationRadio
        Button for displaying the full segmentation.
      • extraBrainPaddingField

        private javax.swing.JTextField extraBrainPaddingField
        Text field corresponding to brain padding parameter.
      • extraMMsToPad

        private int extraMMsToPad
        FaceAnonymizer parameter. Guarantees that the extracted brain will be avoided by the specified number of millimeters. Initially set to 20.
      • imageTextField

        private javax.swing.JTextField imageTextField
      • srcImage

        private ModelImage srcImage
        The image that face anonymization will be performed on.
      • blur

        private boolean blur
      • remove

        private boolean remove
      • face

        private boolean face
      • showFaceSegmentation

        private boolean showFaceSegmentation
      • showSkullSegmentation

        private boolean showSkullSegmentation
    • Constructor Detail

      • JDialogFaceAnonymize

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

        public JDialogFaceAnonymize​(java.awt.Frame theParentFrame,
                                    ModelImage im)
        Creates the face anonymizer dialog.
        Parameters:
        theParentFrame - Parent frame.
        im - Source image.
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Presently only the script function calls this method. When the script sends this dialog the action command, this method calls run.
        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 to complete, so that the dialog can display the result image and/or clean up.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • setGUIFromParams

        public 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
      • getFaceOrientation

        private static int getFaceOrientation​(ModelImage img)
        Return the guess at the face's orientation based on the image orientation information.
        Parameters:
        img - the image to guess from
        Returns:
        the direction the face is likely pointing in (or FACING_UNKNOWN if a guess cannot be made)
      • initDirection

        private void initDirection()
        Makes the GUI elements of the dialog. Not called at present because it is not necessary.
      • init

        private void init()
        Makes the GUI elements of the dialog. Not called at present because it is not necessary.
      • setVariablesDirection

        private boolean setVariablesDirection()
        Use the GUI results to set up the variables needed to run the algorithm.
        Returns:
        true if parameters set successfully, false otherwise.
      • setVariables

        private boolean setVariables()
        Use the GUI results to set up the variables needed to run the algorithm.
        Returns:
        true if parameters set successfully, false otherwise.
      • 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.