Class JDialogSKI_10_3D_orthogonal_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 JDialogSKI_10_3D_orthogonal_pre
    extends JDialogBase
    implements AlgorithmInterface
    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 calculateCoherenceEnhancingDiffusion​(ModelImage inImage)
      Calculate the CED image.
      private ModelImage calculateThreshold​(ModelImage srcImage)
      Extract the theshold from grount truth label.
      ModelImage calculateTransform​(ModelImage keyImage)  
      void callAlgorithm()
      Driver function to read image and VOIs, and convert each 3D image to 2D slices.
      void conversion()
      Convert the SKI10 axial image to sagittal, coronal orientation image.
      void disposeLocal()
      dispose memory
      void init()
      Initial panel
      private void read_image_name​(java.io.File dir)
      Read image full path for SKI10 dataset.
      void readFile()
      Read the SKI10 dataset ( .MHD image and .MHD ground truth labels ).
      private void readKeyImageDir()
      Read 3D images directory.
      private void recordSaveImageDir()
      Let user specify the saved 2D slices, record the save directory.
      void runCED()
      Run Coherance Enhanced Diffusion (CED) filter on all the MRI axial, sagittal and coronal images.
      void save_MRI_CED_2Dslice()  
      void save_MRI_CED_2Dslice_test()  
      void saveImage()  
      void saveImage​(ModelImage image, ModelImage imageMask, java.lang.String orientation)  
      void saveImage​(ModelImage image, ModelImage imageMask, java.lang.String orientation, java.lang.String folder)  
      void saveImageSlice_test​(ModelImage image, java.lang.String orientation, java.lang.String folder, java.lang.String key)  
      void saveOrthogonalCEDImage()
      To save memory, save intermediated axial, sagittal, coronal original MRI image, generated CED image and the gruond truth label to MIPAV readable .xml image format.
      private void savePNGfile​(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)  
      private void savePNGfile_test​(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)  
      ModelImage scaleIntensity​(ModelImage image)
      Normalize the image intensity between 25% and 75% intensity range value, then scale by a factor of 1000.
      void threshold()  
      void transform()
      Convert the MRI image and corresponding image mask to isotropic image.
      private void traverse_folder​(java.io.File dir)
      Traverse the 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
      • textFieldKeyImage

        private javax.swing.JTextField textFieldKeyImage
      • buttonKeyImage

        private javax.swing.JButton buttonKeyImage
      • readImageChooser

        private javax.swing.JFileChooser readImageChooser
      • readImageDirectory

        private java.lang.String readImageDirectory
      • imageSelectionPanel

        private javax.swing.JPanel imageSelectionPanel
      • 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
      • nameTableImages

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

        java.util.Hashtable<java.lang.String,​java.lang.String> nameTableImagesCED
      • 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
      • axial_index

        private int axial_index
      • sagittal_index

        private int sagittal_index
      • coronal_index

        private int coronal_index
      • keyImagesTransform

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

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

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

        private java.util.Hashtable<java.lang.String,​ModelImage> axialList
      • axialMaskList

        private java.util.Hashtable<java.lang.String,​ModelImage> axialMaskList
      • sagittalList

        private java.util.Hashtable<java.lang.String,​ModelImage> sagittalList
      • sagittalMaskList

        private java.util.Hashtable<java.lang.String,​ModelImage> sagittalMaskList
      • coronalList

        private java.util.Hashtable<java.lang.String,​ModelImage> coronalList
      • coronalMaskList

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

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

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

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

        private java.lang.String saveImageDirectory_train
      • saveImageDirectory_test

        private java.lang.String saveImageDirectory_test
    • Constructor Detail

      • JDialogSKI_10_3D_orthogonal_pre

        public JDialogSKI_10_3D_orthogonal_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, record the save directory.
      • readKeyImageDir

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

        private void traverse_folder​(java.io.File dir)
        Traverse the folder
        Parameters:
        dir -
      • read_image_name

        private void read_image_name​(java.io.File dir)
        Read image full path for SKI10 dataset.
        Parameters:
        dir -
      • 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.
      • save_MRI_CED_2Dslice_test

        public void save_MRI_CED_2Dslice_test()
      • saveImageSlice_test

        public void saveImageSlice_test​(ModelImage image,
                                        java.lang.String orientation,
                                        java.lang.String folder,
                                        java.lang.String key)
      • savePNGfile_test

        private void savePNGfile_test​(java.lang.String dirName,
                                      java.lang.String fileName,
                                      ModelImage srcImage,
                                      float minIntensity,
                                      float maxIntensity,
                                      int xDim,
                                      int yDim,
                                      boolean isMask)
      • save_MRI_CED_2Dslice

        public void save_MRI_CED_2Dslice()
      • saveImage

        public void saveImage​(ModelImage image,
                              ModelImage imageMask,
                              java.lang.String orientation,
                              java.lang.String folder)
      • conversion

        public void conversion()
        Convert the SKI10 axial image to sagittal, coronal orientation image.
      • saveImage

        public void saveImage​(ModelImage image,
                              ModelImage imageMask,
                              java.lang.String orientation)
      • scaleIntensity

        public ModelImage scaleIntensity​(ModelImage image)
        Normalize the image intensity between 25% and 75% intensity range value, then scale by a factor of 1000. Histogram equalization alike normalization in the MRM paper.
        Parameters:
        image -
        Returns:
        normalized and scaled image.
      • savePNGfile

        private void savePNGfile​(java.lang.String dirName,
                                 java.lang.String fileName,
                                 ModelImage srcImage,
                                 float minIntensity,
                                 float maxIntensity,
                                 int xDim,
                                 int yDim,
                                 boolean isMask)
        Parameters:
        dirName - saved directory name
        fileName - saved file name
        srcImage - source image
        minIntensity - source image min intensity
        maxIntensity - source image max intensity
        xDim - saved 2D png slice x dimension
        yDim - saved 2D png slice y dimension
        isMask - flag to indicate it is ground truth mask to source image
      • readFile

        public void readFile()
        Read the SKI10 dataset ( .MHD image and .MHD ground truth labels ).
      • transform

        public void transform()
        Convert the MRI image and corresponding image mask to isotropic image.
      • threshold

        public void threshold()
      • calculateThreshold

        private ModelImage calculateThreshold​(ModelImage srcImage)
        Extract the theshold from grount truth label.
        Parameters:
        srcImage -
        Returns:
      • runCED

        public void runCED()
        Run Coherance Enhanced Diffusion (CED) filter on all the MRI axial, sagittal and coronal images.
      • saveImage

        public void saveImage()
      • saveOrthogonalCEDImage

        public void saveOrthogonalCEDImage()
        To save memory, save intermediated axial, sagittal, coronal original MRI image, generated CED image and the gruond truth label to MIPAV readable .xml image format.
      • calculateCoherenceEnhancingDiffusion

        private ModelImage calculateCoherenceEnhancingDiffusion​(ModelImage inImage)
        Calculate the CED image.
        Parameters:
        inImage - source image
        Returns:
        CED image
      • init

        public void init()
        Initial panel
      • buildKeyImagePanel

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