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,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKActionNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AlgorithmTransformprivate intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> private JButtonprivate JButton(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private int(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private JPanelprivate JLabelkey image directory.private JLabelsaved 2D slices atlas dir.private intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> private JFileChooserprivate String(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private static final longprivate intprivate JTextFieldprivate JTextField(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private ViewUserInterfaceThe main user interface.(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> 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, voiManagerFields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPEFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(ActionEvent event) Dialog local actionPerformed handler.voidalgorithmPerformed(AlgorithmBase algorithm) This method is required if the AlgorithmPerformed interface is implemented.voidPanel contains both the 3D image dir and saved 2D slices atlas dir.private ModelImagecalculateTransform(ModelImage keyImage) voidDriver function to read image and VOIs, and convert each 3D image to 2D slices.voidvoidvoiddispose memoryvoidvoidinit()Initial panelvoidload image files and voi filesstatic voidpause()voidreadFile()private voidRead 3D images atlas directory.private voidLet user specify the saved 2D slices atlas, record the save directory.voidrunCED()voidrunMask()voidvoidvoidsaveImage(ModelImage image, ModelImage imageMask, String orientation) voidsaveImages(String key, int[] index, String folderName, Hashtable<String, ModelImage> whichTable) voidsaveImagesTest(String key, int[] index, String folderName) voidprivate voidsavePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, boolean isMask) private voidsavePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask) private voidtraverse_DicomLayer(File lastLayer, String hashID) private voidtraverse_firstLayer_noCoil(File firstDir, String child) private voidprivate voidtraverse_secondLayer_noCoil(File firstLayer, 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, windowOpenedMethods 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, updateMethods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackMethods 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, toFrontMethods 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, validateTreeMethods 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 Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
UI
The main user interface. -
labelKeyImage
key image directory. -
textFieldKeyImage
-
buttonKeyImage
-
imageSelectionPanel
-
labelSaveImage
saved 2D slices atlas dir. -
textFieldSaveImage
-
buttonSaveImage
-
saveImageChooser
-
saveImageDirectory
-
imageNameHashtable
-
voiNameHashtableWp
-
voiNameHashtableCg
-
imageNameHashtable_ext
-
voiNameHashtableWp_ext
-
voiNameHashtableCg_ext
-
imageHashtableWp_ext
Hashtable<String,ModelImage> imageHashtableWp_ext -
imageHashtableCg_ext
Hashtable<String,ModelImage> imageHashtableCg_ext -
cedTable_ext
Hashtable<String,ModelImage> cedTable_ext -
voiTable_ext
Hashtable<String,ModelImage> voiTable_ext -
imageHashtableWp
Hashtable<String,ModelImage> imageHashtableWp -
imageHashtableCg
Hashtable<String,ModelImage> imageHashtableCg -
cedTable
Hashtable<String,ModelImage> cedTable -
voiTable
Hashtable<String,ModelImage> voiTable -
scaleImageTable
Hashtable<String,ModelImage> scaleImageTable -
scaleCedTable
Hashtable<String,ModelImage> scaleCedTable -
scaleVoiTable
Hashtable<String,ModelImage> scaleVoiTable -
scaleImageTable_ext
Hashtable<String,ModelImage> scaleImageTable_ext -
scaleIntensityTable_ext
Hashtable<String,ModelImage> scaleIntensityTable_ext -
scaleCedTable_ext
Hashtable<String,ModelImage> scaleCedTable_ext -
scaleVoiTable_ext
Hashtable<String,ModelImage> scaleVoiTable_ext -
transformTable_ext
Hashtable<String,ModelImage> transformTable_ext -
transformTable
Hashtable<String,ModelImage> transformTable -
voiHashtable
-
cropTable_ext
Hashtable<String,ModelImage> cropTable_ext -
cropVoiTable_ext
Hashtable<String,ModelImage> cropVoiTable_ext -
algoTrans
-
scaleIntensityTable
Hashtable<String,ModelImage> scaleIntensityTable -
axialList
-
axialMaskList
-
sagittalList
-
sagittalMaskList
-
coronalList
-
coronalMaskList
-
cedTableAxial
Hashtable<String,ModelImage> cedTableAxial -
cedTableSagittal
Hashtable<String,ModelImage> cedTableSagittal -
cedTableCoronal
Hashtable<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
-
-
Constructor Details
-
JDialogProstateXReRunWholeProstate
Constructor.- Parameters:
theParentFrame-
-
-
Method Details
-
disposeLocal
public void disposeLocal()dispose memory -
actionPerformed
Dialog local actionPerformed handler.- Specified by:
actionPerformedin interfaceActionListener- 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
-
traverse_firstLayer_noCoil
-
traverse_secondLayer_noCoil
-
traverse_DicomLayer
-
algorithmPerformed
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
-
disposeMemory
public void disposeMemory() -
runMask
public void runMask() -
runTransform
public void runTransform() -
conversion
public void conversion() -
runCED
public void runCED() -
calculateCoherenceEnhancingDiffusion
-
crossValidationTrain
public void crossValidationTrain() -
saveImages
public void saveImages(String key, int[] index, String folderName, Hashtable<String, ModelImage> whichTable) -
saveImagesTest
-
savePNGfile
private void savePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, boolean isMask) -
savePNGfile
private void savePNGfile(String dirName, 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
-