Class JDialogSKI10_femur_eval_pre
- 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.JDialogSKI10_femur_eval_pre
-
- 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 JDialogSKI10_femur_eval_pre extends JDialogBase implements AlgorithmInterface
This class converts the original knees MRI images into isotropic images. 1) Convert the VOIs into binary image masks. 2) Transform the binary mask images to original image resolution. 3) Then, save the binary mask into .nii file format for comparison.- Author:
- Ruida Cheng
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 AlgorithmTransform
algoTrans
private javax.swing.JButton
buttonKeyImage
private javax.swing.JButton
buttonSaveImage
(package private) java.util.Hashtable<java.lang.String,ModelImage>
cedTableAxial
(package private) java.util.Hashtable<java.lang.String,ModelImage>
cedTableCoronal
(package private) java.util.Hashtable<java.lang.String,ModelImage>
cedTableSagittal
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
imageNameHashtable
private javax.swing.JPanel
imageSelectionPanel
(package private) java.util.Hashtable<java.lang.String,ModelImage>
keyImageMasksTransform
private java.util.Hashtable<java.lang.String,ModelImage>
keyImages
image vector to hold the actual images.private java.util.Hashtable<java.lang.String,ModelImage>
keyImagesOrientation
private java.util.Hashtable<java.lang.String,ModelImage>
keyImagesOrientationMask
(package private) java.util.Hashtable<java.lang.String,ModelImage>
keyImagesTransform
private javax.swing.JLabel
labelKeyImage
key image directory.private javax.swing.JLabel
labelSaveImage
saved 2D slices atlas dir.private java.util.Hashtable<java.lang.String,ModelImage>
maskImages
(package private) java.util.Hashtable<java.lang.String,ModelImage>
maskThresAxial
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTable
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTableImages
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameTableImagesMask
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameVOI_GT_Table
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
nameVOITable
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
origTable
private javax.swing.JFileChooser
saveImageChooser
private java.lang.String
saveImageDirectory
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
seg_nameTable
(package private) java.util.Hashtable<java.lang.String,java.lang.String>
seg_nameVOITable
private java.util.Hashtable<java.lang.String,ModelImage>
segKeyImages
private java.util.Hashtable<java.lang.String,ModelImage>
segMaskImages
private static long
serialVersionUID
private javax.swing.JTextField
textFieldKeyImage
private javax.swing.JTextField
textFieldSaveImage
private ViewUserInterface
UI
The main user interface.(package private) java.util.Hashtable<java.lang.String,java.lang.String>
voiNameHashtable
-
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 JDialogSKI10_femur_eval_pre(java.awt.Frame theParentFrame)
Constructor.
-
Method Summary
All 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.private ModelImage
calculateThreshold(ModelImage srcImage)
ModelImage
calculateTransform(ModelImage keyImage, ModelImage srcImage)
void
callAlgorithm()
Driver function to read image and VOIs, and convert each 3D image to 2D slices.void
convertVOItoMask()
void
disposeLocal()
dispose memoryprivate void
generateGTContours()
private void
generateSegContours()
void
init()
Initial panelvoid
loadFiles()
load image files and voi filesprivate void
read_image_name(java.io.File dir)
void
readGTFile()
private void
readKeyImageDir()
Read 3D images atlas directory.void
readSegFile()
private void
recordSaveImageDir()
Let user specify the saved 2D slices atlas, record the save directory.void
threshold_GT()
void
transform()
private void
traverse_file(java.io.File dir, java.lang.String id)
private void
traverse_fold(java.io.File dir)
private void
traverse_id(java.io.File dir)
private void
traverse_image_folder(java.io.File dir, java.lang.String hashID)
private void
traverse_voi_folder(java.io.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, 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.
-
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
-
keyImages
private java.util.Hashtable<java.lang.String,ModelImage> keyImages
image vector to hold the actual images.
-
maskImages
private java.util.Hashtable<java.lang.String,ModelImage> maskImages
-
segKeyImages
private java.util.Hashtable<java.lang.String,ModelImage> segKeyImages
-
segMaskImages
private java.util.Hashtable<java.lang.String,ModelImage> segMaskImages
-
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
-
algoTrans
private AlgorithmTransform algoTrans
-
cedTableAxial
java.util.Hashtable<java.lang.String,ModelImage> cedTableAxial
-
cedTableSagittal
java.util.Hashtable<java.lang.String,ModelImage> cedTableSagittal
-
cedTableCoronal
java.util.Hashtable<java.lang.String,ModelImage> cedTableCoronal
-
origTable
java.util.Hashtable<java.lang.String,java.lang.String> origTable
-
nameTable
java.util.Hashtable<java.lang.String,java.lang.String> nameTable
-
nameVOITable
java.util.Hashtable<java.lang.String,java.lang.String> nameVOITable
-
seg_nameTable
java.util.Hashtable<java.lang.String,java.lang.String> seg_nameTable
-
seg_nameVOITable
java.util.Hashtable<java.lang.String,java.lang.String> seg_nameVOITable
-
nameVOI_GT_Table
java.util.Hashtable<java.lang.String,java.lang.String> nameVOI_GT_Table
-
keyImagesTransform
java.util.Hashtable<java.lang.String,ModelImage> keyImagesTransform
-
keyImageMasksTransform
java.util.Hashtable<java.lang.String,ModelImage> keyImageMasksTransform
-
imageNameHashtable
java.util.Hashtable<java.lang.String,java.lang.String> imageNameHashtable
-
voiNameHashtable
java.util.Hashtable<java.lang.String,java.lang.String> voiNameHashtable
-
nameTableImages
java.util.Hashtable<java.lang.String,java.lang.String> nameTableImages
-
nameTableImagesMask
java.util.Hashtable<java.lang.String,java.lang.String> nameTableImagesMask
-
keyImagesOrientation
private java.util.Hashtable<java.lang.String,ModelImage> keyImagesOrientation
-
keyImagesOrientationMask
private java.util.Hashtable<java.lang.String,ModelImage> keyImagesOrientationMask
-
maskThresAxial
java.util.Hashtable<java.lang.String,ModelImage> maskThresAxial
-
-
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.
-
traverse_image_folder
private void traverse_image_folder(java.io.File dir, java.lang.String hashID)
-
read_image_name
private void read_image_name(java.io.File dir)
-
traverse_voi_folder
private void traverse_voi_folder(java.io.File dir)
-
traverse_fold
private void traverse_fold(java.io.File dir)
-
traverse_id
private void traverse_id(java.io.File dir)
-
traverse_file
private void traverse_file(java.io.File dir, java.lang.String id)
-
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.
-
threshold_GT
public void threshold_GT()
-
calculateThreshold
private ModelImage calculateThreshold(ModelImage srcImage)
-
generateGTContours
private void generateGTContours()
-
generateSegContours
private void generateSegContours()
-
transform
public void transform()
-
convertVOItoMask
public void convertVOItoMask()
-
calculateTransform
public ModelImage calculateTransform(ModelImage keyImage, ModelImage srcImage)
-
loadFiles
public void loadFiles()
load image files and voi files
-
readGTFile
public void readGTFile()
-
readSegFile
public void readSegFile()
-
init
public void init()
Initial panel
-
buildKeyImagePanel
public void buildKeyImagePanel()
Panel contains both the 3D image dir and saved 2D slices atlas dir.
-
-