levelsets.algorithm

Class GeodesicActiveContour

• All Implemented Interfaces:
StagedAlgorithm

```public class GeodesicActiveContour
extends LevelSetImplementation```
Implementation of the Geodesic active contour algorithm as described by Caselles et.al. (International Journal of Computer Vision 22:61) and implemented in the in the Geodesic Active Contour class of ITK. This class provides the getDeltaPhi function to the SparseFieldLevelSet: deltaPhi = - DELTA_T * (advection * -gradient(g) * ADVECTION_FORCE + propagation * g * PROPAGATION_WEIGHT + curvature * g * CURVATURE_WEIGHT) with: g = 1 / (1 + (gradients[x][y][z]) * 1) advection, curvature from the base functions (upwind scheme and mean curvature) ADVECTION_FORCE, CURVATURE_EPSILON are weights. Geodesic active contours can find Canny-type edges in the region of interest, while also introducing a smoothing term . This is a first effort that is not necessarily feature complete or the entirely correct. Use with caution.
• Field Summary

Fields
Modifier and Type Field and Description
`protected double` `ALPHA_ADVECTION`
`protected double` `BETA_PROPAGATION`
`protected double` `GAMMA_CURVATURE`
`protected double` `GAMMA_GREYSCALE`
`protected double[][][]` `grad_gradients`
`protected double[][][]` `gradients`
`protected double` `GREY_EPSILON`
`protected double` `GREY_T`
• Fields inherited from class levelsets.algorithm.SparseFieldLevelSet

`CONVERGENCE_FACTOR, CONVERGENCE_WEIGHT, DELTA_T, img, init_state, INSIDE, INSIDE_FAR, needInit, OUTSIDE, OUTSIDE_FAR, phi, seed_grey_zero, seed_greyvalue, source, STATE_ZERO, zScale`
• Constructor Summary

Constructors
Constructor and Description
```GeodesicActiveContour(ImageContainer image, ImageProgressContainer img_progress, StateContainer init_state, double convergence, double advection, double prop, double curve, double grey)```
• Method Summary

All Methods
Modifier and Type Method and Description
`protected double[][][]` `calculateGradients(double[][][] grad_src)`
Calculates grey value gradients of an input double array Required for the grad_gradient calculation, taken from ImageContainer
`protected double` ```getAdvectionTerm(int x, int y, int z)```
`protected double` ```getCurvatureTerm(int x, int y, int z)```
`protected double` ```getDeltaPhi(int x, int y, int z)```
`protected double` ```getPropagationTerm(int x, int y, int z)```
`protected void` `init()`
`protected void` `updateDeltaT()`
Updates the time step for numerical solution.
• Methods inherited from class levelsets.algorithm.LevelSetImplementation

`cleanup`
• Methods inherited from class levelsets.algorithm.SparseFieldLevelSet

`dumpStateMap, getStateContainer, getStateMap, step`
• Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• Field Detail

• gradients

`protected double[][][] gradients`
• grad_gradients

`protected double[][][] grad_gradients`
• ALPHA_ADVECTION

`protected final double ALPHA_ADVECTION`
• BETA_PROPAGATION

`protected final double BETA_PROPAGATION`
• GAMMA_CURVATURE

`protected final double GAMMA_CURVATURE`
• GAMMA_GREYSCALE

`protected final double GAMMA_GREYSCALE`
• GREY_EPSILON

`protected final double GREY_EPSILON`
See Also:
Constant Field Values
• Constructor Detail

• GeodesicActiveContour

```public GeodesicActiveContour(ImageContainer image,
ImageProgressContainer img_progress,
StateContainer init_state,
double convergence,
double advection,
double prop,
double curve,
double grey)```
• Method Detail

• init

`protected final void init()`
Overrides:
`init` in class `LevelSetImplementation`
• getDeltaPhi

```protected final double getDeltaPhi(int x,
int y,
int z)```
Specified by:
`getDeltaPhi` in class `LevelSetImplementation`
• updateDeltaT

`protected final void updateDeltaT()`
Description copied from class: `LevelSetImplementation`
Updates the time step for numerical solution. Abstract class forces the derived class to implement it. If default settings are fine, just don't do anything
Specified by:
`updateDeltaT` in class `LevelSetImplementation`
• getAdvectionTerm

```protected final double getAdvectionTerm(int x,
int y,
int z)```
• getPropagationTerm

```protected final double getPropagationTerm(int x,
int y,
int z)```
• getCurvatureTerm

```protected final double getCurvatureTerm(int x,
int y,
int z)```
• calculateGradients

`protected final double[][][] calculateGradients(double[][][] grad_src)`
Calculates grey value gradients of an input double array Required for the grad_gradient calculation, taken from ImageContainer
Returns:
The result array

Copyright © 2015–2017 Fiji. All rights reserved.