The FindEdges method invokes the EdgeFindingMethod to find edges along selected profiles in the ProfilesAncestor.
Edge finding on each profile is a two phase process: first the profile is analyzed to create a weighted profile, and then peak locations above a threshold value are marked as edges on that weighted profile. Each element of this process is controlled by McProfileEdges properties. The analysis of the profile to get the weighted profile is controlled by the EdgeFindingMethod, ChannelOfInterest, Weights or Pattern, MatchLength, SizeWeighting and WeightingFlags properties.
The result of the first phase profile analysis is available as the WeightedProfile property. In the second phase, edges are detected on the WeightedProfile based on the ThresholdForEdges, MatchLength, MatchHotspot, MinEdgesPerProfile and MaxEdgesPerProfile properties. Assigning to the WeightedProfile property will invoke this second, edge detection phase directly. This allows custom weighting analyses to be performed (e.g., some analysis of a color profile), while still making use of the McProfileEdges object's tools for finding, maintaining and displaying edges. And of course edges can be added at arbitrary positions along the profiles with the AddEdges method.
FindEdges takes a Selector argument which allows edges to be found on a selected sub-set of the ProfilesAncestor profiles; existing edges on unselected profiles are not disturbed, even if those edges are stale. The IsStale property will become False after calling FindEdges only if all stale profiles are included in the Selector argument (the default is to find edges on all profiles).
If any edges were added, changed or removed then an McObjMgr McObjStandardNotify.SpecialNotify is fired on the McObject backing this McProfileEdges. The notify code will be SNC_NOTIFY_HO_PROPERTYCHANGED and the notify data will be ID_IMcProfileEdges_EdgeCounts. You can use an instance of McNotifySink WithEvents in VBA to track these notifies.