ScanMultipleEdges_Direct
Locates multiple transitions between dark and bright pixels along a given path (without a scan map).
Applications:Very fast detection of multiple edge points - usually for object counting or displacement detection.
Syntax
C++
C#
Python
def ScanMultipleEdges_Direct( inImage: Image, inScanPath: Path, /, *, inScanPathAlignment: CoordinateSystem2D | None = None, inScanWidth: int = 5, inSamplingParams: SamplingParams = SamplingParams(InterpolationMethod.Bilinear, 1.0, None), inEdgeScanParams: EdgeScanParams = EdgeScanParams(ProfileInterpolationMethod.Quadratic4, 0.6, 5.0, EdgeTransition.BrightToDark), inMinDistance: float = 0.0, inMaxDistance: float | None = None, inLocalBlindness: LocalBlindness | None = None, outAlignedScanPath: Path | None = None, outBrightnessProfile: Profile | None = None, outResponseProfile: Profile | None = None ) -> ( outEdges: list[Edge1D], outGaps: list[Gap1D], diagSamplingPoints: list[Path], diagSamplingStep: float )
Parameters
| Name | Type | Range | Default | Description | |
|---|---|---|---|---|---|
![]() |
inImage | Image | Input image | ||
![]() |
inScanPath | Path | Path along which the scan is performed | ||
![]() |
inScanPathAlignment | CoordinateSystem2D | None | None | Adjusts the scan path to the position of the inspected object | |
![]() |
inScanWidth | int | 1 - ![]() |
5 | Width of the scan field in pixels |
![]() |
inSamplingParams | SamplingParams | SamplingParams(InterpolationMethod.Bilinear, 1.0, None) | Parameters controlling the sampling process | |
![]() |
inEdgeScanParams | EdgeScanParams | EdgeScanParams(ProfileInterpolationMethod.Quadratic4, 0.6, 5.0, EdgeTransition.BrightToDark) | Parameters controlling the edge extraction process | |
![]() |
inMinDistance | float | 0.0 - ![]() |
0.0 | Minimal distance between consecutive edges |
![]() |
inMaxDistance | float | None | 0.0 - ![]() |
None | Maximal distance between consecutive edges |
![]() |
inLocalBlindness | LocalBlindness | None | None | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | |
![]() |
outEdges | list[Edge1D] | Found edges | ||
![]() |
outGaps | list[Gap1D] | Gaps between consecutive edges | ||
![]() |
outAlignedScanPath | Path | None | None | Transformed input path | |
![]() |
outBrightnessProfile | Profile | None | None | Extracted image profile | |
![]() |
outResponseProfile | Profile | None | None | Profile of the edge (derivative) operator response | |
![]() |
diagSamplingPoints | list[Path] | Array of paths each one containing the sampling points that contributes to a single value of the extracted profile | ||
![]() |
diagSamplingStep | float | Used distance between consecutive sampling points on the scan path |
Hardware Acceleration
This operation is optimized for SSE2 technology for pixels of type: UINT8.
This operation is optimized for AVX2 technology for pixels of type: UINT8.
This operation is optimized for NEON technology for pixels of type: UINT8.
This operation supports automatic parallelization for multicore and multiprocessor systems.




