Class JDialogProstateXReRunWholeProstate
- 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.ProstateFramework.JDialogProstateXReRunWholeProstate
-
- 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 JDialogProstateXReRunWholeProstate extends JDialogBase implements AlgorithmInterface
For NIH prostate data, we apply wp and cg segmentation using HED deep learning model. Data: given NIH prostate data, axial images with corresponing VOIs for Cg and Wp. Steps: 1. read image file and VOIs 2. From VOIs, generate the binary mask images. 3. Transform into isotropic image (upsampling) with resolution: 0.35m x 0.35m x 0.35m. 4. Conversion: converts axial image to axial an coronal using JDialogReoriented. 5. Generate the CED images from MR images in three orientation: axial, sagittal, coronal. 6. Each orientation, save 3D MR images, CED images with corresponding binary mask images. This is the 2D-volumetric segmentation approach.- Author:
- Ruida Cheng
- 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 AlgorithmTransformalgoTransprivate intaxial_indexprivate java.util.Hashtable<java.lang.String,ModelImage>axialListprivate java.util.Hashtable<java.lang.String,ModelImage>axialMaskListprivate javax.swing.JButtonbuttonKeyImageprivate javax.swing.JButtonbuttonSaveImage(package private) java.util.Hashtable<java.lang.String,ModelImage>cedTable(package private) java.util.Hashtable<java.lang.String,ModelImage>cedTable_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>cedTableAxial(package private) java.util.Hashtable<java.lang.String,ModelImage>cedTableCoronal(package private) java.util.Hashtable<java.lang.String,ModelImage>cedTableSagittalprivate intcoronal_indexprivate java.util.Hashtable<java.lang.String,ModelImage>coronalListprivate java.util.Hashtable<java.lang.String,ModelImage>coronalMaskList(package private) java.util.Hashtable<java.lang.String,ModelImage>cropTable_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>cropVoiTable_extprivate intendIndex(package private) java.util.Hashtable<java.lang.String,ModelImage>imageHashtableCg(package private) java.util.Hashtable<java.lang.String,ModelImage>imageHashtableCg_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>imageHashtableWp(package private) java.util.Hashtable<java.lang.String,ModelImage>imageHashtableWp_ext(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>imageNameHashtable(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>imageNameHashtable_extprivate javax.swing.JPanelimageSelectionPanelprivate javax.swing.JLabellabelKeyImagekey image directory.private javax.swing.JLabellabelSaveImagesaved 2D slices atlas dir.private intsagittal_indexprivate java.util.Hashtable<java.lang.String,ModelImage>sagittalListprivate java.util.Hashtable<java.lang.String,ModelImage>sagittalMaskListprivate javax.swing.JFileChoosersaveImageChooserprivate java.lang.StringsaveImageDirectory(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleCedTable(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleCedTable_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleImageTable(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleImageTable_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleIntensityTable(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleIntensityTable_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleVoiTable(package private) java.util.Hashtable<java.lang.String,ModelImage>scaleVoiTable_extprivate static longserialVersionUIDprivate intstartIndexprivate javax.swing.JTextFieldtextFieldKeyImageprivate javax.swing.JTextFieldtextFieldSaveImage(package private) java.util.Hashtable<java.lang.String,ModelImage>transformTable(package private) java.util.Hashtable<java.lang.String,ModelImage>transformTable_extprivate ViewUserInterfaceUIThe main user interface.(package private) java.util.Hashtable<java.lang.String,VOI>voiHashtable(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>voiNameHashtableCg(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>voiNameHashtableCg_ext(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>voiNameHashtableWp(package private) java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>>voiNameHashtableWp_ext(package private) java.util.Hashtable<java.lang.String,ModelImage>voiTable(package private) java.util.Hashtable<java.lang.String,ModelImage>voiTable_ext-
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 JDialogProstateXReRunWholeProstate(java.awt.Frame theParentFrame)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Dialog local actionPerformed handler.voidalgorithmPerformed(AlgorithmBase algorithm)This method is required if the AlgorithmPerformed interface is implemented.voidbuildKeyImagePanel()Panel contains both the 3D image dir and saved 2D slices atlas dir.private ModelImagecalculateCoherenceEnhancingDiffusion(ModelImage inImage)ModelImagecalculateTransform(ModelImage keyImage)voidcallAlgorithm()Driver function to read image and VOIs, and convert each 3D image to 2D slices.voidconversion()voidcrossValidationTrain()voiddisposeLocal()dispose memoryvoiddisposeMemory()voidinit()Initial panelvoidloadFiles()load image files and voi filesstatic voidpause()voidreadFile()private voidreadKeyImageDir()Read 3D images atlas directory.private voidrecordSaveImageDir()Let user specify the saved 2D slices atlas, record the save directory.voidrunCED()voidrunMask()voidrunTransform()voidsaveHED2DsliceCED()voidsaveImage(ModelImage image, ModelImage imageMask, java.lang.String orientation)voidsaveImages(java.lang.String key, int[] index, java.lang.String folderName, java.util.Hashtable<java.lang.String,ModelImage> whichTable)voidsaveImagesTest(java.lang.String key, int[] index, java.lang.String folderName)voidsaveOrthogonalCEDImage()private voidsavePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, boolean isMask)private voidsavePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)private voidtraverse_DicomLayer(java.io.File lastLayer, java.lang.String hashID)private voidtraverse_firstLayer_noCoil(java.io.File firstDir, java.lang.String child)private voidtraverse_Layer_noCoil(java.io.File dir)private voidtraverse_secondLayer_noCoil(java.io.File firstLayer, java.lang.String hashID)-
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
The main user interface.
-
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
-
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
-
imageNameHashtable
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> imageNameHashtable
-
voiNameHashtableWp
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> voiNameHashtableWp
-
voiNameHashtableCg
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> voiNameHashtableCg
-
imageNameHashtable_ext
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> imageNameHashtable_ext
-
voiNameHashtableWp_ext
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> voiNameHashtableWp_ext
-
voiNameHashtableCg_ext
java.util.Hashtable<java.lang.String,java.util.Vector<java.lang.String>> voiNameHashtableCg_ext
-
imageHashtableWp_ext
java.util.Hashtable<java.lang.String,ModelImage> imageHashtableWp_ext
-
imageHashtableCg_ext
java.util.Hashtable<java.lang.String,ModelImage> imageHashtableCg_ext
-
cedTable_ext
java.util.Hashtable<java.lang.String,ModelImage> cedTable_ext
-
voiTable_ext
java.util.Hashtable<java.lang.String,ModelImage> voiTable_ext
-
imageHashtableWp
java.util.Hashtable<java.lang.String,ModelImage> imageHashtableWp
-
imageHashtableCg
java.util.Hashtable<java.lang.String,ModelImage> imageHashtableCg
-
cedTable
java.util.Hashtable<java.lang.String,ModelImage> cedTable
-
voiTable
java.util.Hashtable<java.lang.String,ModelImage> voiTable
-
scaleImageTable
java.util.Hashtable<java.lang.String,ModelImage> scaleImageTable
-
scaleCedTable
java.util.Hashtable<java.lang.String,ModelImage> scaleCedTable
-
scaleVoiTable
java.util.Hashtable<java.lang.String,ModelImage> scaleVoiTable
-
scaleImageTable_ext
java.util.Hashtable<java.lang.String,ModelImage> scaleImageTable_ext
-
scaleIntensityTable_ext
java.util.Hashtable<java.lang.String,ModelImage> scaleIntensityTable_ext
-
scaleCedTable_ext
java.util.Hashtable<java.lang.String,ModelImage> scaleCedTable_ext
-
scaleVoiTable_ext
java.util.Hashtable<java.lang.String,ModelImage> scaleVoiTable_ext
-
transformTable_ext
java.util.Hashtable<java.lang.String,ModelImage> transformTable_ext
-
transformTable
java.util.Hashtable<java.lang.String,ModelImage> transformTable
-
voiHashtable
java.util.Hashtable<java.lang.String,VOI> voiHashtable
-
cropTable_ext
java.util.Hashtable<java.lang.String,ModelImage> cropTable_ext
-
cropVoiTable_ext
java.util.Hashtable<java.lang.String,ModelImage> cropVoiTable_ext
-
algoTrans
private AlgorithmTransform algoTrans
-
scaleIntensityTable
java.util.Hashtable<java.lang.String,ModelImage> scaleIntensityTable
-
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
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
-
axial_index
private int axial_index
-
sagittal_index
private int sagittal_index
-
coronal_index
private int coronal_index
-
startIndex
private int startIndex
-
endIndex
private int endIndex
-
-
Method Detail
-
disposeLocal
public void disposeLocal()
dispose memory
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Dialog local actionPerformed handler.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classJDialogBase
-
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_Layer_noCoil
private void traverse_Layer_noCoil(java.io.File dir)
-
traverse_firstLayer_noCoil
private void traverse_firstLayer_noCoil(java.io.File firstDir, java.lang.String child)
-
traverse_secondLayer_noCoil
private void traverse_secondLayer_noCoil(java.io.File firstLayer, java.lang.String hashID)
-
traverse_DicomLayer
private void traverse_DicomLayer(java.io.File lastLayer, java.lang.String hashID)
-
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:
algorithmPerformedin 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.
-
saveOrthogonalCEDImage
public void saveOrthogonalCEDImage()
-
saveHED2DsliceCED
public void saveHED2DsliceCED()
-
saveImage
public void saveImage(ModelImage image, ModelImage imageMask, java.lang.String orientation)
-
disposeMemory
public void disposeMemory()
-
runMask
public void runMask()
-
runTransform
public void runTransform()
-
conversion
public void conversion()
-
runCED
public void runCED()
-
calculateCoherenceEnhancingDiffusion
private ModelImage calculateCoherenceEnhancingDiffusion(ModelImage inImage)
-
crossValidationTrain
public void crossValidationTrain()
-
saveImages
public void saveImages(java.lang.String key, int[] index, java.lang.String folderName, java.util.Hashtable<java.lang.String,ModelImage> whichTable)
-
saveImagesTest
public void saveImagesTest(java.lang.String key, int[] index, java.lang.String folderName)
-
savePNGfile
private void savePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, boolean isMask)
-
savePNGfile
private void savePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)
-
loadFiles
public void loadFiles()
load image files and voi files
-
readFile
public void readFile()
-
pause
public static void pause()
-
init
public void init()
Initial panel
-
buildKeyImagePanel
public void buildKeyImagePanel()
Panel contains both the 3D image dir and saved 2D slices atlas dir.
-
calculateTransform
public ModelImage calculateTransform(ModelImage keyImage)
-
-