Class JDialogProstateImageCategorize
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.JDialogProstateImageCategorize
- All Implemented Interfaces:
AlgorithmInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
This class exhaustively trains the 2D slices based Active Appearance Model
(AAM). For example, 100 3D prostate MRI images are converted to 2D slices
atlas, each slice saved directory contains 100 2D slice images and
corresponding VOIs. Based on the 2D slices and VOIs, this class performs
shape based similarity measure between closed shape VOIs, sub-groups the
image and VOIs, then apply the AAM training to each sub-group to generate the
AAM model. The exhaustive search algorithm subdivides the atlas into smaller
groups with a similar shape measure. After forming the smaller group, the
search algorithm marks the relevant images and VOIs as visited, and
iteratively searches the data in the atlas, terminating when no more
similarity shapes can be found. AAM training follow the work of Stegmann et
al. Cootes. et al. to create AAM model.
M. B. Stegmann, B. K. Ersboll, and R. Larsen, "FAME-A Flexible Appearance
Modeling Environment", IEEE Trans. Med. Imag., 22(10):1319-1331, October,
2003.
T. F. Cootes, G. J. Edwards, and C. J. Taylor, "Active appearance models",
Proc. Eur. Conf. Comput. Vis. 2:484-498, 1998.
- Author:
- Ruida Cheng
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classNMI based image similarity measure cost class.(package private) classShape similarity measure cost class.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 static intaxis orietation.private intprivate JComboBoxaxis regionprivate JButtonprivate JButtonprivate JPanelprivate static intprivate JFileChoosergroup variables.private Stringprivate intgroup index.private Stringprivate JPanelimage and voi string vector.VOI vector.private JFileChooserkey images variables.private Stringprivate Stringprivate JLabelprivate JLabelSave group directory.private JLabelKey image related variables.private static intprivate static final longprivate Vector<ModelImage> image vector.private JTextFieldprivate JTextFieldprivate ViewUserInterfaceThe main user interface.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) ActionPerformed handler.voidalgorithmPerformed(AlgorithmBase algorithm) empty function to implement the algorithm interface.private floatarea(float[] xPts, float[] yPts, int nPts) Shape area computationprivate voidShape based similarity measure.private voidTexture bases similarity measure.private voidcounterClockwise(float[] x, float[] y, float[] z, int nPts) private voidGroup images and exhaustively train the AAM model.voidinit()Dialog GUI interface initialization.static voidpause()Pauses the display until the user hits enter.private voidprocessDir(File dir) Process the directory.private voidRead image and corresponding VOI.private voidRead image and VOIs start from the mid slice.private voidRead image and VOI in reverse order.private voidRead the key image director and generate image name and voi name vectors.private voidLet user choose the Group trained model directory to save.private voidsortImageVectorString(Vector<String> imageVector) Sort image vector in ascending order.private voidsortVOIVectorString(Vector<String> voiVector) Sort VOI name vector in ascending order.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. -
imageSelectionPanel
-
buttonPanel
-
axisList
axis region -
labelAxis
-
Axial
private static int Axialaxis orietation. -
Saggital
private static int Saggital -
Coronal
private static int Coronal -
axis
private int axis -
labelKeyImage
Key image related variables. -
textFieldKeyImage
-
buttonKeyImage
-
labelGroup
Save group directory. -
textFieldGroup
-
buttonGroup
-
keyImageChooser
key images variables. -
keyImageName
-
keyImageDirectory
-
imageVector
image and voi string vector. -
voiVector
-
groupChooser
group variables. -
groupName
-
groupDirectory
-
sliceImages
image vector. -
imageVOIs
VOI vector. -
groupIndex
private int groupIndexgroup index.
-
-
Constructor Details
-
JDialogProstateImageCategorize
Constructor- Parameters:
theParentFrame- parent frame reference.
-
-
Method Details
-
algorithmPerformed
empty function to implement the algorithm interface.- Specified by:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- the algorithm which has just completed
-
actionPerformed
ActionPerformed handler.- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classJDialogBase
-
init
public void init()Dialog GUI interface initialization. -
readKeyImageDir
private void readKeyImageDir()Read the key image director and generate image name and voi name vectors. -
processDir
Process the directory.- Parameters:
dir-
-
sortImageVectorString
Sort image vector in ascending order.- Parameters:
imageVector- image name vector.
-
sortVOIVectorString
Sort VOI name vector in ascending order.- Parameters:
voiVector-
-
selectGroupDir
private void selectGroupDir()Let user choose the Group trained model directory to save. -
groupImages
private void groupImages()Group images and exhaustively train the AAM model. -
area
private float area(float[] xPts, float[] yPts, int nPts) Shape area computation- Parameters:
xPts- VOI points x coordinateyPts- VOI points y coordinatenPts- number of VOI points.- Returns:
-
categorizeByShape
private void categorizeByShape()Shape based similarity measure. Exhaustive training. -
pause
public static void pause()Pauses the display until the user hits enter. -
counterClockwise
private void counterClockwise(float[] x, float[] y, float[] z, int nPts) -
categorizeByTexture
private void categorizeByTexture()Texture bases similarity measure. Currently disabled. -
readImagesAndVOIs
private void readImagesAndVOIs()Read image and corresponding VOI. -
readImagesAndVOIsInReverse
private void readImagesAndVOIsInReverse()Read image and VOI in reverse order. -
readImagesAndVOIsFromMid
private void readImagesAndVOIsFromMid()Read image and VOIs start from the mid slice.
-