Class JDialogPromise12Train3DCnns
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.JDialogPromise12Train3DCnns
- All Implemented Interfaces:
AlgorithmInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
This is the first try to 3D convolution deep learning models. 3D-Unet.
Miccai Promise 12 data:
Preprocessed after,
1. N4 correction
2. Transform to 0.5m x 0.5m x 1.5m resolution images
3. Intensity normalization
Apply 3D cube cropping to the 3D images. The 3D cube size is 80x80x24.
The MR image and corresponding binary mask images need to crop into two 3D small cubes, then merge
them into H5 readable volume.
The cropping mechanism include three types:
1) general sliding window overlap cropping.
2) random sampling based cropping inside the image.
3) ROI based random cropping, within or inside the ROI region.
- 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 JButtonprivate JButton(package private) intprivate JPanelprivate Vector<ModelImage> image vector to hold the actual images.private Vector<ModelImage> private Vector<ModelImage> private Vector<ModelImage> private JLabelkey image directory.private JLabelsaved 2D slices atlas dir.private JFileChooserprivate Stringprivate static final longprivate JTextFieldprivate JTextFieldprivate ViewUserInterfaceThe main user interface.private RandomNumberGenFields 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.voidDriver function to read image and VOIs, and convert each 3D image to 2D slices.voidcrop()private voidcropImage_randomSample(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) private voidcropImage_randomSample_voi_region(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) private voidcropImage_slidingWindow(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) voiddispose memoryprivate intfindMaskExtents(ModelImage maskImage) voidH5Write(ModelImage image, ModelImage mask) voidinit()Initial panelvoidload image files and voi filesstatic voidpause()private voidprocessDir_folder_1(File dir) private voidprocessDir_folder_2(File dir) voidreadFile()private voidRead 3D images atlas directory.private voidLet user specify the saved 2D slices atlas, record the save directory.voidsaveImage(ModelImage image, String imgName, ModelImage mask, String maskName, String sliceDirTrainImage, String sliceDirTrainMask, String coordinate_label, PrintWriter fileWriter) voidscaleIntensity(ModelImage image) voidvoidvoidTestH5WriteFloats(String filename) private voidtraverse_folder_1(File dir) private voidtraverse_folder_2(File dir) voidwriteAnalyze(ModelImage image, ModelImage mask, ModelImage img_rotate_90, ModelImage img_mask_rotate_90, ModelImage img_rotate_180, ModelImage img_mask_rotate_180, ModelImage img_rotate_270, ModelImage img_mask_rotate_270, ModelImage img_flip_leftright, ModelImage img_mask_flip_leftright, ModelImage img_flip_topbottom, ModelImage img_mask_flip_topbottom, int x, int y, int z, int imageIndex, PrintWriter fileWriter) 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
-
keyImages
image vector to hold the actual images. -
keyImagesCrop
-
keyImagesScaleIntensity
-
keyImagesMask
-
keyImageVector1
-
keyImageVector2
-
labelSaveImage
saved 2D slices atlas dir. -
textFieldSaveImage
-
buttonSaveImage
-
saveImageChooser
-
saveImageDirectory
-
xRandom
-
count
int count
-
-
Constructor Details
-
JDialogPromise12Train3DCnns
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_folder_1
-
processDir_folder_1
-
sortKeyImage_1
public void sortKeyImage_1() -
traverse_folder_2
-
processDir_folder_2
-
sortKeyImage_2
public void sortKeyImage_2() -
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. -
crop
public void crop() -
scaleIntensity
public void scaleIntensity() -
scaleIntensity
-
cropImage_randomSample
private void cropImage_randomSample(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) -
findMaskExtents
-
cropImage_randomSample_voi_region
private void cropImage_randomSample_voi_region(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) -
cropImage_slidingWindow
private void cropImage_slidingWindow(ModelImage image, ModelImage imageMask, int imageIndex, PrintWriter fileWriter) -
writeAnalyze
public void writeAnalyze(ModelImage image, ModelImage mask, ModelImage img_rotate_90, ModelImage img_mask_rotate_90, ModelImage img_rotate_180, ModelImage img_mask_rotate_180, ModelImage img_rotate_270, ModelImage img_mask_rotate_270, ModelImage img_flip_leftright, ModelImage img_mask_flip_leftright, ModelImage img_flip_topbottom, ModelImage img_mask_flip_topbottom, int x, int y, int z, int imageIndex, PrintWriter fileWriter) -
saveImage
public void saveImage(ModelImage image, String imgName, ModelImage mask, String maskName, String sliceDirTrainImage, String sliceDirTrainMask, String coordinate_label, PrintWriter fileWriter) -
H5Write
- Throws:
Exception
-
TestH5WriteFloats
- Throws:
Exception
-
pause
public static void pause() -
loadFiles
public void loadFiles()load image files and voi files -
readFile
public void readFile() -
init
public void init()Initial panel -
buildKeyImagePanel
public void buildKeyImagePanel()Panel contains both the 3D image dir and saved 2D slices atlas dir.
-