Description

Finds and manages “edges” detected or placed on its ancestor McLineProfiles sampled line profiles or on a supplied profile.

Object Model




Remarks

The McProfileEdges object exposes a large set of properties and methods that allow automatic and manual placement of points-of-interest (i.e., “edges”) along a luminance profile derived from its ancestor McLineProfiles or supplied by the caller. These points-of-interest may be rising or falling edges, peaks or valley's, a match to an arbitray luminance pattern or just some specified position on the profile. Once “edges” are found or placed, McProfileEdges exposes an McLines object that has tic-marks and labels to show where they are.

The McProfileEdges operator is exposed as McLines.Profiles.ProfileEdges and as McRegions.Profiles.ProfileEdges. It can also (and often will) be created independently using McProfileEdges.Duplicate or McEngine.CreateOperator. The McProfileEdges.Duplicate method automatically creates a new object with the same parent, while you must supply the parent operator, if any, when using McEngine.CreateOperator. In any case, each instance must have a McProfileEdges object as an ancestor.

Muliple instances of the McProfileEdges operator can be created with the same parent McLineProfiles to find different points-of-interest along the same lines. For example, one instance might find rising edges and another instance falling edges, so that taking the differences between the placement of these edges would give the thickness of bright sections traversed by the ancestor McLines.

As described above, McProfileEdges operators are usually descendents of a McLineProfiles operator, which is a descendent of a McLines or a McRegions operator, which in turn are descendents of a McImage. McProfileEdges is used in this way to detect luminance patterns along lines or region boundaries (as captured by the McLineProfiles operator).

However, it is also legal to create global instances of McProfileEdges operators (i.e., ones where the CreateOperator call has Nothing for the Parent parameter). When used this way, you must supply the raw “luminance” profiles upon which the edges will be detected. That is the role of the RawProfiles property. For global McProfileEdges only, after assigning one or more arrays of values to RawProfiles, you may use FindEdges to detect patterns of value variation (e.g., peaks or valleys) using all of the tools supplied by McProfileEdges.

Members

Methods
AddEdges

Add one or more edges to selected profiles

AdjustPropertiesByExample

Profile weighting and thresholding properties are analyzed and adjusted to automatically detect the current set of edges.

CopyFrom

Sets edge weighting and detection properties from a source McProfileEdges.

Duplicate

Creates a duplicated McProfileEdges.

FindEdges

Analyzes the ProfilesAncestor and detects “edges” along selected profiles.

RemoveEdges

Remove one or more edges from selected profiles


Properties
AbsoluteMaxWeightValueRead-write property

The maximum WeightedProfile value that can be found for the current weighting parameters.

ChannelOfInterestRead-write property

The channel on which to find edges.

EdgeAttributesRead-only property

Attributes to the edges on all or selected profiles.

EdgeCountsRead-only property

The number of edges currently found on one or selected profiles.

EdgeDistancesRead-only property

Distances to the edges on all or selected profiles.

EdgeFindingMethodRead-write property

Determines the algorithm that FindEdges uses for weighting profiles.

EdgesAsMcPointsRead-only property

A persistent or newly created McPoints object that holds points marking edges.

EdgeTicMarksAsMcLinesRead-only property

A persistent or newly created McLines object that holds “tic marks” pointing to edges.

IsStaleRead-only property

Indicates whether FindEdges might find different edges than the current set.

MatchHotspotRead-write property

The point in a weighted peak to mark as an edge, given as a percentage of the MatchLength.

MatchLengthRead-write property

The number of profile samples over which averaging or pattern matching is performed.

MaxEdgesPerProfileRead-write property

The minimum number of expected “edges” on each profile.

MinEdgesPerProfileRead-write property

The minimum number of expected “edges” on each profile.

OptionFlagsRead-write property

Specifies overall optional behaviors.

PatternRead-write property

Luminance patter to use for the mcpefmMatchPattern EdgeFindingMethod

ProfilesAncestorRead-only property

The ancestor McProfileEdges from which luminance profiles are taken for edge placement.

RawProfilesRead-write property

For global objects only, the raw profile upon which edges are detected.

SizeWeightingRead-write property

Determines the degree of size dependence for the mcpefmMatchPattern EdgeFindingMethod

ThresholdForEdgeRead-write property

A threshold level for marking an “edge” on a weighted profile

TicMarkLabelRead-write property

A label to be placed next to each tic mark placed in the EdgeTicMarksAsMcLines

TicMarkLengthRead-write property

Length of tic marks placed in the EdgeTicMarksAsMcLines

TicMarkOrientationRead-write property

Orientation of tic marks placed in the EdgeTicMarksAsMcLines, as degrees counterclockwise from the marked line segment.

WeightedProfilesRead-write property

The weighted profile upon which edges are detected.

WeightingFlagsRead-write property

Controls optional aspects of the profile weighting analysis.

WeightsRead-write property

Sample weights to use for the weighted average EdgeFindingMethod approaches.