Class JDialogKneesLearnFromFailure64TestCase
- 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.JDialogKneesLearnFromFailure64TestCase
-
- 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 JDialogKneesLearnFromFailure64TestCase extends JDialogBase implements AlgorithmInterface
Test case: generate the femur VOI contours from Alexnet generated deep learning energy maps. -------------------------------------------------------- No longer need it. Just for backup purpose now. --------------------------------------------------------- Author:
- Ruida Cheng
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
JDialogKneesLearnFromFailure64TestCase.ImageAttributes
-
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 static int
Axial
private int
axis
private javax.swing.JComboBox
axisList
private int
boxXmax
private int
boxXmin
private int
boxYmax
bounding box for crop the image.private int
boxYmin
bounding box for crop the image.private javax.swing.JButton
buttonKeyImage
private javax.swing.JButton
buttonSaveImage
private static int
Coronal
private AlgorithmAddMargins
cropAlgo
crop margin algorithm.private ModelImage
cropImage
result cropped image.private java.util.Vector<ModelImage>
cropKeyImages
cropped key image vector.private javax.swing.JPanel
imageSelectionPanel
private javax.swing.JFileChooser
keyImageChooser
key images variables.private java.lang.String
keyImageDirectory
private java.util.Vector<ModelImage>
keyImages
image vector to hold the actual images.private java.util.Vector<java.lang.String>
keyImageVector
image vector to hold the image names.private java.util.Vector<VOI[]>
keyImageVOIs
voi vector to hold the actual vois.private java.util.Vector<java.lang.String>
keyImageVOIVector
voi vector to hold the VOI names.private java.util.Vector<java.lang.String>
keyImageVOIVectorAAM
private javax.swing.JLabel
labelAxis
private javax.swing.JLabel
labelKeyImage
key image directory.private javax.swing.JLabel
labelSaveImage
saved 2D slices atlas dir.private static int
Saggital
private javax.swing.JFileChooser
saveImageChooser
private java.lang.String
saveImageDirectory
private static long
serialVersionUID
(package private) java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes>
table1
(package private) java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes>
table2
(package private) java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes>
table3
(package private) java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes>
table4
(package private) java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes>
table5
private javax.swing.JTextField
textFieldKeyImage
private javax.swing.JTextField
textFieldSaveImage
private ViewUserInterface
UI
The main user interface.private int[]
xBounds
X cropped region bounds.private int[]
yBounds
Y cropped region bounds.private int[]
zBounds
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, 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 JDialogKneesLearnFromFailure64TestCase(java.awt.Frame theParentFrame)
Constructor.
-
Method Summary
All Methods Static 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.void
callAlgorithm()
Driver function to read image and VOIs, and convert each 3D image to 2D slices.void
createTestingPatches()
void
createTrainingPatches()
void
cropKeyImages()
Crop key images.static boolean
deleteDir(java.io.File dir)
Debugger to test dir deletion.void
disposeLocal()
dispose memory(package private) void
extractTable()
private void
generateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)
Convert VOI from one contour to two contoursvoid
init()
Initial panelprivate void
initTable()
void
loadFiles()
load image files and voi filesprivate void
processDirLevel1(java.io.File dir, int i)
void
readFiles()
Read image and VOIs file names.private void
readKeyImageDir()
Read 3D images atlas directory.private void
recordSaveImageDir()
Let user specify the saved 2D slices atlas, record the save directory.private void
rotateToStartingPoint_leftMost(float[] xPts, float[] yPts, int xDim, int yDim)
private void
rotateToStartingPoint_yMid(float[] xPts, float[] yPts, int xDim, int yDim)
Re-oriented the starting and ending VOIs.void
saveImages()
Save the 2D slices and VOIs to user specified dir.void
smoothVOI128(ModelImage maskImage, ModelImage resultImage)
void
smoothVOI30(ModelImage maskImage, ModelImage resultImage)
void
smoothVOI60(ModelImage maskImage, ModelImage resultImage)
Smooth VOIs to 60 points.void
testingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train, java.io.BufferedWriter outStream, java.lang.String currentSaveDir)
void
trainingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train)
private void
traverseCurrent(java.io.File dir)
private void
traverseLevel1(java.io.File dir, int index)
-
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.
-
boxYmin
private int boxYmin
bounding box for crop the image. Currently set from 0 to 512, the orginal image slice size.
-
boxYmax
private int boxYmax
bounding box for crop the image. Currently set from 0 to 512, the orginal image slice size.
-
boxXmin
private int boxXmin
-
boxXmax
private int boxXmax
-
xBounds
private int[] xBounds
X cropped region bounds.
-
yBounds
private int[] yBounds
Y cropped region bounds.
-
zBounds
private int[] zBounds
Z cropped region bound.
-
cropAlgo
private AlgorithmAddMargins cropAlgo
crop margin algorithm.
-
cropImage
private ModelImage cropImage
result cropped image.
-
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
-
keyImageChooser
private javax.swing.JFileChooser keyImageChooser
key images variables.
-
keyImageDirectory
private java.lang.String keyImageDirectory
-
axisList
private javax.swing.JComboBox axisList
-
labelAxis
private javax.swing.JLabel labelAxis
-
Axial
private static int Axial
-
Saggital
private static int Saggital
-
Coronal
private static int Coronal
-
axis
private int axis
-
keyImageVector
private java.util.Vector<java.lang.String> keyImageVector
image vector to hold the image names.
-
keyImages
private java.util.Vector<ModelImage> keyImages
image vector to hold the actual images.
-
keyImageVOIVector
private java.util.Vector<java.lang.String> keyImageVOIVector
voi vector to hold the VOI names.
-
keyImageVOIVectorAAM
private java.util.Vector<java.lang.String> keyImageVOIVectorAAM
-
keyImageVOIs
private java.util.Vector<VOI[]> keyImageVOIs
voi vector to hold the actual vois.
-
cropKeyImages
private java.util.Vector<ModelImage> cropKeyImages
cropped key image vector.
-
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
-
table1
java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes> table1
-
table2
java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes> table2
-
table3
java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes> table3
-
table4
java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes> table4
-
table5
java.util.Hashtable<java.lang.Integer,JDialogKneesLearnFromFailure64TestCase.ImageAttributes> table5
-
-
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 atlas, record the save directory.
-
readKeyImageDir
private void readKeyImageDir()
Read 3D images atlas directory.
-
traverseCurrent
private void traverseCurrent(java.io.File dir)
-
traverseLevel1
private void traverseLevel1(java.io.File dir, int index)
-
processDirLevel1
private void processDirLevel1(java.io.File dir, int i)
-
initTable
private void initTable()
-
extractTable
void extractTable()
-
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.
-
createTestingPatches
public void createTestingPatches()
-
createTrainingPatches
public void createTrainingPatches()
-
testingPatches
public void testingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train, java.io.BufferedWriter outStream, java.lang.String currentSaveDir)
-
trainingPatches
public void trainingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train)
-
saveImages
public void saveImages()
Save the 2D slices and VOIs to user specified dir.
-
rotateToStartingPoint_yMid
private void rotateToStartingPoint_yMid(float[] xPts, float[] yPts, int xDim, int yDim)
Re-oriented the starting and ending VOIs.- Parameters:
xPts
- voi x coordinateyPts
- voi y coordinatexDim
- image x dimensionyDim
- image y dimension
-
rotateToStartingPoint_leftMost
private void rotateToStartingPoint_leftMost(float[] xPts, float[] yPts, int xDim, int yDim)
-
smoothVOI30
public void smoothVOI30(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI60
public void smoothVOI60(ModelImage maskImage, ModelImage resultImage)
Smooth VOIs to 60 points.- Parameters:
maskImage
-resultImage
-
-
smoothVOI128
public void smoothVOI128(ModelImage maskImage, ModelImage resultImage)
-
generateBoundaryContours
private void generateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)
Convert VOI from one contour to two contours- Parameters:
srcContour
- single VOI contourtargetImageSlice
- target 2D image slice
-
cropKeyImages
public void cropKeyImages()
Crop key images.
-
loadFiles
public void loadFiles()
load image files and voi files
-
deleteDir
public static boolean deleteDir(java.io.File dir)
Debugger to test dir deletion.- Parameters:
dir
-- Returns:
-
readFiles
public void readFiles()
Read image and VOIs file names.
-
init
public void init()
Initial panel
-
buildKeyImagePanel
public void buildKeyImagePanel()
Panel contains both the 3D image dir and saved 2D slices atlas dir.
-
-