Class LevelPerObjectNeighbors

All Implemented Interfaces:
Provider<Channel>, ProviderAsStack

public class LevelPerObjectNeighbors extends LevelPerObjectBase
Calculates a threshold-level for each object collectively based on other objects

A neighborhood-graph is compiled of objects that touch each other. The threshold for each objects is determined by the object itself and neigbors e.g. neighborhoodDistance==1 are all the immediate neighbors

  • Constructor Details

    • LevelPerObjectNeighbors

      public LevelPerObjectNeighbors()
  • Method Details

    • writeLevelsForObjects

      protected void writeLevelsForObjects(Channel channelIntensity, ObjectCollection objects, Channel output) throws ProvisionFailedException
      Description copied from class: LevelPerObjectBase
      Creates a channel with the levels for a set of objects.
      Specified by:
      writeLevelsForObjects in class LevelPerObjectBase
      Parameters:
      channelIntensity - the channel whose intensity is passed to calculateLevel as a histogram variously for particular objects
      objects - the ObjectCollection for which levels are calculated
      output - the channel where the calculated-levels are written (for each object)
      Throws:
      ProvisionFailedException - if there's an error during the level calculation or writing process
    • getDistance

      public int getDistance()
      How many neighbors to include by distance (distance==1 implies all directly touching neighbors, distance==2 implies those touching the directly touching etc.)
    • setDistance

      public void setDistance(int distance)
      How many neighbors to include by distance (distance==1 implies all directly touching neighbors, distance==2 implies those touching the directly touching etc.)