예제 #1
0
  /**
   * The level-set evolution.
   *
   * @param fAdvectionWeight The advection coefficient 'a' in the PDE that controls the evolution.
   * @param fPropagationWeight The propagation coefficient 'b' in the PDE that controls the
   *     evolution.
   * @param fCurvatureWeight The curvature coefficient 'c' in the PDE that controls the evolution.
   * @param fLaplacianWeight The Laplacian coefficient 'd' in the PDE that controls the evolution.
   * @param fTimeStep The time step for the PDE solver.
   */
  public void beginEvolution(
      float fAdvectionWeight,
      float fPropagationWeight,
      float fCurvatureWeight,
      float fLaplacianWeight,
      float fTimeStep) {
    super.beginEvolution(
        fAdvectionWeight, fPropagationWeight, fCurvatureWeight, fLaplacianWeight, fTimeStep);

    m_kLevelSetEvolver =
        new LseThreshold3(
            m_iXBound,
            m_iYBound,
            m_iZBound,
            m_fXSpacing,
            m_fYSpacing,
            m_fZSpacing,
            m_afSignedDistance,
            m_abSignedDistanceMask,
            m_fBorderValue,
            LsePdeFilter.PRESERVE_ZERO,
            m_afFeature,
            m_fLower,
            m_fUpper,
            fPropagationWeight,
            fCurvatureWeight);

    m_kLevelSetEvolver.setTimeStep(fTimeStep);
  }
예제 #2
0
 /**
  * The region-growing fast march. When you call beginCoarse(), the current parameters are used
  * (DIterations, scale, alpha, beta, min, max). You can apply the fast marching algorithm multiple
  * times to the same image, each time starting with beginCoarse();
  *
  * @param aiSeeds The initial region to grow.
  */
 public void beginCoarse(int[] aiSeeds) {
   super.beginCoarse(aiSeeds);
   createFeatureImage();
   m_kFastMarcher = new LseFastMarch3(m_iXBound, m_iYBound, m_iZBound, m_afFeature, aiSeeds);
 }