Class JDialogFemurTraceSectionsNIH
- 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.JDialogFemurTraceSectionsNIH
-
- 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 JDialogFemurTraceSectionsNIH extends JDialogBase implements AlgorithmInterface
The class is the driver for the AAM classification. User specifies the AAM trained Atlas directory and target image. The algorithm performs NMI based similarity measure between each 2D slice in target image and the 2D slices atlas, find the closed image, then invoke the corresponding AAM model to do automatic segmentation on prostate MRI image.- Author:
- Ruida Cheng
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classJDialogFemurTraceSectionsNIH.Line(package private) classJDialogFemurTraceSectionsNIH.ModelString(package private) classJDialogFemurTraceSectionsNIH.PolygonShapeInfoPolygon shape info class to do shape comparison after the AAM classification applied to do the segmentation.(package private) classJDialogFemurTraceSectionsNIH.RangeEnding slice start and end indexes.(package private) classJDialogFemurTraceSectionsNIH.ShapeFactorshape descriptor class.(package private) classJDialogFemurTraceSectionsNIH.TracingPoint-
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 static intAxialaxis orientation.private intaxisprivate javax.swing.JComboBoxaxisListaxis regionprivate intboxXmaxprivate intboxXminprivate intboxYmaxCropped image region.private intboxYminCropped image region.private javax.swing.JButtonbuttonImageFATprivate javax.swing.JButtonbuttonImageGREprivate javax.swing.JButtonbuttonModelprivate javax.swing.JPanelbuttonPanelprivate static boolean[]checkListstatic intClass1static intClass1_cornerstatic intClass1_lowIntenstatic intClass1_weakstatic intClass2static intClass3static intCLASS3_HIGH_INTENstatic intClass3_LowInten(package private) intclose_lengthprivate static int[]colNumberprivate CornerEdgePatterncornerEdgePatternprivate static intCoronalprivate WildMagic.LibFoundation.Mathematics.Vector3fcutOffPointprivate WildMagic.LibFoundation.Mathematics.Vector3fcutOffPointInnerprivate WildMagic.LibFoundation.Mathematics.Vector3fcutOffPointOuterprivate RegularEdgePatternedgePatternprivate intendPtprivate intendSliceprivate java.util.Vector<java.lang.String>endSliceImageNamesprivate java.util.Vector<ModelImage>endSliceImagesprivate java.util.Vector<JDialogFemurTraceSectionsNIH.Range>endSliceRangeprivate java.util.Vector<java.lang.String>endSliceRangeNamesprivate ModelImagefatImageprivate javax.swing.JFileChooserfatImageChoosertarget image variables.private java.lang.StringfatImageDirectoryprivate java.lang.StringfatImageName(package private) booleanfirstAssigned(package private) booleanfirstTimeCheckMidShaftstatic intFuzzyCstatic intFuzzyC_class1private ModelImagegaussianMapstatic intGREstatic intGRE_GREYstatic intGRE_HIGH_INTENprivate ModelImagegreImageprivate javax.swing.JFileChoosergreImageChooserprivate java.lang.StringgreImageDirectoryprivate java.lang.StringgreImageNameprivate intgroupprivate intGROUP_1private intgroup_1_endSliceprivate intGROUP_10private intgroup_10_endSliceprivate intGROUP_2private intgroup_2_endSliceprivate intGROUP_3private intgroup_3_endSliceprivate intGROUP_4private intgroup_4_endSliceprivate intGROUP_5private intgroup_5_endSliceprivate intGROUP_6private intgroup_6_endSliceprivate intGROUP_7private intgroup_7_endSliceprivate intGROUP_8private intgroup_8_endSliceprivate intGROUP_9private intgroup_9_endSliceprivate HolesPatternholesPatternprivate javax.swing.JPanelimageSelectionPanelprivate java.util.Vector<java.util.Vector<ModelImage>>imageStackFuzzyCprivate javax.swing.JLabellabelAxisprivate javax.swing.JLabellabelImageFATTarget image directory.private javax.swing.JLabellabelImageGREGRE image directory.private javax.swing.JLabellabelModelkey image directory.private javax.swing.JLabellabelWhichLegprivate static intLEFT_LEGprivate javax.swing.JRadioButtonleftLegRadioprivate javax.swing.JPanelmainPanelprivate intmidPtprivate static java.lang.StringMipavCoordinateSystemprivate C_AAMMODELmodelAAM model reference.private javax.swing.JFileChoosermodelChooserkey images variables.private java.lang.StringmodelDirectoryprivate RegionPatternregionPatternprivate static intRIGHT_LEGprivate javax.swing.JRadioButtonrightLegRadioprivate static int[]rowNumberprivate static intSaggital(package private) static floatsection1_degree_end(package private) static floatsection1_degree_start(package private) static floatsection2_degree_end(package private) static floatsection2_degree_start(package private) static floatsection3_degree_end(package private) static floatsection3_degree_start(package private) static floatsection4_degree_end(package private) static floatsection4_degree_start(package private) static floatsection5_degree_lowerHalf_end(package private) static floatsection5_degree_lowerHalf_start(package private) static floatsection5_degree_upperHalf_end(package private) static floatsection5_degree_upperHalf_start(package private) static floatsection6_degree_end(package private) static floatsection6_degree_startprivate static longserialVersionUID(package private) java.util.Hashtable<java.lang.Integer,java.util.Hashtable<java.lang.Integer,JDialogFemurTraceSectionsNIH.Line>>slicesPtsprivate intstartPtprivate intstartSliceprivate static java.lang.String[]statsToCalculateprivate javax.swing.JTextFieldtextFieldImageFATprivate javax.swing.JTextFieldtextFieldImageGREprivate javax.swing.JTextFieldtextFieldModelprivate ViewJFrameImagethisFrameprivate ViewUserInterfaceUIThe main user interface.(package private) VOIvoiNewFinalprivate VOIVectorvoiVectorFinalprivate WeakConnectedEdgePatternHorizontalweakEdgePatternHorizontalprivate WeakConnectedEdgePatternVerticalweakEdgePatternVerticalprivate intwhichLegprivate int[]xBoundsCropped region bounding.private int[]yBoundsprivate int[]zBounds-
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 JDialogFemurTraceSectionsNIH(java.awt.Frame theParentFrame, ModelImage srcImage)Constructor. the parent frame
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)actionPerformed handler.voidalgorithmPerformed(AlgorithmBase algorithm)Called after an algorithm this listener is registered to exits (maybe successfully, maybe not).private voidcomputeGradient(float xCoord, float yCoord, float zCoord, double[] result, double[] grad, double[] gradDir, ModelImage targetImageSlice)private voidcomputeGradient(ModelImage image, float xCoord, float yCoord, float zCoord, double[] result, double[] grad, double[] gradDir)private voidcomputeNormalLine(WildMagic.LibFoundation.Mathematics.Vector3f startPt, WildMagic.LibFoundation.Mathematics.Vector3f endPt, WildMagic.LibFoundation.Mathematics.Vector3f midPt, WildMagic.LibFoundation.Mathematics.Vector3f outNormPt, WildMagic.LibFoundation.Mathematics.Vector3f inNormPt, float stepPct, WildMagic.LibFoundation.Mathematics.Vector3f normStep, WildMagic.LibFoundation.Mathematics.Vector3f interpPt)voidcondenseVOI(ModelImage targetImageSlice, int voiNumber)voidconfigVOIsNumbers(ModelImage image, int[] slices)voidcreateOneContours(ModelImage targetImageSlice)voidcreateTwoContours(ModelImage targetImageSlice)(package private) voidDFS(int row, int col, ModelImage fuzzyCImage, int[][] visited, int[] xmin, int[] xmax, int[] ymin, int[] ymax)private WildMagic.LibFoundation.Mathematics.Vector3fdisplaySlices(ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber)private voiddisplaySlicesRadical(ModelImage fuzzyCImage, ModelImage class1Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, WildMagic.LibFoundation.Mathematics.Vector3f pos)voiddisposeLocal()static doubledistance(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2, float[] res)voiddoFuzzyCmean(ModelImage coherenceEnhancingDiffusionImage, java.util.Vector<java.util.Vector<ModelImage>> imageStackFuzzyC)voiddoSegmentation()First time the dialog called, this function is invoked to do segmentation.voidequalDistanceSmooth(ModelImage greImageSlice)private voidfindBestGradientChange(WildMagic.LibFoundation.Mathematics.Vector3f interpPt, WildMagic.LibFoundation.Mathematics.Vector3f normStep, float sliceZ, float[] x, float[] y, ModelImage targetImageSlice)private booleanfindBlackRegionOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)private voidfindBoundingContour(int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOILine leftLine, VOILine rightLine)private voidfindBoundingContour(int sliceNumber, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOI endVOI)private voidfindBoundingContour_condyle(int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOILine leftLine, VOILine rightLine)private booleanfindCornerEdgeOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)private booleanfindEdgeOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)private booleanfindGreyRegionOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)private booleanfindHolesOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)private voidfindSections(WildMagic.LibFoundation.Mathematics.Vector3f[] inContour, int contourSize, float[][] sections, WildMagic.LibFoundation.Mathematics.Vector3f center)ModelImagefindTwoIslands(ModelImage image, int[] xBounds, int[] yBounds, int[] zBounds, VOI filteredVOI)private booleanfindWeakConnectedEdgeOnImageHorizontal(int x, int y, ModelImage imageSlice, int range, int type, boolean searchOnRight, int[] xResult)private booleanfindWeakConnectedEdgeOnImageVertical(int x, int y, ModelImage imageSlice, int range, int type, boolean searchOnRight, int[] xResult)private voidgenerateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)ModelImagegenerateGaussianMap()private voidgenerateInnerContour(VOIBase srcContour, ModelImage targetImageSlice)voidgenerateInOutContours(VOIBase startVOI, float[] innerDist, float[] outerDist, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_inner, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_outer, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_voi, float[] center)(package private) voidgenerateMap(int x, int y, ModelImage imageSlice, int[][] visited, int[][] map, int Xmin, int Xmax, int Ymin, int Ymax, int type)private float[]getCentroids(ModelImage srcImage, AlgorithmFuzzyCMeans fcmAlgo, float[] centroids)private voididentifyGroups(int sliceNumber)voidinit()Init() function to create the GUI dialog.(package private) booleanisSafe(int row, int col, int[][] visited, ModelImage fuzzyCImage, int[] xmin, int[] xmax, int[] ymin, int[] ymax)(package private) booleanisSafe(int x, int y, int[][] visited, ModelImage fatImageSlice, int Xmin, int Xmax, int Ymin, int Ymax, int xDim, int yDim)static voidpause()Pauses the display until the user hits enter.private doublepointLineDistance(double x, double y, double x1, double y1, double x2, double y2)(package private) voidprintVector(java.util.Vector<JDialogFemurTraceSectionsNIH.TracingPoint> v)private voidprocessingEndSliceData(java.lang.String endSliceModelDir)Process the ending slice atlas directory.private voidreadEndingSlicesDir()Read the ending slice index to guide the segmentation towards apex and base.private voidreadFATImage()File chooser to select target image directory.voidreadFATImagesAndVOIs()read target image.ModelImagerunCED(ModelImage targetImage)private voidrunLevelSet(ModelImage fuzzyCImage)voidsegmentationAuto()Driver to do the auto segmentation with AAM model.voidsmoothVOI120Single(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI150Single(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI30Single(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI60(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI60DualContour(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI60Single(ModelImage maskImage, ModelImage resultImage)voidsmoothVOI60Special(ModelImage maskImage, ModelImage resultImage)voidsmoothVOISingle(ModelImage maskImage, ModelImage resultImage)voidsmoothVOISingle(ModelImage maskImage, ModelImage resultImage, int nPts)private voidstrain()private voidstrain1()private voidtraceBackLeftLegGroup4(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private voidtraceBackLeftLegGroup7to6(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private voidtraceBackRightLegGroup4(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private voidtraceBackRightLegGroup7to6(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection1(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection1_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection2(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection2_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection3(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection3_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection4(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection4_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection4Backward(float posX, float posY, float stopX, float stopY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, float distCurrent, float distInner, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection5_lower(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection5_lower_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection5_upper(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection5_upper_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection6(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection6_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)private voidtraceTwoIslands(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI currentVOI, VOI endVOI, boolean extendOuter)private voidtraceTwoIslandsOnLeft(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private voidtraceTwoIslandsOnRight(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)private voidtracingDFS(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)private voidtracingDFS_condyle(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)private voidtracingDFS_mid(ModelImage greImageSlice, ModelImage fatImageSliceMid, VOI boundary, VOI inner, VOI outer, boolean first)private voidtracingDFS_mid_cutoffLine(ModelImage greImageSlice, ModelImage fatImageSliceMid, VOI boundary, VOI inner, VOI outer, boolean first, VOILine leftLine, VOILine rightLine)private voidtracingDFS_shaftCondyle(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)private voidtracingDFSBackward(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI currentVOI, VOI endVOI, boolean extendOuter)voidtransformVOI()BSpline smooth the final auto segmentation VOI contours.voidupdateTargetImage(int sliceNumber, ModelImage targetImageSlice)After auto segmentation, update the target image with corresponding segmented VOIs.-
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.
-
model
private C_AAMMODEL model
AAM model reference.
-
labelModel
private javax.swing.JLabel labelModel
key image directory.
-
textFieldModel
private javax.swing.JTextField textFieldModel
-
buttonModel
private javax.swing.JButton buttonModel
-
labelImageFAT
private javax.swing.JLabel labelImageFAT
Target image directory.
-
textFieldImageFAT
private javax.swing.JTextField textFieldImageFAT
-
buttonImageFAT
private javax.swing.JButton buttonImageFAT
-
labelImageGRE
private javax.swing.JLabel labelImageGRE
GRE image directory.
-
textFieldImageGRE
private javax.swing.JTextField textFieldImageGRE
-
buttonImageGRE
private javax.swing.JButton buttonImageGRE
-
imageSelectionPanel
private javax.swing.JPanel imageSelectionPanel
-
buttonPanel
private javax.swing.JPanel buttonPanel
-
modelChooser
private javax.swing.JFileChooser modelChooser
key images variables.
-
modelDirectory
private java.lang.String modelDirectory
-
fatImageChooser
private javax.swing.JFileChooser fatImageChooser
target image variables.
-
fatImageName
private java.lang.String fatImageName
-
fatImageDirectory
private java.lang.String fatImageDirectory
-
greImageChooser
private javax.swing.JFileChooser greImageChooser
-
greImageName
private java.lang.String greImageName
-
greImageDirectory
private java.lang.String greImageDirectory
-
fatImage
private ModelImage fatImage
-
greImage
private ModelImage greImage
-
boxYmin
private int boxYmin
Cropped image region.
-
boxYmax
private int boxYmax
Cropped image region.
-
boxXmin
private int boxXmin
-
boxXmax
private int boxXmax
-
xBounds
private int[] xBounds
Cropped region bounding.
-
yBounds
private int[] yBounds
-
zBounds
private int[] zBounds
-
axisList
private javax.swing.JComboBox axisList
axis region
-
labelAxis
private javax.swing.JLabel labelAxis
-
Axial
private static int Axial
axis orientation. Will be used later.
-
Saggital
private static int Saggital
-
Coronal
private static int Coronal
-
axis
private int axis
-
whichLeg
private int whichLeg
-
LEFT_LEG
private static int LEFT_LEG
-
RIGHT_LEG
private static int RIGHT_LEG
-
labelWhichLeg
private javax.swing.JLabel labelWhichLeg
-
leftLegRadio
private javax.swing.JRadioButton leftLegRadio
-
rightLegRadio
private javax.swing.JRadioButton rightLegRadio
-
statsToCalculate
private static final java.lang.String[] statsToCalculate
-
checkList
private static final boolean[] checkList
-
MipavCoordinateSystem
private static final java.lang.String MipavCoordinateSystem
-
mainPanel
private javax.swing.JPanel mainPanel
-
startSlice
private int startSlice
-
endSlice
private int endSlice
-
endSliceImageNames
private java.util.Vector<java.lang.String> endSliceImageNames
-
endSliceRangeNames
private java.util.Vector<java.lang.String> endSliceRangeNames
-
endSliceImages
private java.util.Vector<ModelImage> endSliceImages
-
endSliceRange
private java.util.Vector<JDialogFemurTraceSectionsNIH.Range> endSliceRange
-
imageStackFuzzyC
private java.util.Vector<java.util.Vector<ModelImage>> imageStackFuzzyC
-
gaussianMap
private ModelImage gaussianMap
-
rowNumber
private static int[] rowNumber
-
colNumber
private static int[] colNumber
-
startPt
private int startPt
-
midPt
private int midPt
-
endPt
private int endPt
-
voiVectorFinal
private VOIVector voiVectorFinal
-
voiNewFinal
VOI voiNewFinal
-
FuzzyC
public static int FuzzyC
-
Class1
public static int Class1
-
Class2
public static int Class2
-
Class3
public static int Class3
-
GRE
public static int GRE
-
Class1_weak
public static int Class1_weak
-
Class1_lowInten
public static int Class1_lowInten
-
Class1_corner
public static int Class1_corner
-
FuzzyC_class1
public static int FuzzyC_class1
-
GRE_HIGH_INTEN
public static int GRE_HIGH_INTEN
-
CLASS3_HIGH_INTEN
public static int CLASS3_HIGH_INTEN
-
GRE_GREY
public static int GRE_GREY
-
Class3_LowInten
public static int Class3_LowInten
-
section1_degree_start
static float section1_degree_start
-
section1_degree_end
static float section1_degree_end
-
section2_degree_start
static float section2_degree_start
-
section2_degree_end
static float section2_degree_end
-
section3_degree_start
static float section3_degree_start
-
section3_degree_end
static float section3_degree_end
-
section4_degree_start
static float section4_degree_start
-
section4_degree_end
static float section4_degree_end
-
section5_degree_upperHalf_start
static float section5_degree_upperHalf_start
-
section5_degree_upperHalf_end
static float section5_degree_upperHalf_end
-
section5_degree_lowerHalf_start
static float section5_degree_lowerHalf_start
-
section5_degree_lowerHalf_end
static float section5_degree_lowerHalf_end
-
section6_degree_start
static float section6_degree_start
-
section6_degree_end
static float section6_degree_end
-
firstAssigned
boolean firstAssigned
-
edgePattern
private RegularEdgePattern edgePattern
-
holesPattern
private HolesPattern holesPattern
-
weakEdgePatternHorizontal
private WeakConnectedEdgePatternHorizontal weakEdgePatternHorizontal
-
cornerEdgePattern
private CornerEdgePattern cornerEdgePattern
-
weakEdgePatternVertical
private WeakConnectedEdgePatternVertical weakEdgePatternVertical
-
regionPattern
private RegionPattern regionPattern
-
group
private int group
-
GROUP_1
private int GROUP_1
-
GROUP_2
private int GROUP_2
-
GROUP_3
private int GROUP_3
-
GROUP_4
private int GROUP_4
-
GROUP_5
private int GROUP_5
-
GROUP_6
private int GROUP_6
-
GROUP_7
private int GROUP_7
-
GROUP_8
private int GROUP_8
-
GROUP_9
private int GROUP_9
-
GROUP_10
private int GROUP_10
-
group_5_endSlice
private int group_5_endSlice
-
group_4_endSlice
private int group_4_endSlice
-
group_3_endSlice
private int group_3_endSlice
-
group_2_endSlice
private int group_2_endSlice
-
group_1_endSlice
private int group_1_endSlice
-
group_6_endSlice
private int group_6_endSlice
-
group_7_endSlice
private int group_7_endSlice
-
group_8_endSlice
private int group_8_endSlice
-
group_9_endSlice
private int group_9_endSlice
-
group_10_endSlice
private int group_10_endSlice
-
thisFrame
private ViewJFrameImage thisFrame
-
cutOffPoint
private WildMagic.LibFoundation.Mathematics.Vector3f cutOffPoint
-
cutOffPointInner
private WildMagic.LibFoundation.Mathematics.Vector3f cutOffPointInner
-
cutOffPointOuter
private WildMagic.LibFoundation.Mathematics.Vector3f cutOffPointOuter
-
close_length
int close_length
-
firstTimeCheckMidShaft
boolean firstTimeCheckMidShaft
-
slicesPts
java.util.Hashtable<java.lang.Integer,java.util.Hashtable<java.lang.Integer,JDialogFemurTraceSectionsNIH.Line>> slicesPts
-
-
Constructor Detail
-
JDialogFemurTraceSectionsNIH
public JDialogFemurTraceSectionsNIH(java.awt.Frame theParentFrame, ModelImage srcImage)Constructor. the parent frame- Parameters:
theParentFrame-
-
-
Method Detail
-
configVOIsNumbers
public void configVOIsNumbers(ModelImage image, int[] slices)
-
algorithmPerformed
public void algorithmPerformed(AlgorithmBase algorithm)
Description copied from interface:AlgorithmInterfaceCalled after an algorithm this listener is registered to exits (maybe successfully, maybe not). If the algorithm is run in a separate thread, this call will be made within that thread. If not, this call will be made from that same, shared thread.- Specified by:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- the algorithm which has just completed
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
actionPerformed handler.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classJDialogBase
-
init
public void init()
Init() function to create the GUI dialog.
-
doSegmentation
public void doSegmentation()
First time the dialog called, this function is invoked to do segmentation.
-
generateGaussianMap
public ModelImage generateGaussianMap()
-
doFuzzyCmean
public void doFuzzyCmean(ModelImage coherenceEnhancingDiffusionImage, java.util.Vector<java.util.Vector<ModelImage>> imageStackFuzzyC)
-
getCentroids
private float[] getCentroids(ModelImage srcImage, AlgorithmFuzzyCMeans fcmAlgo, float[] centroids)
-
transformVOI
public void transformVOI()
BSpline smooth the final auto segmentation VOI contours.
-
generateInOutContours
public void generateInOutContours(VOIBase startVOI, float[] innerDist, float[] outerDist, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_inner, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_outer, WildMagic.LibFoundation.Mathematics.Vector3f[] pt_voi, float[] center)
-
segmentationAuto
public void segmentationAuto()
Driver to do the auto segmentation with AAM model.
-
traceTwoIslandsOnLeft
private void traceTwoIslandsOnLeft(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceTwoIslandsOnRight
private void traceTwoIslandsOnRight(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceBackLeftLegGroup4
private void traceBackLeftLegGroup4(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceBackLeftLegGroup7to6
private void traceBackLeftLegGroup7to6(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceBackRightLegGroup7to6
private void traceBackRightLegGroup7to6(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceBackRightLegGroup4
private void traceBackRightLegGroup4(FileInfoImageXML[] fileInfosFAT, FileInfoImageXML[] fileInfosGRE)
-
traceTwoIslands
private void traceTwoIslands(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI currentVOI, VOI endVOI, boolean extendOuter)
-
equalDistanceSmooth
public void equalDistanceSmooth(ModelImage greImageSlice)
-
findTwoIslands
public ModelImage findTwoIslands(ModelImage image, int[] xBounds, int[] yBounds, int[] zBounds, VOI filteredVOI)
-
tracingDFSBackward
private void tracingDFSBackward(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI currentVOI, VOI endVOI, boolean extendOuter)
-
traceSection4Backward
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection4Backward(float posX, float posY, float stopX, float stopY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, float distCurrent, float distInner, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
findBoundingContour
private void findBoundingContour(int sliceNumber, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOI endVOI)
-
strain1
private void strain1()
-
strain
private void strain()
-
runLevelSet
private void runLevelSet(ModelImage fuzzyCImage)
-
createOneContours
public void createOneContours(ModelImage targetImageSlice)
-
generateInnerContour
private void generateInnerContour(VOIBase srcContour, ModelImage targetImageSlice)
-
runCED
public ModelImage runCED(ModelImage targetImage)
-
createTwoContours
public void createTwoContours(ModelImage targetImageSlice)
-
generateBoundaryContours
private void generateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)
-
condenseVOI
public void condenseVOI(ModelImage targetImageSlice, int voiNumber)
-
findBestGradientChange
private void findBestGradientChange(WildMagic.LibFoundation.Mathematics.Vector3f interpPt, WildMagic.LibFoundation.Mathematics.Vector3f normStep, float sliceZ, float[] x, float[] y, ModelImage targetImageSlice)
-
computeGradient
private void computeGradient(float xCoord, float yCoord, float zCoord, double[] result, double[] grad, double[] gradDir, ModelImage targetImageSlice)
-
computeNormalLine
private void computeNormalLine(WildMagic.LibFoundation.Mathematics.Vector3f startPt, WildMagic.LibFoundation.Mathematics.Vector3f endPt, WildMagic.LibFoundation.Mathematics.Vector3f midPt, WildMagic.LibFoundation.Mathematics.Vector3f outNormPt, WildMagic.LibFoundation.Mathematics.Vector3f inNormPt, float stepPct, WildMagic.LibFoundation.Mathematics.Vector3f normStep, WildMagic.LibFoundation.Mathematics.Vector3f interpPt)
-
smoothVOI60
public void smoothVOI60(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI30Single
public void smoothVOI30Single(ModelImage maskImage, ModelImage resultImage)
-
smoothVOISingle
public void smoothVOISingle(ModelImage maskImage, ModelImage resultImage, int nPts)
-
smoothVOI60Single
public void smoothVOI60Single(ModelImage maskImage, ModelImage resultImage)
-
smoothVOISingle
public void smoothVOISingle(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI150Single
public void smoothVOI150Single(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI120Single
public void smoothVOI120Single(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI60DualContour
public void smoothVOI60DualContour(ModelImage maskImage, ModelImage resultImage)
-
smoothVOI60Special
public void smoothVOI60Special(ModelImage maskImage, ModelImage resultImage)
-
updateTargetImage
public void updateTargetImage(int sliceNumber, ModelImage targetImageSlice)After auto segmentation, update the target image with corresponding segmented VOIs.- Parameters:
sliceNumber- slice number.targetImageSlice- 2D target image slice.
-
pause
public static void pause()
Pauses the display until the user hits enter.
-
readFATImagesAndVOIs
public void readFATImagesAndVOIs()
read target image.
-
readFATImage
private void readFATImage()
File chooser to select target image directory.
-
readEndingSlicesDir
private void readEndingSlicesDir()
Read the ending slice index to guide the segmentation towards apex and base.
-
processingEndSliceData
private void processingEndSliceData(java.lang.String endSliceModelDir)
Process the ending slice atlas directory.- Parameters:
endSliceModelDir- atlas directory.
-
disposeLocal
public void disposeLocal()
-
computeGradient
private void computeGradient(ModelImage image, float xCoord, float yCoord, float zCoord, double[] result, double[] grad, double[] gradDir)
-
displaySlicesRadical
private void displaySlicesRadical(ModelImage fuzzyCImage, ModelImage class1Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, WildMagic.LibFoundation.Mathematics.Vector3f pos)
-
displaySlices
private WildMagic.LibFoundation.Mathematics.Vector3f displaySlices(ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber)
-
traceSection6
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection6(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection1
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection1(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection2
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection2(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection3
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection3(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection4
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection4(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection5_upper
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection5_upper(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection5_lower
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection5_lower(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection6_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection6_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection1_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection1_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection2_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection2_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection3_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection3_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection4_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection4_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection5_upper_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection5_upper_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
traceSection5_lower_condyle
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection5_lower_condyle(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage)
-
identifyGroups
private void identifyGroups(int sliceNumber)
-
tracingDFS_condyle
private void tracingDFS_condyle(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)
-
tracingDFS
private void tracingDFS(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)
-
tracingDFS_shaftCondyle
private void tracingDFS_shaftCondyle(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, ModelImage gaussianImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, VOILine leftLine, VOILine rightLine)
-
distance
public static final double distance(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2, float[] res)
-
findBoundingContour
private void findBoundingContour(int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOILine leftLine, VOILine rightLine)
-
findBoundingContour_condyle
private void findBoundingContour_condyle(int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, WildMagic.LibFoundation.Mathematics.Vector3f center, ModelImage fatImageSlice, VOILine leftLine, VOILine rightLine)
-
findSections
private void findSections(WildMagic.LibFoundation.Mathematics.Vector3f[] inContour, int contourSize, float[][] sections, WildMagic.LibFoundation.Mathematics.Vector3f center)
-
tracingDFS_mid
private void tracingDFS_mid(ModelImage greImageSlice, ModelImage fatImageSliceMid, VOI boundary, VOI inner, VOI outer, boolean first)
-
tracingDFS_mid_cutoffLine
private void tracingDFS_mid_cutoffLine(ModelImage greImageSlice, ModelImage fatImageSliceMid, VOI boundary, VOI inner, VOI outer, boolean first, VOILine leftLine, VOILine rightLine)
-
pointLineDistance
private double pointLineDistance(double x, double y, double x1, double y1, double x2, double y2)
-
findCornerEdgeOnImage
private boolean findCornerEdgeOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)
-
findWeakConnectedEdgeOnImageHorizontal
private boolean findWeakConnectedEdgeOnImageHorizontal(int x, int y, ModelImage imageSlice, int range, int type, boolean searchOnRight, int[] xResult)
-
findWeakConnectedEdgeOnImageVertical
private boolean findWeakConnectedEdgeOnImageVertical(int x, int y, ModelImage imageSlice, int range, int type, boolean searchOnRight, int[] xResult)
-
findHolesOnImage
private boolean findHolesOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)
-
findGreyRegionOnImage
private boolean findGreyRegionOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)
-
findBlackRegionOnImage
private boolean findBlackRegionOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)
-
findEdgeOnImage
private boolean findEdgeOnImage(int x, int y, ModelImage imageSlice, int range, double intensity, int type)
-
generateMap
void generateMap(int x, int y, ModelImage imageSlice, int[][] visited, int[][] map, int Xmin, int Xmax, int Ymin, int Ymax, int type)
-
isSafe
boolean isSafe(int x, int y, int[][] visited, ModelImage fatImageSlice, int Xmin, int Xmax, int Ymin, int Ymax, int xDim, int yDim)
-
DFS
void DFS(int row, int col, ModelImage fuzzyCImage, int[][] visited, int[] xmin, int[] xmax, int[] ymin, int[] ymax)
-
isSafe
boolean isSafe(int row, int col, int[][] visited, ModelImage fuzzyCImage, int[] xmin, int[] xmax, int[] ymin, int[] ymax)
-
printVector
void printVector(java.util.Vector<JDialogFemurTraceSectionsNIH.TracingPoint> v)
-
-