Class SplitContourAtSaddlePoints

Object
org.anchoranalysis.bean.AnchorBean<B>
org.anchoranalysis.bean.initializable.InitializableBean<T,​org.anchoranalysis.image.bean.nonbean.init.ImageInitialization>
org.anchoranalysis.image.bean.ImageBean<org.anchoranalysis.image.bean.provider.ObjectCollectionProvider>
org.anchoranalysis.image.bean.provider.ObjectCollectionProvider
org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary
org.anchoranalysis.plugin.points.bean.SplitContourAtSaddlePoints
All Implemented Interfaces:
org.anchoranalysis.bean.Provider<org.anchoranalysis.image.voxel.object.ObjectCollection>

public class SplitContourAtSaddlePoints
extends org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary
Splits a 2D contour represented by an object-mask into several contours, splitting at "turn" points.

Specifically, smoothing spline interpolation is performed along the contour and splits occur at saddle points.

Each contour is represented by an input object.

Author:
Owen Feehan
  • Constructor Summary

    Constructors 
    Constructor Description
    SplitContourAtSaddlePoints()  
  • Method Summary

    Modifier and Type Method Description
    org.anchoranalysis.image.voxel.object.ObjectCollection createFromObjects​(org.anchoranalysis.image.voxel.object.ObjectCollection objects)  
    int getMinNumberPoints()
    If a contour has less than this number of points, we don't split it, and return it as-is
    int getNumberLoopPoints()  
    double getSmoothingFactor()  
    void setMinNumberPoints​(int minNumberPoints)
    If a contour has less than this number of points, we don't split it, and return it as-is
    void setNumberLoopPoints​(int numberLoopPoints)  
    void setSmoothingFactor​(double smoothingFactor)  

    Methods inherited from class org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary

    get, getObjects, setObjects

    Methods inherited from class org.anchoranalysis.bean.initializable.InitializableBean

    getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized, onInitialization

    Methods inherited from class org.anchoranalysis.bean.AnchorBean

    checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

  • Method Details

    • createFromObjects

      public org.anchoranalysis.image.voxel.object.ObjectCollection createFromObjects​(org.anchoranalysis.image.voxel.object.ObjectCollection objects) throws org.anchoranalysis.bean.xml.exception.ProvisionFailedException
      Specified by:
      createFromObjects in class org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary
      Throws:
      org.anchoranalysis.bean.xml.exception.ProvisionFailedException
    • getSmoothingFactor

      public double getSmoothingFactor()
    • setSmoothingFactor

      public void setSmoothingFactor​(double smoothingFactor)
    • getNumberLoopPoints

      public int getNumberLoopPoints()
    • setNumberLoopPoints

      public void setNumberLoopPoints​(int numberLoopPoints)
    • getMinNumberPoints

      public int getMinNumberPoints()
      If a contour has less than this number of points, we don't split it, and return it as-is
    • setMinNumberPoints

      public void setMinNumberPoints​(int minNumberPoints)
      If a contour has less than this number of points, we don't split it, and return it as-is