Class JDialogProstate2DSlicesAtlasPngConverterTrain_JMI
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.JDialogProstate2DSlicesAtlasPngConverterTrain_JMI
- All Implemented Interfaces:
AlgorithmInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogProstate2DSlicesAtlasPngConverterTrain_JMI
extends JDialogBase
implements AlgorithmInterface
For JMI 2017 paper: this class uses image processing methods that are different to the SPIE paper.
1) Read the MRI image with VOIs
2) Generate the binary masks
2) Crop the image with the 25% deduction
3) Scale image intensity to range 0 to 1000.
4) Generate the CED image.
5) Extract MRI image and CED image slices with corresponding binary image masks for HED to train the
deep learning model.
- 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 intprivate intprivate intprivate intprivate JButtonprivate JButton(package private) Hashtable<Integer, ModelImage> private AlgorithmAddMarginscrop margin algorithm.private Vector<ModelImage> cropped key image vector.(package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> private JPanelprivate Vector<ModelImage> image vector to hold the actual images.voi vector to hold the actual vois.private JLabelkey image directory.private JLabelsaved 2D slices atlas dir.private JFileChooserprivate String(package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> (package private) Hashtable<Integer, ModelImage> private static final longprivate JTextFieldprivate JTextFieldprivate ViewUserInterfaceThe main user interface.(package private) Hashtable<Integer, ModelImage> private int[]X cropped region bounds.private int[]Y cropped region bounds.private int[]Z cropped region bound.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
ConstructorsConstructorDescriptionJDialogProstate2DSlicesAtlasPngConverterTrain_JMI(Frame theParentFrame) Constructor. -
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 ModelImagevoidDriver function to read image and VOIs, and convert each 3D image to 2D slices.private ModelImagecropImage(ModelImage image) private ModelImagecropImage_ext(ModelImage image) voidCrop key images.voidstatic booleanDebugger to test dir deletion.voiddispose memoryvoidvoidinit()Initial panelvoidload image files and voi filesvoidDebugger for test the image and VOis reading.private voidprocessDir_folder_1(File dir) private voidprocessDir_folder_2(File dir) private voidprocessDir_folder_3(File dir) private voidprocessDir_folder_4(File dir) private voidprocessDir_folder_5(File dir) voidreadFile()private voidRead 3D images atlas directory.private voidLet user specify the saved 2D slices atlas, record the save directory.voidvoidvoidvoidvoidSave the 2D slices and VOIs to user specified dir.voidsaveImages_ext(int i, int[] index, String folderName, Hashtable<Integer, ModelImage> whichTable) private 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) scaleIntensity(ModelImage image) voidsmoothVOI60(ModelImage maskImage, ModelImage resultImage) Smooth VOIs to 60 points.voidvoidvoidvoidvoidprivate voidtraverse_folder_1(File dir) private voidtraverse_folder_2(File dir) private voidtraverse_folder_3(File dir) private voidtraverse_folder_4(File dir) private voidtraverse_folder_5(File dir) 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. -
boxYmin
private int boxYmin -
boxYmax
private int boxYmax -
boxXmin
private int boxXmin -
boxXmax
private int boxXmax -
xBounds
private int[] xBoundsX cropped region bounds. -
yBounds
private int[] yBoundsY cropped region bounds. -
zBounds
private int[] zBoundsZ cropped region bound. -
cropAlgo
crop margin algorithm. -
labelKeyImage
key image directory. -
textFieldKeyImage
-
buttonKeyImage
-
imageSelectionPanel
-
keyImages
image vector to hold the actual images. -
keyImageVOIs
voi vector to hold the actual vois. -
keyImageVector1
-
keyImageVOIVector1
-
keyImageVector2
-
keyImageVOIVector2
-
keyImageVector3
-
keyImageVOIVector3
-
keyImageVector4
-
keyImageVOIVector4
-
keyImageVector5
-
keyImageVOIVector5
-
cropKeyImages
cropped key image vector. -
labelSaveImage
saved 2D slices atlas dir. -
textFieldSaveImage
-
buttonSaveImage
-
saveImageChooser
-
saveImageDirectory
-
imageHashtableWp_ext
Hashtable<Integer,ModelImage> imageHashtableWp_ext -
imageHashtableCg_ext
Hashtable<Integer,ModelImage> imageHashtableCg_ext -
cedTable_ext
Hashtable<Integer,ModelImage> cedTable_ext -
voiTable_ext
Hashtable<Integer,ModelImage> voiTable_ext -
scaleImageTable_ext
Hashtable<Integer,ModelImage> scaleImageTable_ext -
scaleIntensityTable_ext
Hashtable<Integer,ModelImage> scaleIntensityTable_ext -
scaleCedTable_ext
Hashtable<Integer,ModelImage> scaleCedTable_ext -
scaleVoiTable_ext
Hashtable<Integer,ModelImage> scaleVoiTable_ext -
cropTable_ext
Hashtable<Integer,ModelImage> cropTable_ext -
cropVoiTable_ext
Hashtable<Integer,ModelImage> cropVoiTable_ext
-
-
Constructor Details
-
JDialogProstate2DSlicesAtlasPngConverterTrain_JMI
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() -
traverse_folder_3
-
processDir_folder_3
-
sortKeyImage_3
public void sortKeyImage_3() -
traverse_folder_4
-
processDir_folder_4
-
sortKeyImage_4
public void sortKeyImage_4() -
traverse_folder_5
-
processDir_folder_5
-
sortKeyImage_5
public void sortKeyImage_5() -
printImages
public void printImages()Debugger for test the image and VOis reading. -
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. -
crossValidationTrain
public void crossValidationTrain() -
saveImages_ext
public void saveImages_ext(int i, int[] index, String folderName, Hashtable<Integer, ModelImage> whichTable) -
savePNGfile
private void savePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask) -
disposeMemory
public void disposeMemory() -
runCED_ext
public void runCED_ext() -
runMask_ext
public void runMask_ext() -
runCrop_ext
public void runCrop_ext() -
runScaleIntensity_ext
public void runScaleIntensity_ext() -
cropImage
-
cropImage_ext
-
scaleIntensity
-
calculateCoherenceEnhancingDiffusion
-
saveImages
public void saveImages()Save the 2D slices and VOIs to user specified dir. -
savePNGfile
private void savePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, boolean isMask) -
smoothVOI60
Smooth VOIs to 60 points.- Parameters:
maskImage-resultImage-
-
cropKeyImages
public void cropKeyImages()Crop key images. -
loadFiles
public void loadFiles()load image files and voi files -
deleteDir
Debugger to test dir deletion.- Parameters:
dir-- Returns:
-
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.
-