Class JDialogSKI_10_3D_orthogonal_pre
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- gov.nih.mipav.view.dialogs.JDialogBase
-
- gov.nih.mipav.view.renderer.WildMagic.Knees.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 gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
-
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
-
-
Field Summary
Fields Modifier and Type Field Description private AlgorithmTransform
algoTrans
private int
axial_index
private java.util.Hashtable<java.lang.String,ModelImage>
axialList
private java.util.Hashtable<java.lang.String,ModelImage>
axialMaskList
private javax.swing.JButton
buttonKeyImage
private javax.swing.JButton
buttonSaveImage
private java.util.Hashtable<java.lang.String,ModelImage>
cedTableAxial
private java.util.Hashtable<java.lang.String,ModelImage>
cedTableCoronal
private java.util.Hashtable<java.lang.String,ModelImage>
cedTableSagittal
private int
coronal_index
private java.util.Hashtable<java.lang.String,ModelImage>
coronalList
private java.util.Hashtable<java.lang.String,ModelImage>
coronalMaskList
private javax.swing.JPanel
imageSelectionPanel
private java.util.Hashtable<java.lang.String,ModelImage>
keyImageMasksTransform
private java.util.Hashtable<java.lang.String,ModelImage>
keyImagesOrientation
private java.util.Hashtable<java.lang.String,ModelImage>
keyImagesOrientationMask
private java.util.Hashtable<java.lang.String,ModelImage>
keyImagesTransform
private javax.swing.JLabel
labelKeyImage
private javax.swing.JLabel
labelSaveImage
private java.util.Hashtable<java.lang.String,ModelImage>
maskThresAxial
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTableImages
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTableImagesCED
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTableImagesMask
private javax.swing.JFileChooser
readImageChooser
private java.lang.String
readImageDirectory
private int
sagittal_index
private java.util.Hashtable<java.lang.String,ModelImage>
sagittalList
private java.util.Hashtable<java.lang.String,ModelImage>
sagittalMaskList
private javax.swing.JFileChooser
saveImageChooser
private java.lang.String
saveImageDirectory
private java.lang.String
saveImageDirectory_test
private java.lang.String
saveImageDirectory_train
private static long
serialVersionUID
private javax.swing.JTextField
textFieldKeyImage
private javax.swing.JTextField
textFieldSaveImage
private ViewUserInterface
UI
-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBase
applyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JDialogSKI_10_3D_orthogonal_pre(java.awt.Frame theParentFrame)
Constructor.
-
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 memoryvoid
init()
Initial panelprivate 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 gov.nih.mipav.view.dialogs.JDialogBase
buildApplyButton, buildButtons, buildCancelButton, buildCancelButton, buildCloseButton, buildHelpButton, buildImageComboBox, buildOKButton, buildOKButton, buildOKCancelButtons, buildTitledBorder, buildTitledBorder, createLabel, createProgressBar, createProgressBar, createTextField, focusGained, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, itemStateChanged, loadDefaults, loadDefaults, makeImageName, makeString, openNewFrame, saveDefaults, saveDefaults, setLeftHandSystem, setQuietRunning, setScriptRunning, setSeparateThread, setVisible, setVisible, setVisibleMenuBar, setVisibleStandard, setVOIManager, setWCSystem, testParameter, testParameterMin, updateFFTFileInfo, updateFileInfo, updateFileInfoOtherModality, updateFileInfoStatic, updateFileInfoStatic, updateFileTypeInfo, updateFileTypeInfo, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
UI
private ViewUserInterface UI
-
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
-
algoTrans
private AlgorithmTransform algoTrans
-
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
-
-
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 interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
-
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 interfaceAlgorithmInterface
- 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 namefileName
- saved file namesrcImage
- source imageminIntensity
- source image min intensitymaxIntensity
- source image max intensityxDim
- saved 2D png slice x dimensionyDim
- saved 2D png slice y dimensionisMask
- 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
-
calculateTransform
public ModelImage calculateTransform(ModelImage keyImage)
-
init
public void init()
Initial panel
-
buildKeyImagePanel
public void buildKeyImagePanel()
Panel contains both the 3D image dir and saved 2D slices atlas dir.
-
-