Module org.scijava.ops.image
Class WatershedSeeded<T extends RealType<T>,B extends BooleanType<B>>
- java.lang.Object
-
- org.scijava.ops.image.image.watershed.WatershedSeeded<T,B>
-
- Type Parameters:
T- element type of inputB- element type of mask
- All Implemented Interfaces:
Computers.Arity5<RandomAccessibleInterval<T>,ImgLabeling<Integer,IntType>,Boolean,Boolean,RandomAccessibleInterval<B>,ImgLabeling<Integer,IntType>>,Consumers.Arity6<RandomAccessibleInterval<T>,ImgLabeling<Integer,IntType>,Boolean,Boolean,RandomAccessibleInterval<B>,ImgLabeling<Integer,IntType>>
public class WatershedSeeded<T extends RealType<T>,B extends BooleanType<B>> extends Object implements Computers.Arity5<RandomAccessibleInterval<T>,ImgLabeling<Integer,IntType>,Boolean,Boolean,RandomAccessibleInterval<B>,ImgLabeling<Integer,IntType>>
The Watershed algorithm segments and labels a grayscale image analogous to a heightmap. In short, a drop of water following the gradient of an image flows along a path to finally reach a local minimum.Beucher, Serge, and Fernand Meyer. "The morphological approach to segmentation: the watershed transformation." Optical Engineering-New York-Marcel Dekker Incorporated- 34 (1992): 433-433.
Input is a grayscale image with arbitrary number of dimensions, defining the heightmap, and labeling image defining where the seeds, i.e. the minima are. It needs to be defined whether a neighborhood with eight- or four-connectivity (respective to 2D) is used. A binary image can be set as mask which defines the area where computation shall be done. If desired, the watersheds are drawn and labeled as 0. Otherwise the watersheds will be labeled as one of their neighbors.
Output is a labeling of the different catchment basins.
- Author:
- Simon Schmid (University of Konstanz)
- Implementation Note:
- op names='image.watershed'
-
-
Constructor Summary
Constructors Constructor Description WatershedSeeded()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompute(RandomAccessibleInterval<T> in, ImgLabeling<Integer,IntType> seeds, Boolean useEightConnectivity, Boolean drawWatersheds, RandomAccessibleInterval<B> maskInput, ImgLabeling<Integer,IntType> out)TODO-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.scijava.function.Computers.Arity5
accept
-
Methods inherited from interface org.scijava.function.Consumers.Arity6
andThen
-
-
-
-
Method Detail
-
compute
public void compute(RandomAccessibleInterval<T> in, ImgLabeling<Integer,IntType> seeds, Boolean useEightConnectivity, Boolean drawWatersheds, RandomAccessibleInterval<B> maskInput, ImgLabeling<Integer,IntType> out)
TODO- Specified by:
computein interfaceComputers.Arity5<RandomAccessibleInterval<T extends RealType<T>>,ImgLabeling<Integer,IntType>,Boolean,Boolean,RandomAccessibleInterval<B extends BooleanType<B>>,ImgLabeling<Integer,IntType>>- Parameters:
in-seeds-useEightConnectivity-drawWatersheds-maskInput-out-
-
-