Back to FabImage Library website
You are here: Start » Function Reference » Image Segmentation » ExtractBlobs_DoG

ExtractBlobs_DoG
Header: | FIL.h |
---|---|
Namespace: | fil |
Segments an image into blobs by thresholding Difference of Gaussians.
Syntax
C++
C#
void fil::ExtractBlobs_DoG ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inRoi, float inStdDev, float inStdDevRatio, float inKernelRelativeSize, const fil::IntensityThresholdParams& inThresholdParams, const fil::RegionProcessingParams& inRegionProcessingParams, const fil::BlobSplittingParams& inBlobSplittingParams, ftl::Array<fil::Region>& outBlobs, ftl::Array<int>& diagBlobAreas, fil::Region& diagBaseRegion )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Image from which blobs are extracted | ||
![]() |
inRoi | Optional<const Region&> | NIL | Range of pixels to be processed | |
![]() |
inStdDev | float | 0.0 - ![]() |
3.0f | Smoothing standard deviation for the smaller Gaussian kernel |
![]() |
inStdDevRatio | float | 1.0 - ![]() |
1.6f | Defines how many times larger is the second Gaussian kernel |
![]() |
inKernelRelativeSize | float | 0.0 - 3.0 | 3.0f | A multiple of the standard deviation determining the size of the Gaussian kernel |
![]() |
inThresholdParams | const IntensityThresholdParams& | Parameters for thresholding an image | ||
![]() |
inRegionProcessingParams | const RegionProcessingParams& | Parameters for opening and closing of a region | ||
![]() |
inBlobSplittingParams | const BlobSplittingParams& | Parameters for splitting region into blobs | ||
![]() |
outBlobs | Array<Region>& | Blobs extracted from the input image | ||
![]() |
diagBlobAreas | Array<int>& | Areas of extracted blobs | ||
![]() |
diagBaseRegion | Region& | Region of pixels right after thresholding |
Description
This filter can be used to quickly segment an image by thresholding Difference of Gaussians. It performs a series of operations on inImage:
- Difference of Gaussians is computed by DifferenceOfGaussians
- Difference of Gaussians is thresholded by ThresholdToRegion using parameters from inThresholdParams
- resulting region is opened and then closed by OpenRegion and CloseRegion using parameters from inRegionProcessingParams
- resulting region is split into blobs by SplitRegionIntoBlobs using parameters from inBlobSplittingParams
Examples
![]() |
![]() |
ExtractBlobs_DoG performed on the sample image with inStdDev = 6.0 and inThresholdParams.MaxIntensity = -4.0.
See Also
- ExtractBlobs_Intensity – Segments an image into blobs by thresholding.
- ExtractBlobs_Dynamic – Segments an image into blobs by dynamic thresholding.
- ExtractBlobs_Color – Segments an image into blobs by color-based thresholding.