[mmdleaf] [Up] [mmdpcb] Demonstrations

mmdlith
Detect defects in a microelectronic circuit.

Description

The input image is a gray-scale image of a microelectronic circuit. The relevant objects in this image are vertical metal stripes. These stripes have some irregularities that should be detected. Our procedure takes the residues of a gray-scale closing and filter (by size) the threshold of the residues.

Demo Script

Reading

The input image is read. The image is also displayed as a surface model.

>>> a = mmreadgray('r4x2_256.tif');

                  
>>> mmshow(a);

                  
>>> mmshow(mmsurf(a));

                
a mmsurf(a)

Closing

Closing of the image by a vertical line of length 25 pixels. Then subtract it from the original. The sequence closing-subtraction is called closing top-hat. (This could be executed in a single command: c= mmcloseth(a, mmseline(25,90));).

>>> b = mmclose(a,mmseline(25,90));

                  
>>> mmshow(b);

                  
>>> mmshow(mmsurf(b));

                
b mmsurf(b)

Subtraction

Subtraction of the closing from the original is called closing top-hat. It shows the discrepancies of the image where the structuring element cannot fit the surface. In this case, it highlights vertical depression with length longer than 25 pixels.

>>> c = mmsubm(b,a);

                  
>>> mmshow(c);

                  
>>> mmshow(mmsurf(c));

                
c mmsurf(c)

Thresholding and Area Open

Threshold on the residues image. Elimination of the small objects by area open.

>>> d = mmcmp(c,'>=',50);

                  
>>> e = mmareaopen(d,5);

                  
>>> mmshow(d);

                  
>>> mmshow(e);

                
d e

Final display

Overlay the detected defects over the original image, and over the surface display.

>>> mmshow(a,e);

                  
>>> mmshow(mmsurf(a),e);

                
a,e mmsurf(a),e

[mmdleaf] [Up] [mmdpcb] Python