Class JDialogSK10_MRI_CED_map_pre

  • All Implemented Interfaces:
    AlgorithmInterface, 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 JDialogSK10_MRI_CED_map_pre
    extends JDialogBase
    implements AlgorithmInterface
    This class generates the knees VOI contours from the deep learning (HNN) MRI and CED energy maps.
    Author:
    Ruida Cheng
    See Also:
    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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Dialog local actionPerformed handler.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      void buildKeyImagePanel()
      Panel contains both the 3D image dir and saved 2D slices atlas dir.
      void callAlgorithm()
      Driver function to read image and VOIs, and convert each 3D image to 2D slices.
      void disposeLocal()
      dispose memory
      private void generateContours()
      Generate the VOI contours from the probablity maps.
      private void generateContours_MRI()
      Generate the VOI contours from MRI prediction only.
      void init()
      Initial panel
      static void pause()  
      private void processDir_folder_map​(java.io.File dir, int index)
      HNN generates multi-scaled prediction output.
      private void read_image_name​(java.io.File dir)
      Grab the test image in mipav .xml file format.
      void readFile()
      Read testing images and the HNN predcited probability maps.
      private void readKeyImageDir()
      Parsing 3D images directory and the HNN generated probablity maps directory
      private void recordSaveImageDir()
      Let user specify the saved 2D slices atlas, record the save directory.
      void smoothVOI30​(ModelImage maskImage, ModelImage resultImage)
      Smooth generated VOI contours by 30 points.
      private void sortImageTable()
      Sort the testing image directory in accending order.
      private void traverse_folder_map​(java.io.File dir)  
      private void traverse_folder_map​(java.io.File dir, int index)
      Traverse the HNN subdirectories.
      private void traverse_image_folder​(java.io.File dir, java.lang.String hashID)
      Traverse the test image folder
      • 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

      • labelKeyImage

        private javax.swing.JLabel labelKeyImage
        key image directory.
      • textFieldKeyImage

        private javax.swing.JTextField textFieldKeyImage
      • buttonKeyImage

        private javax.swing.JButton buttonKeyImage
      • imageSelectionPanel

        private javax.swing.JPanel imageSelectionPanel
      • keyImages

        private java.util.Vector<ModelImage> keyImages
        image vector to hold the actual images.
      • keyImageVOIs

        private java.util.Vector<VOI[]> keyImageVOIs
        voi vector to hold the actual vois.
      • labelSaveImage

        private javax.swing.JLabel labelSaveImage
      • textFieldSaveImage

        private javax.swing.JTextField textFieldSaveImage
      • buttonSaveImage

        private javax.swing.JButton buttonSaveImage
      • saveImageChooser

        private javax.swing.JFileChooser saveImageChooser
      • saveImageDirectory

        private java.lang.String saveImageDirectory
      • imageTable

        java.util.Hashtable<java.lang.String,​java.util.Vector<java.lang.String>> imageTable
      • maskTable

        java.util.Hashtable<java.lang.String,​java.util.Vector<ModelImage>> maskTable
      • maskImageTable

        java.util.Hashtable<java.lang.String,​java.util.Vector<java.lang.String>> maskImageTable
      • nameTableImages

        java.util.Hashtable<java.lang.String,​java.lang.String> nameTableImages
      • keyImagesOrientation

        java.util.Hashtable<java.lang.String,​ModelImage> keyImagesOrientation
    • Constructor Detail

      • JDialogSK10_MRI_CED_map_pre

        public JDialogSK10_MRI_CED_map_pre​(java.awt.Frame theParentFrame)
        Constructor.
        Parameters:
        theParentFrame -
    • Method Detail

      • disposeLocal

        public void disposeLocal()
        dispose memory
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Dialog local actionPerformed handler.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
      • sortImageTable

        private void sortImageTable()
        Sort the testing image directory in accending order.
      • pause

        public static void pause()
      • recordSaveImageDir

        private void recordSaveImageDir()
        Let user specify the saved 2D slices atlas, record the save directory.
      • readKeyImageDir

        private void readKeyImageDir()
        Parsing 3D images directory and the HNN generated probablity maps directory
      • traverse_image_folder

        private void traverse_image_folder​(java.io.File dir,
                                           java.lang.String hashID)
        Traverse the test image folder
      • read_image_name

        private void read_image_name​(java.io.File dir)
        Grab the test image in mipav .xml file format.
        Parameters:
        dir - image sub-directory name
      • traverse_folder_map

        private void traverse_folder_map​(java.io.File dir)
      • traverse_folder_map

        private void traverse_folder_map​(java.io.File dir,
                                         int index)
        Traverse the HNN subdirectories.
        Parameters:
        dir - directory name
        index - map index
      • processDir_folder_map

        private void processDir_folder_map​(java.io.File dir,
                                           int index)
        HNN generates multi-scaled prediction output. We use fuse layer generated output as the energy map to inference the VOI contour.
        Parameters:
        dir - sub-directory name.
        index - probablity map index
      • 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 be display the result image and/or clean up.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • callAlgorithm

        public void callAlgorithm()
        Driver function to read image and VOIs, and convert each 3D image to 2D slices.
      • generateContours

        private void generateContours()
        Generate the VOI contours from the probablity maps.
      • generateContours_MRI

        private void generateContours_MRI()
        Generate the VOI contours from MRI prediction only. As one ablation experiment in the MRM paper.
      • smoothVOI30

        public void smoothVOI30​(ModelImage maskImage,
                                ModelImage resultImage)
        Smooth generated VOI contours by 30 points.
        Parameters:
        maskImage - mask image
        resultImage - result image to hold the resulting smoothed VOI contour.
      • readFile

        public void readFile()
        Read testing images and the HNN predcited probability maps.
      • init

        public void init()
        Initial panel
      • buildKeyImagePanel

        public void buildKeyImagePanel()
        Panel contains both the 3D image dir and saved 2D slices atlas dir.