OOF2: The Manual

Name

Heterogeneous Segments (CheckHeterogeneousSegments) — Divide heterogeneous segments.

Synopsis

CheckHeterogeneousSegments(threshold, choose_from)

Details

  • Base class: RefinementTarget
  • Parameters:

    threshold
    Refine segments whose homogeneity is less than this. Type: A real number in the range [0, 1].
    choose_from
    Segments to consider. Type: An object of the SegmentChooser class.

Description

The Skeleton refinement process is ultimately driven by Segments — the refinement rule for each element is determined solely by number and configuration of marked Segments in the element. CheckHeterogeneousEdges directly marks heterogeneous Segments for refinement. Segment homogeneity is defined in Section 2.4.4.

All Segments whose homogeneity is less than the given threshold will be refined, as long as they're in the set described by the choose_from parameter. (choose_from is a SegmentChooser object that can restrict the scope of the refinement. Leave it set to FromAllSegments for unrestricted operation.)

Figure 6.72 shows Segments that have been marked for refinement with threshold=0.9 and choose_from=FromAllSegments(), and the result of refining those segments (with divider=Bisection and rules==Quick).

Figure 6.72. Refining Heterogeneous Segments

Refining Heterogeneous Segments

(a) A Skeleton with inhomogeneous Segments highlighted in green.

(b) The result of refining the inhomogeneous Segments with the command

OOF.Skeleton.Modify(
             skeleton='swoops.png:skeleton',
             modifier=Refine(
                targets=CheckHeterogeneousSegments(threshold=0.9,choose_from=FromAllSegments()),
                divider=Bisection(minlength=2),
                rules='Quick',
                alpha=0.3))