Class JDialogSKI10_femur_eval_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 JDialogSKI10_femur_eval_pre
    extends JDialogBase
    implements AlgorithmInterface
    This class converts the original knees MRI images into isotropic images. 1) Convert the VOIs into binary image masks. 2) Transform the binary mask images to original image resolution. 3) Then, save the binary mask into .nii file format for comparison.
    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 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.
      private ModelImage calculateThreshold​(ModelImage srcImage)  
      ModelImage calculateTransform​(ModelImage keyImage, ModelImage srcImage)  
      void callAlgorithm()
      Driver function to read image and VOIs, and convert each 3D image to 2D slices.
      void convertVOItoMask()  
      void disposeLocal()
      dispose memory
      private void generateGTContours()  
      private void generateSegContours()  
      void init()
      Initial panel
      void loadFiles()
      load image files and voi files
      private void read_image_name​(java.io.File dir)  
      void readGTFile()  
      private void readKeyImageDir()
      Read 3D images atlas directory.
      void readSegFile()  
      private void recordSaveImageDir()
      Let user specify the saved 2D slices atlas, record the save directory.
      void threshold_GT()  
      void transform()  
      private void traverse_file​(java.io.File dir, java.lang.String id)  
      private void traverse_fold​(java.io.File dir)  
      private void traverse_id​(java.io.File dir)  
      private void traverse_image_folder​(java.io.File dir, java.lang.String hashID)  
      private void traverse_voi_folder​(java.io.File dir)  
      • 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.Hashtable<java.lang.String,​ModelImage> keyImages
        image vector to hold the actual images.
      • maskImages

        private java.util.Hashtable<java.lang.String,​ModelImage> maskImages
      • segKeyImages

        private java.util.Hashtable<java.lang.String,​ModelImage> segKeyImages
      • segMaskImages

        private java.util.Hashtable<java.lang.String,​ModelImage> segMaskImages
      • labelSaveImage

        private javax.swing.JLabel labelSaveImage
        saved 2D slices atlas dir.
      • textFieldSaveImage

        private javax.swing.JTextField textFieldSaveImage
      • buttonSaveImage

        private javax.swing.JButton buttonSaveImage
      • saveImageChooser

        private javax.swing.JFileChooser saveImageChooser
      • saveImageDirectory

        private java.lang.String saveImageDirectory
      • cedTableAxial

        java.util.Hashtable<java.lang.String,​ModelImage> cedTableAxial
      • cedTableSagittal

        java.util.Hashtable<java.lang.String,​ModelImage> cedTableSagittal
      • cedTableCoronal

        java.util.Hashtable<java.lang.String,​ModelImage> cedTableCoronal
      • origTable

        java.util.Hashtable<java.lang.String,​java.lang.String> origTable
      • nameTable

        java.util.Hashtable<java.lang.String,​java.lang.String> nameTable
      • nameVOITable

        java.util.Hashtable<java.lang.String,​java.lang.String> nameVOITable
      • seg_nameTable

        java.util.Hashtable<java.lang.String,​java.lang.String> seg_nameTable
      • seg_nameVOITable

        java.util.Hashtable<java.lang.String,​java.lang.String> seg_nameVOITable
      • nameVOI_GT_Table

        java.util.Hashtable<java.lang.String,​java.lang.String> nameVOI_GT_Table
      • keyImagesTransform

        java.util.Hashtable<java.lang.String,​ModelImage> keyImagesTransform
      • keyImageMasksTransform

        java.util.Hashtable<java.lang.String,​ModelImage> keyImageMasksTransform
      • imageNameHashtable

        java.util.Hashtable<java.lang.String,​java.lang.String> imageNameHashtable
      • voiNameHashtable

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

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

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

        private java.util.Hashtable<java.lang.String,​ModelImage> keyImagesOrientation
      • keyImagesOrientationMask

        private java.util.Hashtable<java.lang.String,​ModelImage> keyImagesOrientationMask
      • maskThresAxial

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

      • JDialogSKI10_femur_eval_pre

        public JDialogSKI10_femur_eval_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
      • recordSaveImageDir

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

        private void readKeyImageDir()
        Read 3D images atlas directory.
      • traverse_image_folder

        private void traverse_image_folder​(java.io.File dir,
                                           java.lang.String hashID)
      • read_image_name

        private void read_image_name​(java.io.File dir)
      • traverse_voi_folder

        private void traverse_voi_folder​(java.io.File dir)
      • traverse_fold

        private void traverse_fold​(java.io.File dir)
      • traverse_id

        private void traverse_id​(java.io.File dir)
      • traverse_file

        private void traverse_file​(java.io.File dir,
                                   java.lang.String id)
      • 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.
      • threshold_GT

        public void threshold_GT()
      • generateGTContours

        private void generateGTContours()
      • generateSegContours

        private void generateSegContours()
      • transform

        public void transform()
      • convertVOItoMask

        public void convertVOItoMask()
      • loadFiles

        public void loadFiles()
        load image files and voi files
      • readGTFile

        public void readGTFile()
      • readSegFile

        public void readSegFile()
      • init

        public void init()
        Initial panel
      • buildKeyImagePanel

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