Class JDialogLearnFromFailure64Knees
- 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.JDialogLearnFromFailure64Knees
 
 
 
 
 
 
 
- 
- 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 JDialogLearnFromFailure64Knees extends JDialogBase implements AlgorithmInterface Generate the 2D 32x32 patches for both training and testing cased. 1) AAM generates the initial contours. 2) Alone each normal line of the contour point, extract 32x32 patches for both training and testing cases -------------------------------------------------------- No longer need it. Just for backup purpose now. --------------------------------------------------------- Author:
- Ruida Cheng
- See Also:
- Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBaseJDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
 - 
Nested classes/interfaces inherited from class javax.swing.JDialogjavax.swing.JDialog.AccessibleJDialog
 - 
Nested classes/interfaces inherited from class java.awt.Dialogjava.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 - 
Nested classes/interfaces inherited from class java.awt.Windowjava.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
 
- 
 - 
Field SummaryFields Modifier and Type Field Description private static intAxialprivate intaxisprivate javax.swing.JComboBoxaxisListprivate intboxXmaxprivate intboxXminprivate intboxYmaxbounding box for crop the image.private intboxYminbounding box for crop the image.private javax.swing.JButtonbuttonKeyImageprivate javax.swing.JButtonbuttonSaveImageprivate static intCoronalprivate AlgorithmAddMarginscropAlgocrop margin algorithm.private ModelImagecropImageresult cropped image.private java.util.Vector<ModelImage>cropKeyImagescropped key image vector.private javax.swing.JPanelimageSelectionPanelprivate javax.swing.JFileChooserkeyImageChooserkey images variables.private java.lang.StringkeyImageDirectoryprivate java.util.Vector<ModelImage>keyImagesimage vector to hold the actual images.private java.util.Vector<java.lang.String>keyImageVectorimage vector to hold the image names.private java.util.Vector<VOI[]>keyImageVOIsvoi vector to hold the actual vois.private java.util.Vector<java.lang.String>keyImageVOIVectorvoi vector to hold the VOI names.private java.util.Vector<java.lang.String>keyImageVOIVectorAAMprivate javax.swing.JLabellabelAxisprivate javax.swing.JLabellabelKeyImagekey image directory.private javax.swing.JLabellabelSaveImagesaved 2D slices atlas dir.private static intSaggitalprivate javax.swing.JFileChoosersaveImageChooserprivate java.lang.StringsaveImageDirectoryprivate static longserialVersionUIDprivate javax.swing.JTextFieldtextFieldKeyImageprivate javax.swing.JTextFieldtextFieldSaveImageprivate ViewUserInterfaceUIThe main user interface.private int[]xBoundsX cropped region bounds.private int[]yBoundsY cropped region bounds.private int[]zBoundsZ cropped region bound.- 
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBaseapplyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
 - 
Fields inherited from class javax.swing.JDialogaccessibleContext, rootPane, rootPaneCheckingEnabled
 - 
Fields inherited from class java.awt.ComponentBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description JDialogLearnFromFailure64Knees(java.awt.Frame theParentFrame)Constructor.
 - 
Method SummaryAll 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.voidcallAlgorithm()Driver function to read image and VOIs, and convert each 3D image to 2D slices.voidcreateTestingPatches()voidcreateTrainingPatches()voidcropKeyImages()Crop key images.static booleandeleteDir(java.io.File dir)Debugger to test dir deletion.voiddisposeLocal()dispose memoryprivate voidgenerateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)Convert VOI from one contour to two contoursvoidinit()Initial panelvoidloadFiles()load image files and voi filesvoidprintImages()Debugger for test the image and VOis reading.private voidprocessDir(java.io.File dir)Process the dir, read image and corresponding VOI file names.voidreadFiles()Read image and VOIs file names.private voidreadKeyImageDir()Read 3D images atlas directory.private voidrecordSaveImageDir()Let user specify the saved 2D slices atlas, record the save directory.private voidrotateToStartingPoint_leftMost(float[] xPts, float[] yPts, int xDim, int yDim)private voidrotateToStartingPoint_yMid(float[] xPts, float[] yPts, int xDim, int yDim)Re-oriented the starting and ending VOIs.voidsaveImages()Save the 2D slices and VOIs to user specified dir.voidsmoothVOI128(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI30(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI32(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI60(ModelImage maskImage, ModelImage resultImage)Smooth VOIs to 60 points.voidtestingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train, java.io.BufferedWriter outStream)voidtrainingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train)private voidtraverse(java.io.File dir)Recursively traverse the image directory.- 
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBasebuildApplyButton, 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.JDialogaddImpl, 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.DialogaddNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
 - 
Methods inherited from class java.awt.WindowaddPropertyChangeListener, 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.Containeradd, 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.Componentaction, 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- 
serialVersionUIDprivate static final long serialVersionUID - See Also:
- Constant Field Values
 
 - 
UIprivate ViewUserInterface UI The main user interface.
 - 
boxYminprivate int boxYmin bounding box for crop the image. Currently set from 0 to 512, the orginal image slice size.
 - 
boxYmaxprivate int boxYmax bounding box for crop the image. Currently set from 0 to 512, the orginal image slice size.
 - 
boxXminprivate int boxXmin 
 - 
boxXmaxprivate int boxXmax 
 - 
xBoundsprivate int[] xBounds X cropped region bounds.
 - 
yBoundsprivate int[] yBounds Y cropped region bounds.
 - 
zBoundsprivate int[] zBounds Z cropped region bound.
 - 
cropAlgoprivate AlgorithmAddMargins cropAlgo crop margin algorithm.
 - 
cropImageprivate ModelImage cropImage result cropped image.
 - 
labelKeyImageprivate javax.swing.JLabel labelKeyImage key image directory.
 - 
textFieldKeyImageprivate javax.swing.JTextField textFieldKeyImage 
 - 
buttonKeyImageprivate javax.swing.JButton buttonKeyImage 
 - 
imageSelectionPanelprivate javax.swing.JPanel imageSelectionPanel 
 - 
keyImageChooserprivate javax.swing.JFileChooser keyImageChooser key images variables.
 - 
keyImageDirectoryprivate java.lang.String keyImageDirectory 
 - 
axisListprivate javax.swing.JComboBox axisList 
 - 
labelAxisprivate javax.swing.JLabel labelAxis 
 - 
Axialprivate static int Axial 
 - 
Saggitalprivate static int Saggital 
 - 
Coronalprivate static int Coronal 
 - 
axisprivate int axis 
 - 
keyImageVectorprivate java.util.Vector<java.lang.String> keyImageVector image vector to hold the image names.
 - 
keyImagesprivate java.util.Vector<ModelImage> keyImages image vector to hold the actual images.
 - 
keyImageVOIVectorprivate java.util.Vector<java.lang.String> keyImageVOIVector voi vector to hold the VOI names.
 - 
keyImageVOIVectorAAMprivate java.util.Vector<java.lang.String> keyImageVOIVectorAAM 
 - 
keyImageVOIsprivate java.util.Vector<VOI[]> keyImageVOIs voi vector to hold the actual vois.
 - 
cropKeyImagesprivate java.util.Vector<ModelImage> cropKeyImages cropped key image vector.
 - 
labelSaveImageprivate javax.swing.JLabel labelSaveImage saved 2D slices atlas dir.
 - 
textFieldSaveImageprivate javax.swing.JTextField textFieldSaveImage 
 - 
buttonSaveImageprivate javax.swing.JButton buttonSaveImage 
 - 
saveImageChooserprivate javax.swing.JFileChooser saveImageChooser 
 - 
saveImageDirectoryprivate java.lang.String saveImageDirectory 
 
- 
 - 
Method Detail- 
disposeLocalpublic void disposeLocal() dispose memory
 - 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent event) Dialog local actionPerformed handler.- Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Overrides:
- actionPerformedin class- JDialogBase
 
 - 
recordSaveImageDirprivate void recordSaveImageDir() Let user specify the saved 2D slices atlas, record the save directory.
 - 
readKeyImageDirprivate void readKeyImageDir() Read 3D images atlas directory.
 - 
traverseprivate void traverse(java.io.File dir) Recursively traverse the image directory.- Parameters:
- dir- image dir.
 
 - 
printImagespublic void printImages() Debugger for test the image and VOis reading.
 - 
processDirprivate void processDir(java.io.File dir) Process the dir, read image and corresponding VOI file names.- Parameters:
- dir- 3D atlas image dir.
 
 - 
algorithmPerformedpublic 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 interface- AlgorithmInterface
- Parameters:
- algorithm- Algorithm that caused the event.
 
 - 
callAlgorithmpublic void callAlgorithm() Driver function to read image and VOIs, and convert each 3D image to 2D slices.
 - 
createTestingPatchespublic void createTestingPatches() 
 - 
createTrainingPatchespublic void createTrainingPatches() 
 - 
testingPatchespublic void testingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train, java.io.BufferedWriter outStream) 
 - 
trainingPatchespublic void trainingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train) 
 - 
saveImagespublic void saveImages() Save the 2D slices and VOIs to user specified dir.
 - 
rotateToStartingPoint_yMidprivate void rotateToStartingPoint_yMid(float[] xPts, float[] yPts, int xDim, int yDim)Re-oriented the starting and ending VOIs.- Parameters:
- xPts- voi x coordinate
- yPts- voi y coordinate
- xDim- image x dimension
- yDim- image y dimension
 
 - 
rotateToStartingPoint_leftMostprivate void rotateToStartingPoint_leftMost(float[] xPts, float[] yPts, int xDim, int yDim)
 - 
smoothVOI30public void smoothVOI30(ModelImage maskImage, ModelImage resultImage) 
 - 
smoothVOI60public void smoothVOI60(ModelImage maskImage, ModelImage resultImage) Smooth VOIs to 60 points.- Parameters:
- maskImage-
- resultImage-
 
 - 
smoothVOI128public void smoothVOI128(ModelImage maskImage, ModelImage resultImage) 
 - 
smoothVOI32public void smoothVOI32(ModelImage maskImage, ModelImage resultImage) 
 - 
generateBoundaryContoursprivate void generateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice) Convert VOI from one contour to two contours- Parameters:
- srcContour- single VOI contour
- targetImageSlice- target 2D image slice
 
 - 
cropKeyImagespublic void cropKeyImages() Crop key images.
 - 
loadFilespublic void loadFiles() load image files and voi files
 - 
deleteDirpublic static boolean deleteDir(java.io.File dir) Debugger to test dir deletion.- Parameters:
- dir-
- Returns:
 
 - 
readFilespublic void readFiles() Read image and VOIs file names.
 - 
initpublic void init() Initial panel
 - 
buildKeyImagePanelpublic void buildKeyImagePanel() Panel contains both the 3D image dir and saved 2D slices atlas dir.
 
- 
 
-