Skip to content

Test Report: LayoutView::create_measure_ruler( const DPoint point, int ac = ... ) #341

@Kazzz-S

Description

@Kazzz-S

This is a test report on the new feature LayoutView::create_measure_ruler().

The attached ZIP file T-341.zip contains the three major files listed in the table below.

Srl. No. File Name Contents
1 AutoMeasure-01-Points.oas Test design in OASIS with 1871 seed points
as boxes in L:D=5002:10
2 AutoMeasure-01-Points.lys Session file to reproduce the generated rulers
3 DBFlags-AutoMeasure-01-Points.lyrdb Shape DB file to visit each ruler

Notes:
(1) box centers are located on 5mm x 5mm Manhattan grids by a different tool.

A. How my PYA works (outline)

  1. Open the OASIS
  2. Collect the box shapes in L:D=5002:10 and make a list of center points ==> [seeds]
  3. Hide the layer L:D=5002:1
  4. For each seed in [seeds], call LayoutView::create_measure_ruler(seed)

B. Performance

  • KLayout = 0.25.9 with LayoutView::create_measure_ruler() enabled
  • System = MacOS 10.10.5 Yosemite; Core-i7, 2.9 GHz; 16 GB memory
  • Implementation = PYA (Python 3.7.4 / Anaconda3)
  • User time = 17.8 sec; fast enough for my application :-)

C. Observations

I have visited ALL the 1871 rulers with the help of "Shapes To Markers" tool (4-hour job!).
Out of those 1871 rulers, 110 are not as expected, which can be categorized into four types.
More details are given in the table below.

Type Frequency Flag in the Shape DB Mode
"in other words"
1 89 Red p1(MyOutside) ---> p2(NeighborOutside)
"not-width-but-space"
2 17 Green p1(MyInside) ---> p2(NeighborOutside)
"penetrating myself"
3 3 Blue p1(MyOutside) ---> p2(2ndNeighborOutside)
"leaping the neighbor"
4 1 Yellow p1(MyInside) ---> p2(MyInside)
"going in a wrong direction"

2019/09/03: Added a bookmark file for the 110 sites mentioned above. BM-110seeds-RGBY-flags.zip

For each type, a typical image is attached below.

(Type-1)

Fig-04-ErrorType1-R

(Type-2)

Fig-05-ErrorType2-G

(Type-3)

Fig-06-ErrorType3-B

(Type-4)

Fig-07-ErrorType4-Y

D. Workaround and discussions

For those problematic seeds, I have noticed that if I move such a seed box nearby and rerun the PYA I can get an expected result in some cases. This is the reason behind the Feature Request (#342).
I believe this feature is useful not only for analyzing these issues but also for adjusting the seed points interactively. Because the initial locations of seed boxes are artificially determined to generate "many sampling points" in one shot and therefore some locations are not suitable, where manual position adjustment is required.

[End]

Thanks.
Kazzz

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions