Class JDialogPatellaTraceSectionsNetherland
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.JDialogPatellaTraceSectionsNetherland
- All Implemented Interfaces:
AlgorithmInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogPatellaTraceSectionsNetherland
extends JDialogBase
implements AlgorithmInterface
Patella segmentation for Netherland data.
- Author:
- Ruida Cheng
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class(package private) class(package private) classPolygon shape info class to do shape comparison after the AAM classification applied to do the segmentation.(package private) classEnding slice start and end indexes.(package private) classshape descriptor class.(package private) classNested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKActionNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static intaxis orientation.private intprivate JComboBoxaxis regionprivate intprivate intprivate intCropped image region.private intCropped image region.private JButtonprivate JButtonprivate JButtonprivate JPanelprivate static final boolean[]private static intprivate static intprivate static intprivate static intprivate static intprivate static intprivate static int[]private CornerEdgePatternprivate static intprivate RegularEdgePatternprivate intprivate intprivate Vector<ModelImage> private ModelImageprivate JFileChoosertarget image variables.private Stringprivate String(package private) booleanprivate static intprivate static intprivate static intstatic intstatic intprivate static intprivate static intprivate ModelImageprivate JFileChooserprivate Stringprivate Stringprivate HolesPatternprivate JPanelprivate Vector<Vector<ModelImage>> private JLabelprivate JLabelTarget image directory.private JLabelGRE image directory.private JLabelkey image directory.private JPanelprivate intprivate static intprivate static intprivate static final Stringprivate C_AAMMODELAAM model reference.private JFileChooserkey images variables.private String(package private) intprivate RegionPatternprivate static int[]private static int(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static float(package private) static floatprivate static final long(package private) Hashtable<Integer, Hashtable<Integer, JDialogPatellaTraceSectionsNetherland.Line>> private intprivate intprivate static final String[](package private) intprivate JTextFieldprivate JTextFieldprivate JTextField(package private) intprivate ViewUserInterfaceThe main user interface.(package private) VOIprivate VOIVectorprivate WeakConnectedEdgePatternVerticalprivate int[]Cropped region bounding.private int[]private int[]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
ConstructorsConstructorDescriptionJDialogPatellaTraceSectionsNetherland(Frame theParentFrame, ModelImage srcImage) Constructor. the parent frame -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(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) voidstatic final doubledistance(WildMagic.LibFoundation.Mathematics.Vector3f pt1, WildMagic.LibFoundation.Mathematics.Vector3f pt2, float[] res) voiddoFuzzyCmean(ModelImage coherenceEnhancingDiffusionImage, Vector<Vector<ModelImage>> imageStackFuzzyC) voiddoSegmentation(boolean doCropImage) First time the dialog called, this function is invoked to do segmentation.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, int propagationDirection) 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(VOI boundary, float[][] sections, WildMagic.LibFoundation.Mathematics.Vector3f center) 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) 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) 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.(package private) voidprivate voidprocessingEndSliceData(String endSliceModelDir) Process the ending slice atlas directory.private voidRead the ending slice index to guide the segmentation towards apex and base.private voidFile chooser to select target image directory.voidread target image.runCED(ModelImage targetImage) private voidrunLevelSet(ModelImage fuzzyCImage) voidDriver to do the auto segmentation with AAM model.voidsmoothVOI120Single(ModelImage maskImage, ModelImage resultImage) voidsmoothVOI150Single(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, int nPts) private voidstrain()private voidstrain1()private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection1(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, 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, int currentStep, 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, int currentStep, 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, int currentStep, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage) private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection5(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage, int propagationDirection) private WildMagic.LibFoundation.Mathematics.Vector2ftraceSection6(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage) private voidtracingDFS(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, int propagationDirection) private voidtracingDFS_mid(ModelImage greImageSlice, ModelImage fatImageSliceMid, VOI boundary, VOI inner, VOI outer, boolean first, int propagationDirection) voidBSpline 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, 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. -
model
AAM model reference. -
labelModel
key image directory. -
textFieldModel
-
buttonModel
-
labelImageFAT
Target image directory. -
textFieldImageFAT
-
buttonImageFAT
-
labelImageGRE
GRE image directory. -
textFieldImageGRE
-
buttonImageGRE
-
imageSelectionPanel
-
buttonPanel
-
modelChooser
key images variables. -
modelDirectory
-
fatImageChooser
target image variables. -
fatImageName
-
fatImageDirectory
-
greImageChooser
-
greImageName
-
greImageDirectory
-
fatImage
-
greImage
-
boxYmin
private int boxYminCropped image region. -
boxYmax
private int boxYmaxCropped image region. -
boxXmin
private int boxXmin -
boxXmax
private int boxXmax -
xBounds
private int[] xBoundsCropped region bounding. -
yBounds
private int[] yBounds -
zBounds
private int[] zBounds -
axisList
axis region -
labelAxis
-
Axial
private static int Axialaxis orientation. Will be used later. -
Saggital
private static int Saggital -
Coronal
private static int Coronal -
axis
private int axis -
statsToCalculate
-
checkList
private static final boolean[] checkList -
MipavCoordinateSystem
-
MidToBegin
private static int MidToBegin -
MidToEnd
private static int MidToEnd -
mainPanel
-
startSlice
private int startSlice -
endSlice
private int endSlice -
endSliceImageNames
-
endSliceRangeNames
-
endSliceImages
-
endSliceRange
-
imageStackFuzzyC
-
rowNumber
private static int[] rowNumber -
colNumber
private static int[] colNumber -
startPt
private int startPt -
midPt
private int midPt -
endPt
private int endPt -
voiVectorFinal
-
voiNewFinal
VOI voiNewFinal -
FuzzyC
private static int FuzzyC -
Class1
private static int Class1 -
Class2
private static int Class2 -
Class3
private static int Class3 -
GRE
private static int GRE -
Class1_weak
private static int Class1_weak -
Class1_lowInten
private static int Class1_lowInten -
Class1_corner
private static int Class1_corner -
FuzzyC_ALL
private static int FuzzyC_ALL -
GRE_GREY
public static int GRE_GREY -
GRE_BLACK
public static int GRE_BLACK -
GRE_SECTION3_DARK
private static int GRE_SECTION3_DARK -
GRE_SECTION4_HIGH_THRESHOLD
private static int GRE_SECTION4_HIGH_THRESHOLD -
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 -
numSteps
int numSteps -
tenPercent
int tenPercent -
twentyPercent
int twentyPercent -
edgePattern
-
holesPattern
-
weakEdgePatternHorizontal
-
cornerEdgePattern
-
weakEdgePatternVertical
-
regionPattern
-
slicesPts
-
-
Constructor Details
-
JDialogPatellaTraceSectionsNetherland
Constructor. the parent frame- Parameters:
theParentFrame-
-
-
Method Details
-
configVOIsNumbers
-
algorithmPerformed
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
actionPerformed handler.- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classJDialogBase
-
init
public void init()Init() function to create the GUI dialog. -
doSegmentation
public void doSegmentation(boolean doCropImage) First time the dialog called, this function is invoked to do segmentation. -
generateGaussianMap
-
doFuzzyCmean
public void doFuzzyCmean(ModelImage coherenceEnhancingDiffusionImage, Vector<Vector<ModelImage>> imageStackFuzzyC) -
getCentroids
-
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. -
strain1
private void strain1() -
strain
private void strain() -
runLevelSet
-
createOneContours
-
generateInnerContour
-
runCED
-
createTwoContours
-
generateBoundaryContours
-
condenseVOI
-
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
-
smoothVOI60Single
-
smoothVOI150Single
-
smoothVOI120Single
-
smoothVOI60DualContour
-
smoothVOI60Special
-
updateTargetImage
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
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, int currentStep, 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, int currentStep, 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, int currentStep, 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, int currentStep, 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, int currentStep, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage) -
traceSection5
private WildMagic.LibFoundation.Mathematics.Vector2f traceSection5(float posX, float posY, float stepX, float stepY, WildMagic.LibFoundation.Mathematics.Vector3f center, float degree, int sliceNumber, int currentStep, float distCurrent, float distOuter, ModelImage greImageSlice, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage fuzzyCImage, int propagationDirection) -
tracingDFS
private void tracingDFS(ModelImage fatImageSlice, ModelImage fuzzyCImage, ModelImage class1Image, ModelImage class2Image, ModelImage class3Image, ModelImage greImageSlice, int sliceNumber, VOI resultVOIBoundary, VOI resultVOIInner, VOI resultVOIOuter, int propagationDirection) -
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) -
smoothVOISingle
-
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, int propagationDirection) -
findSections
private void findSections(VOI boundary, 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, int propagationDirection) -
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) -
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
-