Class Knees_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.Knees_90_data_train_extraction
 
 
 
 
 
 
 
- 
- 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 Knees_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:
- 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 AlgorithmTransformalgoTransprivate intaxial_indexprivate java.util.Hashtable<java.lang.String,ModelImage>axialListprivate java.util.Hashtable<java.lang.String,ModelImage>axialMaskListprivate intboxXmaxprivate intboxXminprivate intboxYmaxbounding box for crop the image.private intboxYminbounding box for crop the image.private javax.swing.JButtonbuttonKeyImageprivate javax.swing.JButtonbuttonSaveImage(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>cedTableSagittalprivate intcoronal_indexprivate java.util.Hashtable<java.lang.String,ModelImage>coronalListprivate java.util.Hashtable<java.lang.String,ModelImage>coronalMaskListprivate AlgorithmAddMarginscropAlgocrop margin algorithm.private java.util.Vector<ModelImage>cropKeyImagescropped key image vector.private javax.swing.JPanelimageSelectionPanel(package private) java.util.Hashtable<java.lang.String,ModelImage>keyImageMasksTransformprivate java.util.Hashtable<java.lang.String,ModelImage>keyImagesimage vector to hold the actual images.private java.util.Vector<ModelImage>keyImagesCropprivate java.util.Vector<ModelImage>keyImagesScaleIntensity(package private) java.util.Hashtable<java.lang.String,ModelImage>keyImagesTransformprivate java.util.Vector<ModelImage>keyImageVOIsvoi vector to hold the actual vois.private javax.swing.JLabellabelKeyImagekey image directory.private javax.swing.JLabellabelSaveImagesaved 2D slices atlas dir.private java.util.Hashtable<java.lang.String,ModelImage>maskImages(package private) java.util.Hashtable<java.lang.String,java.lang.String>nameTable(package private) java.util.Hashtable<java.lang.String,java.lang.String>nameVOITableprivate java.util.Vector<java.lang.String>noCasesListList 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)(package private) java.util.Hashtable<java.lang.String,java.lang.String>origTableprivate intsagittal_indexprivate java.util.Hashtable<java.lang.String,ModelImage>sagittalListprivate java.util.Hashtable<java.lang.String,ModelImage>sagittalMaskListprivate 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 Knees_90_data_train_extraction(java.awt.Frame theParentFrame)Constructor.
 - 
Method SummaryAll 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.private ModelImagecalculateCoherenceEnhancingDiffusion(ModelImage inImage)ModelImagecalculateTransform(ModelImage keyImage)voidcallAlgorithm()Driver function to read image and VOIs, and convert each 3D image to 2D slices.voidconversion()voidconvertVOItoMask()voiddisposeLocal()dispose memoryvoidinit()Initial panelvoidloadFiles()load image files and voi filesprivate voidread_name(java.io.File dir)voidreadFile()private voidreadKeyImageDir()Read 3D images atlas directory.private voidrecordSaveImageDir()Let user specify the saved 2D slices atlas, record the save directory.voidrunCED()voidsaveHED2DsliceCED()voidsaveImage(ModelImage image, ModelImage imageMask, java.lang.String orientation)voidsaveImages()Save the 2D slices and VOIs to user specified dir.voidsaveImagesTest()voidsaveOrthogonalCEDImage()private voidsavePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)ModelImagescaleIntensity(ModelImage image)voidtransform()private voidtraverse_folder(java.io.File dir, java.lang.String hashID)- 
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.
 - 
labelKeyImageprivate javax.swing.JLabel labelKeyImage key image directory.
 - 
textFieldKeyImageprivate javax.swing.JTextField textFieldKeyImage 
 - 
buttonKeyImageprivate javax.swing.JButton buttonKeyImage 
 - 
imageSelectionPanelprivate javax.swing.JPanel imageSelectionPanel 
 - 
keyImagesprivate java.util.Hashtable<java.lang.String,ModelImage> keyImages image vector to hold the actual images.
 - 
maskImagesprivate java.util.Hashtable<java.lang.String,ModelImage> maskImages 
 - 
keyImagesCropprivate java.util.Vector<ModelImage> keyImagesCrop 
 - 
keyImagesScaleIntensityprivate java.util.Vector<ModelImage> keyImagesScaleIntensity 
 - 
keyImageVOIsprivate java.util.Vector<ModelImage> 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 
 - 
algoTransprivate AlgorithmTransform algoTrans 
 - 
axialListprivate java.util.Hashtable<java.lang.String,ModelImage> axialList 
 - 
axialMaskListprivate java.util.Hashtable<java.lang.String,ModelImage> axialMaskList 
 - 
sagittalListprivate java.util.Hashtable<java.lang.String,ModelImage> sagittalList 
 - 
sagittalMaskListprivate java.util.Hashtable<java.lang.String,ModelImage> sagittalMaskList 
 - 
coronalListprivate java.util.Hashtable<java.lang.String,ModelImage> coronalList 
 - 
coronalMaskListprivate java.util.Hashtable<java.lang.String,ModelImage> coronalMaskList 
 - 
axial_indexprivate int axial_index 
 - 
sagittal_indexprivate int sagittal_index 
 - 
coronal_indexprivate int coronal_index 
 - 
cedTableAxialjava.util.Hashtable<java.lang.String,ModelImage> cedTableAxial 
 - 
cedTableSagittaljava.util.Hashtable<java.lang.String,ModelImage> cedTableSagittal 
 - 
cedTableCoronaljava.util.Hashtable<java.lang.String,ModelImage> cedTableCoronal 
 - 
origTablejava.util.Hashtable<java.lang.String,java.lang.String> origTable 
 - 
nameTablejava.util.Hashtable<java.lang.String,java.lang.String> nameTable 
 - 
nameVOITablejava.util.Hashtable<java.lang.String,java.lang.String> nameVOITable 
 - 
keyImagesTransformjava.util.Hashtable<java.lang.String,ModelImage> keyImagesTransform 
 - 
keyImageMasksTransformjava.util.Hashtable<java.lang.String,ModelImage> keyImageMasksTransform 
 - 
noCasesListprivate java.util.Vector<java.lang.String> 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)
 
- 
 - 
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.
 - 
traverse_folderprivate void traverse_folder(java.io.File dir, java.lang.String hashID)
 - 
read_nameprivate void read_name(java.io.File 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.
 - 
transformpublic void transform() 
 - 
convertVOItoMaskpublic void convertVOItoMask() 
 - 
saveOrthogonalCEDImagepublic void saveOrthogonalCEDImage() 
 - 
runCEDpublic void runCED() 
 - 
saveHED2DsliceCEDpublic void saveHED2DsliceCED() 
 - 
saveImagepublic void saveImage(ModelImage image, ModelImage imageMask, java.lang.String orientation) 
 - 
calculateCoherenceEnhancingDiffusionprivate ModelImage calculateCoherenceEnhancingDiffusion(ModelImage inImage) 
 - 
conversionpublic void conversion() 
 - 
scaleIntensitypublic ModelImage scaleIntensity(ModelImage image) 
 - 
calculateTransformpublic ModelImage calculateTransform(ModelImage keyImage) 
 - 
saveImagespublic void saveImages() Save the 2D slices and VOIs to user specified dir.
 - 
saveImagesTestpublic void saveImagesTest() 
 - 
savePNGfileprivate void savePNGfile(java.lang.String dirName, java.lang.String fileName, ModelImage srcImage, float minIntensity, float maxIntensity, int xDim, int yDim, boolean isMask)
 - 
loadFilespublic void loadFiles() load image files and voi files
 - 
readFilepublic void readFile() 
 - 
initpublic void init() Initial panel
 - 
buildKeyImagePanelpublic void buildKeyImagePanel() Panel contains both the 3D image dir and saved 2D slices atlas dir.
 
- 
 
-