Class JDialogKnees_90_data_train_extraction
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.JDialogKnees_90_data_train_extraction
- All Implemented Interfaces:
AlgorithmInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogKnees_90_data_train_extraction
extends JDialogBase
implements AlgorithmInterface
This class converts the original knees MRI images into isotropic images.
1) Convert the VOIs into binary image masks.
2) Convert the original images into isotropic images
3) Convert the isotropic images from sagittal to axial; sagittal to coronal.
4) Along each orietation, generate the CED image in addition to MRI.
5) Save all the images (isotropic axial, sagittal, coronal images with corresponding binary masks).
- 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 AlgorithmTransformprivate intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> private intprivate intprivate intbounding box for crop the image.private intbounding box for crop the image.private JButtonprivate JButton(package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> (package private) Hashtable<String, ModelImage> private intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> private AlgorithmAddMarginscrop margin algorithm.private Vector<ModelImage> cropped key image vector.private JPanel(package private) Hashtable<String, ModelImage> private Hashtable<String, ModelImage> image vector to hold the actual images.private Vector<ModelImage> private Vector<ModelImage> (package private) Hashtable<String, ModelImage> private Vector<ModelImage> voi vector to hold the actual vois.private JLabelkey image directory.private JLabelsaved 2D slices atlas dir.private Hashtable<String, ModelImage> List of patients need work. 2966L 3225L 6205L 6909R 9717L 9808R 3022L 8868R 5733L 8121L 8136L 9808L 7654R (wrong fem VOI, it's FAT GRE VOI) 2911L (miss patella) 5271R (miss femur) 4983L (miss femur) 5026L (miss femur,need work) 9808R (miss femur) 1959L (femur VOI wrong)private intprivate Hashtable<String, ModelImage> private Hashtable<String, ModelImage> private JFileChooserprivate Stringprivate static final longprivate JTextFieldprivate JTextFieldprivate ViewUserInterfaceThe main user interface.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
Constructors -
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 ModelImagecalculateTransform(ModelImage keyImage) voidDriver function to read image and VOIs, and convert each 3D image to 2D slices.voidvoidvoiddispose memoryvoidinit()Initial panelvoidload image files and voi filesprivate voidprivate voidread_name_patella(File dir) voidreadFile()private voidRead 3D images atlas directory.private voidLet user specify the saved 2D slices atlas, record the save directory.voidrunCED()voidvoidsaveImage(ModelImage image, ModelImage imageMask, String orientation) voidSave the 2D slices and VOIs to user specified dir.voidvoidprivate voidsavePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask) scaleIntensity(ModelImage image) voidprivate voidtraverse_folder_femur(File dir, String hashID) private voidtraverse_folder_patella(File dir, String hashID) 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 boxYminbounding box for crop the image. Currently set from 0 to 512, the orginal image slice size. -
boxYmax
private int boxYmaxbounding 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[] 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. -
maskImages
-
keyImagesCrop
-
keyImagesScaleIntensity
-
keyImageVOIs
voi vector to hold the actual vois. -
cropKeyImages
cropped key image vector. -
labelSaveImage
saved 2D slices atlas dir. -
textFieldSaveImage
-
buttonSaveImage
-
saveImageChooser
-
saveImageDirectory
-
algoTrans
-
axialList
-
axialMaskList
-
sagittalList
-
sagittalMaskList
-
coronalList
-
coronalMaskList
-
axial_index
private int axial_index -
sagittal_index
private int sagittal_index -
coronal_index
private int coronal_index -
cedTableAxial
Hashtable<String,ModelImage> cedTableAxial -
cedTableSagittal
Hashtable<String,ModelImage> cedTableSagittal -
cedTableCoronal
Hashtable<String,ModelImage> cedTableCoronal -
origTable
-
nameTable
-
nameVOITable
-
keyImagesTransform
Hashtable<String,ModelImage> keyImagesTransform -
keyImageMasksTransform
Hashtable<String,ModelImage> keyImageMasksTransform -
noCasesList
List of patients need work. 2966L 3225L 6205L 6909R 9717L 9808R 3022L 8868R 5733L 8121L 8136L 9808L 7654R (wrong fem VOI, it's FAT GRE VOI) 2911L (miss patella) 5271R (miss femur) 4983L (miss femur) 5026L (miss femur,need work) 9808R (miss femur) 1959L (femur VOI wrong)
-
-
Constructor Details
-
JDialogKnees_90_data_train_extraction
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_femur
-
read_name
-
traverse_folder_patella
-
read_name_patella
-
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. -
transform
public void transform() -
convertVOItoMask
public void convertVOItoMask() -
saveOrthogonalCEDImage
public void saveOrthogonalCEDImage() -
runCED
public void runCED() -
saveHED2DsliceCED
public void saveHED2DsliceCED() -
saveImage
-
calculateCoherenceEnhancingDiffusion
-
conversion
public void conversion() -
scaleIntensity
-
calculateTransform
-
saveImages
public void saveImages()Save the 2D slices and VOIs to user specified dir. -
saveImagesTest
public void saveImagesTest() -
savePNGfile
private void savePNGfile(String dirName, String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask) -
loadFiles
public void loadFiles()load image files and voi files -
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.
-