Target Acquisition Plug-in


Target Acquisition

Users often need to pull out the center of a target's coordinate and pass that to manufacturing equipment. For purposes of distortion correction one has to collect a number of targets and their centers

Identifying a target's center can be difficult if it is drawn in a way where there is no vertex or edge intersection to snap to. This is very common when the GDSII data is generated for IC packages or other non-chip layouts.


examples of target from a panel used to create package substrates

To address this we've created the target acquisition plug-in. While we built this for a distortion correction application it is useful wherever one needs to acquire coordinates of target objects.

How it Works

There are two modes to select the desired coordinate:

How Snap to Centroid Works

Since the centroid of our target can contain "edges" from more than one boundary or path the algorithm first performs a union operation on all the polygons within a specified distance of the selection point.

Once that is complete the plug-in can then identify the edges that form a closed loop around the selected point. The centroid calculation is made and the center coordinate is returned.


Effect of Display Area

Because the centroid snap must do a complex boolean computation and then find the surrounding boundary, the user should be zoomed in so that a reasonable number of polygons are in the field of view.

If after clicking Pick Point (in centroid mode) there is a long delay it is normally due to the field of view being too large.

left: FOV too large; right: FOV just right

left - field of view is too large.     right - field of view is just right to quickly find the centroid.


Can't Find Centroid of Certain Targets

There are certain targets that are "connected" into the rest of the ground or power plane (generally for purposes of plating) that don't form small tight boundaries. In this case, though the eye can detect the center, the algorithm does not.

targets with no good centroid