Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUSH1530 H
Publication typeGrant
Application numberUS 08/079,193
Publication dateMay 7, 1996
Filing dateJun 17, 1993
Priority dateJun 17, 1993
Publication number079193, 08079193, US H1530 H, US H1530H, US-H-H1530, USH1530 H, USH1530H
InventorsKen K. Lee
Original AssigneeUltrapointe Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Surface extraction from a three-dimensional data set
US H1530 H
Abstract
Surface image data representing a three-dimensional surface is extracted from a three-dimensional set of data representing characteristics of a volume in space (volumetric data) that encompasses the surface of an object, so that the surface image data can be used to display the surface. The volumetric data can comprise any data set in which comparisons between data can be used to ascertain points on a surface. In one embodiment of the invention, each of the pieces of volumetric data represents the intensity of light reflected in a particular direction from a point in space on or near the surface of an object. For example, the light intensity data can represent the intensity of laser light reflected back through an optical path of a laser imaging system after the laser light has been directed toward the surface of an object such as a semiconductor wafer. The surface image data can be used to generate a three-dimensional display of the surface, or portions of the surface image data can be used to generate surface profiles or contours. Additionally, the surface image data can be used to generate a surface light intensity map.
Images(5)
Previous page
Next page
Claims(9)
I claim:
1. A method for constructing an image of a surface from a volumetric set of signals representing data value numbers, the volumetric set described by a Cartesian coordinate system having X, Y, and Z axes such that each number has a unique location, the volumetric set comprising at least one linear set of signals representing data value numbers arranged parallel to the Z axis, the method comprising the steps of:
generating, for each linear set of signals, a first signal representing a maximum data value number and a second signal representing a location of the maximum data value number, thereby producing a set of signals representing maximum data value numbers and a set of signals representing maximum-number locations, the step of generating comprising the steps of:
comparing a third signal in the linear set to a fourth signal in the linear set to determine which of the third and fourth signals represents a greater data value number;
storing the one of said third and fourth signals representing the greater data value number as said first signal representing a maximum number for the linear set and storing the location associated with the one of said third and fourth signals representing the greater data value number as said second signal representing a maximum-number location for the linear set; and
for each signal in the linear set other than the third and fourth signals,
comparing the signal to the first signal to
determine which of the signal and the first
signal represents a greater data value number;
storing the one of said signal and said
first signal as the new first signal and storing
the signal representing the one of said signal
and said first signal as said second signal; and
creating the image using the set of signals representing maximum data value numbers and the set of signals representing maximum-number locations.
2. A method as in claim 1, wherein the image is a three-dimensional display of the surface.
3. A method as in claim 1, wherein each of the numbers represents the intensity of light reflected in a particular direction from a point on or near the surface.
4. A method as in claim 3, wherein the reflected light is sensed by a confocal laser imaging system.
5. A method as in claim 3, wherein the surface is the surface of a semiconductor wafer.
6. A method as in claim 1, further comprising, for each linear set, the step of performing a least squares curve fit to obtain a modified maximum data value number for the linear set.
7. A method as in claim 6, wherein each least squares curve fit to obtain a modified maximum data value number is performed using (i) the signal representing the maximum number of the linear set, (ii) a first plurality of actual or dummy numbers adjacent to the location of the signal representing the maximum number and in the linear set, and (iii) a second plurality of actual or dummy numbers adjacent to the location of the maximum data value number and in the linear set.
8. A method as in claim 1, further comprising the step of filtering each of the maximum data value numbers to reduce the effect of noise on the image.
9. A method as in claim 8, wherein the step of filtering further comprises performing a two-dimensional convolution with a 3 by 3 operator.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to the commonly owned, co-pending U.S. Patent Application entitled "Laser Imaging System for Semiconductor Inspection and Defect Analysis," by Bruce W. Worster, Dale E. Crane, Hans J. Hansen, Christopher R. Fairley and Ken K. Lee, application Ser. No. 08/080,014, filed on Jun. 17, 1993 and incorporated by reference herein, now U.S. Pat. No. 5,479,252.

BACKGROUND OF THE INVENTION

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.

1. Field of the Invention

This invention is related to method and apparatus for visually representing a surface that is represented by a three-dimensional set of data.

2. Related Art

In many types of systems, there is a need to ascertain information about one or more physical objects. Consequently, the objects are studied and data regarding the objects is obtained. For instance, three-dimensional data over a volume in space (volumetric data) can be obtained that represents the value of a quantity related to the object. In some light imaging systems, such as, for example, a confocal laser scanning microscopy system, the intensity of reflected light from an object and the object's surroundings yields information regarding properties of that object. For instance, the intensity of reflected light from points on or around the surface of an object is a function of the type of material present at the point at which the light is reflected.

It is desirable to be able to use the volumetric data to ascertain various information regarding the volume of space, i.e., object, being studied. For example, in the light imaging systems, characteristics of the object being imaged that may be of interest are the materials present in various regions of the object or the location of the surface of the object. Consequently, there is a need for methods that use the volumetric data to ascertain the desired information regarding the object.

SUMMARY OF THE INVENTION

According to the invention, surface image data representing a three-dimensional surface is extracted from a three-dimensional set of data representing characteristics of a volume in space (volumetric data) that encompasses the surface of an object, so that the surface image data can be used to display the surface. The volumetric data can comprise any data set in which comparisons between data can be used to ascertain points on a surface.

In one embodiment of the method according to the invention, points on the surface of the object are defined to be the point in the Z-direction at each XY location at which a maximum data value occurs. The volumetric data can be of any type, so long as points on the surface are defined by the location of the maximum data value in the Z-direction at each XY location. The method is equally applicable if the volumetric data is structured such that points on the surface of the object are defined to be the point in the Y-direction at each XZ location at which a maximum data value occurs, or the point in the X-direction at each YZ location at which a maximum data value occurs.

In another embodiment of the invention, each of the pieces of volumetric data represents the intensity of light reflected in a particular direction from a point in space on or near the surface of an object. For example, the light intensity data can represent the intensity of laser light reflected back through an optical path of a confocal laser imaging system after the laser light has been directed toward the surface of an object such as a semiconductor wafer.

The surface image data can be used to generate a three-dimensional display of the surface, or portions of the surface data can be used to generate surface profiles or contours. Additionally, the surface image data can be used to generate a surface light intensity map.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a method according to the invention for extracting surface image data representing a three-dimensional surface from a set of volumetric data so that the surface image data can be used to display the surface.

FIG. 2 is a schematic representation of a volumetric data set for use with the invention.

FIG. 3A is a view of a display screen including a window showing a three-dimensional surface image obtained by using the method according to the invention and a surface profile obtained by specifying an XZ cut through the surface image data.

FIG. 3B is a view of a display screen including windows showing two-dimensional intensity slices obtained by specifying an XY and XZ cut, respectively, through surface image data.

FIG. 4 is a block diagram illustrating a method according to another embodiment of the invention for extracting surface image data representing a three-dimensional surface from a set of volumetric data so that the surface image data can be used to display the surface.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

According to the invention, surface image data representing a three-dimensional surface is extracted from a three-dimensional set of data representing characteristics of a volume in space (volumetric data) that encompasses the surface of an object, so that the surface image data can be used to display the surface. The volumetric data can comprise any data set in which comparisons between data can be used to ascertain points on a surface.

In one embodiment of the invention, each of the pieces of volumetric data represents the intensity of light reflected in a particular direction from a point in space on or near the surface of an object. For example, the light intensity data can represent the intensity of laser light reflected back through an optical path of a confocal laser imaging system after the laser light has been directed toward the surface of an object such as a semiconductor wafer. Such a system is described in commonly owned, co-pending U.S. Patent Application entitled "Laser Imaging System for Semiconductor Inspection and Defect Analysis," by Bruce W. Worster, Dale E. Crane, Hans J. Hansen, Christopher R. Fairley, Ken K. Lee, application Ser. No. 08/080,014, filed on Jun. 17, 1993, the pertinent disclosure of which is hereby incorporated by reference, now U.S. Pat. No. 5,479,252.

FIG. 1 is a block diagram illustrating a method according to the invention for extracting surface image data representing a three-dimensional surface from a set of volumetric data so that the surface image data can be used to display the surface. As shown by block 101 in FIG. 1, the volumetric data is obtained by any appropriate data acquisition structure using any appropriate method. The method will often depend upon the data acquisition structure and type of surface (e.g., surface of semiconductor wafer) and the type of data (e.g., light intensity). In one embodiment, after the volumetric data is obtained, the volumetric data is stored as an array of data in a non-volatile storage medium such as a disk drive, such as is available from Silicon Graphics in Mountain View, Calif. as part no. P3-F252. When the method according to the invention is to be performed, the volumetric data and the array size data are transferred from the non-volatile storage medium to a structure for processing the data, such as a microprocessor. The data is transferred to the structure for processing by a diskette or other media, or by communication via a link or network such as Ethernet, RS232, etc. Alternatively, the volumetric data and array size data can be transferred to a RAM, then accessed from the RAM by the structure for processing data. Or, the volumetric data can be input to the RAM directly from the data acquisition structure, then transferred to the structure for processing.

The volumetric data is stored in a three-dimensional array. FIG. 2 is a schematic representation of volumetric data set 200 for use with the invention. Each data block, e.g., data block 204, of volumetric data set 200 represents one piece of data. The size of volumetric data set 200 is defined by dimensions 201, 202 and 203. The dimensions shown in FIG. 2 are merely illustrative; generally, a volumetric data set for use with the invention can have any dimensions. For instance, the dimensions 201 and 203 can be 256, 512, or 1024, and the dimension 202 can range from 10 to 128.

In one embodiment of the invention, each dimension 201, 202, 203 of volumetric data set 200 corresponds to a spatial dimension measured along, for instance, an axis of a Cartesian coordinate system, e.g., dimension 201 corresponds to the X-axis dimension of the volume of space for which data is obtained, dimension 203 corresponds to the Y-axis dimension, and dimension 202 corresponds to the Z-axis dimensions. For example, where the data represents reflected light intensities from points on or near the surface, each data block, e.g., data block 204, of volumetric data set 200 represents a reflected light intensity at a particular point in space relative to the origin of a Cartesian coordinate system. In the case, for example, where the data represents the intensity of laser light reflected back through an optical path of a laser imaging system after the laser light has been directed toward the surface of an object such as a semiconductor wafer, the X and Y axes of the Cartesian coordinate system define a plane approximately perpendicular to the surface on which the wafer is mounted, and the Z axis corresponds to the height of the data point with respect to the mounting surface. For example, the origin of the Cartesian coordinate system may be defined to be at the center of the surface on which the wafer is mounted. In that case, each piece of volumetric data represents the light intensity at a point in space that is defined with respect to the center of the wafer mounting surface.

In volumetric data set 200, the origin is defined to be at data block 205, though any data block could have been chosen. Each of the remaining data blocks, e.g., data block 204, represents a data point taken at a particular distance from the origin; the exact distance will be a function of the size of the volume for which data is obtained and the number of data blocks, e.g., data points, in volumetric data set 200.

In the embodiment of the method according to the invention shown in FIG. 1, points on the surface of the object are defined to be the point in the Z-direction at each XY location at which the maximum data value occurs. In the remainder of the description, the data will be assumed to be light intensity measurements. It is to be understood that the method of the invention is equally applicable when the volumetric data is of another type (i.e., something other than light intensity), so long as points on the surface are defined by the location of the maximum data value in the Z-direction at each XY location. Further, the method of the invention is equally applicable if the volumetric data is structured such that points on the surface of the object are defined to be the point in the Y-direction at each XZ location at which the maximum data value occurs, or the point in the X-direction at each YZ location at which the maximum data value occurs.

As shown by block 102, after the data, e.g., volumetric data set 200, is obtained, the first data point in a column (Z-axis) of data is accessed, e.g., data block 205. Each data point is a light intensity. Additionally, with each data point is associated an XYZ location, the exact location being determined as a function of the definition of the origin of the coordinate system associated with the physical volume for which data was obtained, the size of volumetric data set 200, and the size of the physical volume for which data was obtained. Thus, four numerical values are associated with and stored for each data block, e.g., data block 205, in volumetric data set 200: the X, Y and Z coordinates of the location of the data point and the intensity value measured at the location of the data point. Herein, the data associated with the first data point in each column will be designated X0 (X-coordinate location), Y0 (Y-coordinate location), Z0 (Z-coordinate location), and I0 (light intensity value). Data associated with a generic data point will be designated Xi, Yi, Zi, and Ii.

As shown by block 103, after the first data point in the column is accessed, the quantity Zmax is set equal to Z0 and the quantity Imax is set equal to I0 (i.e., Zmax and Imax are "initialized"). Zmax and Imax represent the location of the maximum light intensity in a particular column and the value of the maximum light intensity in the particular column, respectively. It is these values, determined for each column of data in volumetric data set 200, that will be used to create the three-dimensional display of the surface.

As shown by block 104, after initializing Zmax and Imax, the next data point in the column is accessed. The data associated with each data point `i` is Xi (X-coordinate location), Yi (Y-coordinate location), Zi (Z-coordinate location), and Ii (light intensity value). Generally, the data can be accessed in any order within a column, so long as each data point in the column is accessed once and only once.

After accessing the data at data point `i`, the light intensity data, Ii, at data point `i` is compared to Imax, as shown by block 105. If Ii is greater than Imax, then Imax is set equal to Ii and Zmax is set equal to Zi.

As shown by block 106, after comparing Ii to Imax, a check is made for whether the last data point in the column of data has been reached. If the last data point in the column has not been reached, then, as shown by block 104, a new data point, i, is accessed and, as shown by block 105, the light intensity, Ii is compared to the currently stored maximum light intensity, Imax. These comparisons continue until each data point in the column of data has been compared to Imax. When all data points have been compared to Imax, a new column of data is analyzed, as described below.

It is to be understood that the columns of data can be analyzed, i.e., the method steps described by blocks 102, 103, 104, 105 and 106 applied, in any order. Thus, the first column analyzed need not necessarily be located at a corner edge of volumetric data set 200, but, rather, can be located anywhere within volumetric data set 200.

If the last data point in a column has been reached, then, as shown by block 107, a least squares quadratic curve fit is performed, as described in more detail below. The least-squares curve fit is used to refine the identification of the value of the light intensity maximum, Imax and the location of the light intensity maximum, Zmax. The new values of Imax and Zmax determined through the least-squares quadratic curve fit are then stored as Imax and Zmax.

It is to be understood that the performance of a least-squares quadratic curve fit, as shown by block 107, is not a necessary part of the method according to the invention. Extraction of surface image data from a volumetric data set can be performed without performing a least-squares quadratic curve fit. However, the least-squares quadratic curve fit is desirable to enhance the accuracy of the surface image representation and to smooth out spurious spikes in the data that may result from, for example, noise attributable to the system which acquired the volumetric data.

The least-squares quadratic curve fit is applied to each column of data points using a subset of the data points in each column. After Zmax and Imax are found for each column, a set of adjacent data points, centered about the data point at which Zmax and Imax occurred, is used to perform a conventional least-squares quadratic curve fit. Any odd number of data points can be chosen; in alternative embodiments, 7 and 15 data points are chosen. The number of data points chosen to do the curve fit involves a tradeoff. As the number of points increases, the accuracy of the curve fit increases; however, the time to perform the curve fit also increases. The number of data points used in the least-squares quadratic curve fit is pre-specified as part of the method according to the invention; the user can not choose this parameter.

In some cases, Zmax and Imax can occur for a data point ("maximum data point") near the beginning or end of a column of data such that insufficient actual data points exist on one or the other sides of the maximum data point. For example, if 7 points are used in the least-squares quadratic curve fit, and the maximum data point is at the end of a column, then, while there would be three data points on one side of the maximum data point for use in the curve fit, there would be not be three data points (in fact, there would be no data points) on the other side of the maximum data point for use in the curve fit. In such a case, "dummy" data points are substituted for the missing data points. The value of light intensity for the dummy data points is set equal to the value of light intensity at the last (beginning or end) data point in the column. In the above example, each dummy data point would be assigned a light intensity value equal to the light intensity value at the maximum data point. The curve fit then proceeds in the normal fashion.

Generally, each data point in the volumetric data set is represented as an 8-bit quantity. All data calculations (e.g., a light intensity maximum modified using the least-squares quadratic curve fit) are floating point calculations. The result of each calculation is, initially, represented as a floating point number, e.g. 32-bit floating point number. In order to save data storage capacity, in one embodiment of the invention, the floating point number is converted back to an 8-bit number, thus sacrificing some of the resolution (accuracy) inherent in the floating point representation. However, representing data as an 8-bit number may not provide adequate resolution for some surfaces, e.g., surfaces that are generally very flat.

In an alternative embodiment of the invention, where more resolution is necessary or desired, the data can be stored as a 32-bit floating point number. Rather than storing the result of a calculation, e.g., the light intensity maximum resulting from the least-squares quadratic curve fit, as an 8-bit quantity, as would normally be done, the result of the calculation can be left as a floating point number, thus increasing the resolution of the light intensity maximums found by the method according to the invention.

After the least-squares quadratic curve fit, as shown by block 108, a check is made for whether the last column of data has been reached or not. If the last column of data has not been reached, then determination of Imax and Zmax for a new column of data begins again. The first data point of the new column is accessed, as shown by block 102, and the method described above is used to determine Imax and Zmax for the new column of data.

If the last column of data has been reached, then the surface is displayed, as shown by block 109. The set of maximum light intensity values and the corresponding set of locations of the maximum light intensity values are used to create a three-dimensional image representing the surface of the object.

The location of the points on the surface, i.e., the shape of the surface, is determined by the stored Zmax values. The surface image can be displayed without color (i.e., only the Zmax data is used), or the surface can be shaded as a function of the Zmax values. The intensity (Imax) data can be used with the Zmax data to shade (gray-scale) or false color the points on the surface, each shade or color representing the type of material present at that part of the surface.

FIG. 3A is a view of a display screen including window 301 showing a three-dimensional surface image obtained by using the method according to the invention.

In addition to display of a three-dimensional surface, the surface data can be used to display either surface contours or profiles, i.e., two-dimensional displays viewed perpendicularly to a specified cut through the surface data, e.g., an XY cut, an XZ cut, a YZ cut. In FIG. 3A, window 302 shows a surface profile obtained by specifying an XZ cut through the surface image data.

Two-dimensional views can also be used to display "intensity slices." FIG. 3B is a view of a display screen including windows 311 and 312 showing two-dimensional intensity slices obtained by specifying an XY and XZ cut, respectively, through the surface image data.

The surface data can be displayed on any conventional computer monitor with graphical capability, preferably a system with high resolution 24-bit color graphics.

After the surface image is displayed, the user, based upon a visual inspection of the displayed surface image, decides whether or not to apply filtering to the surface image display, as shown by block 110. Filtering may be necessary to smooth out spikes that result from noise contamination of the volumetric data. Filtering would likely be desirable, for instance, if there were a large number of spikes in the surface image displayed at block 109. If filtering is desired, then filtering is applied to the surface image data, as shown by block 111, and as explained in more detail below. After filtering, the surface image is displayed again (block 109). The user again decides whether or not to apply filtering to the surface image display (block 110). The user can choose to perform filtering as often as desired. The effect of filtering is cumulative so that as the amount of filtering increases the image becomes smoother and smoother. Too much filtering may result in creating an erroneous surface image display by smoothing out actual peaks and valleys on the surface. Whenever the user decides not to apply filtering to the surface image display, the method ends and the last displayed image is the surface image produced by the method.

The filter used in block 110 is a conventional two-dimensional low-pass or smoothing filter that performs a two dimensional convolution with a 3 by 3 operator. If filtering is selected, then filtering is performed over the entire surface. The filtering is accomplished by applying a 3 by 3 matrix to each data point on the surface. The 3 by 3 matrix used is shown below: ##EQU1## where x is some number greater than 1. The larger x is, the less filtering is accomplished. `x` is a parameter that is pre-specified as part of the method according to the invention; the user cannot select this or any other filtering parameter; the user may only choose whether or not to do filtering. The value of `x` is determined empirically so that the filter will produce some noticeable smoothing, but not so much that actual peaks and valleys are smoothed out.

The 3 by 3 matrix is centered on each point of the surface, in turn. Each value of the matrix multiplies the corresponding light intensity value for the points on the surface surrounding the data point being filtered. The sum of these multiplications is then divided by the sum of the numbers in the filtering array, i.e., 8+x, to arrive at an averaged intensity value that is substituted for the measured intensity value of the data point being filtered. As noted above, each point on the surface is filtered in this way. In order that previously filtered data points do not affect the filtering of subsequent data points, a temporary array is created to hold the filtered values. At the end of filtering, the temporary array replaces the original image data.

At the edges and corners of the display, where actual light intensity values do not exist for use with the filtering matrix, "dummy" data points are substituted. The dummy values are set equal to the light intensity value of the nearest adjacent actual data point, and filtering is performed as described above.

Alternatively, as also noted above, the three-dimensional data can be successively obtained sets of two-dimensional data that, together, form a three-dimensional data set. Each two-dimensional set of data is of the same size (i.e., the same numbers of rows and columns) and each piece of data in each of the two-dimensional sets of data has a corresponding piece of data in each of the other two-dimensional sets of data. In this case, the method according to the invention is modified slightly from the block diagram shown in FIG. 1.

FIG. 4 is a block diagram illustrating a method according to another embodiment of the invention for extracting surface image data representing a three-dimensional surface from a set of volumetric data so that the surface image data can be used to display the surface. As in the embodiment described with respect to FIG. 1, the method according to this embodiment of the invention is applied to an existing three-dimensional set of data that is stored on a non-volatile storage medium or temporary storage such as a RAM.

As shown by block 401, the volumetric data is obtained by any appropriate method, as described above with respect to FIG. 1, and stored in a three-dimensional array as shown in FIG. 2. The volumetric data being used by methods described with respect to FIGS. 1 and 4 is the same.

As shown by block 402, after the data, e.g., volumetric data set 200, is obtained, rather than accessing the first data point in a column, as in FIG. 1, a two-dimensional set of data (XY data) is accessed. Hereafter, the data associated with each data point in the two-dimensional set of data is designated generally as Xni,j (X-coordinate location), Yni,j (Y-coordinate location), Zni,j (Z-coordinate location), and Ini,j (light intensity value). In the simple case where data in the z direction are spaced regularly by a scaling factor, then Zni,j is equal to n times the scaling factor.

As shown by block 403, after the first two-dimensional set of data is accessed, as shown by block 402, the quantities Zmaxij are set equal to ZOi,j and the quantities Imaxi,j are set equal to IOi,j (i.e., Zmaxi,j and Imaxi,j are "initialized"). Zmaxi,j and Imaxi,j represent the locations of the maximum light intensity in each column and the value of the maximum light intensity in each column, respectively, i.e., the values that will be used to create the three-dimensional display of the surface.

As shown by block 404, after initializing Zmaxi,j and Imaxi,j, the next two-dimensional set of data is accessed.

As shown by block 405, after accessing the data at the data points `ni,j `, the light intensity data, Ini,j, at data points `ni,j ` are compared to the Imaxi,j values. If Ini,j is greater than Imaxi,j, then Imaxi,j is set equal to Ini,j and Zmaxi,j is set equal to Zni,j.

As shown by block 406, after comparing Ini,j to Imaxi,j, a check is made for whether the last two-dimensional set of data has been reached. If the last two-dimensional set of data has not been reached, then, as shown by block 404, a new set of data points, ni,j, is accessed and, as shown by block 405, the light intensity values, Ini,j are compared to the currently stored maximum light intensity values, Imaxi,j. These comparisons continue until each two-dimensional set of data has been compared to the Imaxi,j values.

It is to be understood that the two-dimensional sets of data can be analyzed, i.e., the method steps described by blocks 402, 403, 404, 405 and 406 applied, in any order. Thus, the first two-dimensional set of data analyzed need not necessarily be located at the top or bottom of volumetric data set 200, but, rather, can be located anywhere within volumetric data set 200. Further, successive two-dimensional sets of data need not necessarily be adjacent each other in space.

As shown by block 407, when all two-dimensional sets of data have been compared to the Imaxi,j values, a least-squares quadratic curve fit is performed to modify the Zmaxi,j and Imaxi,j values, as shown by block 407. A least-squares quadratic curve fit is performed on each column of data, exactly as with respect to FIG. 1. The newly determined values of Imaxi,j and Zmaxi,j determined through the least-squares quadratic curve fit are then stored as Imaxi,j and Zmaxi,j. As with the method of FIG. 1, it is to be understood that the performance of a least-squares quadratic curve fit, as shown by block 407, is not a necessary part of the method according to the invention, but is desirable to enhance the accuracy of the surface image representation and to smooth out spurious spikes in the data.

After the least-squares quadratic curve fit, the surface is displayed, as shown by block 408. After the surface image is displayed, the user decides whether or not to apply filtering to the surface image display, as shown by block 409. If filtering is desired, then filtering is applied to the surface image data, as shown by block 410. The display and filtering are the same as described above with respect to FIG. 1. After filtering, the surface image is displayed again (block 409). The user again decides whether or not to apply filtering to the surface image display (block 410). As above, the user can choose to perform filtering as often as desired. Whenever the user decides not to apply filtering to the surface image display, the method ends and the last displayed image is the surface image produced by the method.

The method according to the invention can be implemented with any appropriate structure. For example, the method according to the invention can generally be implemented by any computer acting together with a compatible data acquisition system. In one embodiment, the method according to the invention is implemented on a computer made by Silicon Graphics in Mountain View, Calif. and available as part no. SGI XS24Z, using data obtained by a laser imaging system as described in commonly owned, co-pending U.S. Patent Application entitled "Laser Imaging System for Semiconductor Inspection and Defect Analysis," by Bruce W. Worster, Dale E. Crane, Hans J. Hansen, Christopher R. Fairley and Ken K. Lee, application Ser. No. 08/080,014, filed on Jun. 17, 1993, the pertinent disclosure of which is hereby incorporated by reference, now U.S. Pat. No. 5,479,252.

If the method according to the invention is implemented on a computer, the method can be represented in any suitable computer code. In one embodiment according to the invention, the method is represented in computer code written in the C language. Appendix A is a computer code listing embodying the method according to the invention described with respect to FIG. 4 and is herein incorporated by reference.

Various embodiments of the invention have been described. The descriptions are intended to be illustrative, and not limiting. Thus, it will be apparent to one skilled in the art that certain modifications may be made to the invention as described without departing from the scope of the claims set out below. ##SPC1##

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4733063 *Dec 15, 1986Mar 22, 1988Hitachi, Ltd.Scanning laser microscope with aperture alignment
US4827125 *Apr 29, 1987May 2, 1989The United States Of America As Represented By The Secretary Of The Department Of Health And Human ServicesConfocal scanning laser microscope having no moving parts
US4863226 *Mar 10, 1988Sep 5, 1989Nederlandse Organisatie Voor Toegepas - Natuurwetenschappelijk Onderzoek TnoConfocal laser scanning microscope
US4907174 *Jun 2, 1988Mar 6, 1990Sun Microsystems, Inc.Z-buffer allocated for window identification
US5034613 *Nov 14, 1989Jul 23, 1991Cornell Research Foundation, Inc.Two-photon laser microscopy
US5035476 *Jun 15, 1990Jul 30, 1991Hamamatsu Photonics K.K.Confocal laser scanning transmission microscope
US5091652 *Jun 1, 1990Feb 25, 1992The Regents Of The University Of CaliforniaLaser excited confocal microscope fluorescence scanner and method
US5117466 *Apr 30, 1991May 26, 1992The United States Of America As Represented By The United States Department Of EnergyIntegrated fluorescence analysis system
US5122653 *Aug 9, 1990Jun 16, 1992Nikon CorporationConfocal type laser scan microscope with integrated illumination, detection and waveguide system
US5127730 *Aug 10, 1990Jul 7, 1992Regents Of The University Of MinnesotaMulti-color laser scanning confocal imaging system
US5153428 *Feb 24, 1992Oct 6, 1992Hamamatsu Photonics K.K.Confocal laser scanning microscope having relay lens and a slit for removing stray light
US5162641 *Feb 19, 1991Nov 10, 1992Phoenix Laser Systems, Inc.System and method for detecting, correcting and measuring depth movement of target tissue in a laser surgical system
US5226113 *Feb 28, 1992Jul 6, 1993General Electric CompanyMethod and apparatus for volumetric projection rendering using reverse ray casting
US5309550 *Dec 30, 1992May 3, 1994Kabushiki Kaisha ToshibaMethod and apparatus for three dimensional display with cross section
US5313567 *Jun 13, 1991May 17, 1994At&T Bell LaboratoriesArrangement for determining and displaying volumetric data in an imaging system
US5317644 *Jun 16, 1992May 31, 1994Mcgill UniversityMethod for the enhancement of cell images
US5329352 *Apr 2, 1992Jul 12, 1994Bayer AktiengesellschaftSpectroscopically correlated light scanning microscopy
USRE34214 *Dec 21, 1988Apr 6, 1993Molecular Dynamics, Inc.Method and apparatus for microphotometering microscope specimens
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US5923430 *Feb 3, 1997Jul 13, 1999Ultrapointe CorporationMethod for characterizing defects on semiconductor wafers
US5963314 *Oct 15, 1996Oct 5, 1999Ultrapointe CorporationLaser imaging system for inspection and analysis of sub-micron particles
US6148114 *Nov 27, 1996Nov 14, 2000Ultrapointe CorporationRing dilation and erosion techniques for digital image processing
US6253164 *Dec 24, 1997Jun 26, 2001Silicon Graphics, Inc.Curves and surfaces modeling based on a cloud of points
US6288782May 5, 1999Sep 11, 2001Ultrapointe CorporationMethod for characterizing defects on semiconductor wafers
US6320609Jul 10, 1998Nov 20, 2001Nanometrics IncorporatedSystem using a polar coordinate stage and continuous image rotation to compensate for stage rotation
US6661515Sep 11, 2001Dec 9, 2003Kla-Tencor CorporationMethod for characterizing defects on semiconductor wafers
US8987010 *Aug 29, 2013Mar 24, 2015International Business Machines CorporationMicroprocessor image correction and method for the detection of potential defects
US20030203520 *May 8, 2003Oct 30, 2003Worster Bruce W.Method for characterizing defects on semiconductor wafers
US20070104357 *Dec 21, 2006May 10, 2007Kla-Tencor CorporationMethod for Characterizing Defects on Semiconductor Wafers
US20150043788 *Jul 21, 2014Feb 12, 2015Clicrweight, LLCDetermining and Validating a Posture of an Animal
US20150064813 *Aug 29, 2013Mar 5, 2015International Business Machines CorporationMicroprocessor image correction and method for the detection of potential defects
WO2002075423A1 *Mar 15, 2002Sep 26, 2002Carl Zeiss Microelectronic Systems GmbhMethod for evaluating layers of images
Classifications
U.S. Classification345/424, 345/419
International ClassificationG06T15/00
Cooperative ClassificationG06T15/00
European ClassificationG06T15/00
Legal Events
DateCodeEventDescription
Jun 17, 1993ASAssignment
Effective date: 19930617
Owner name: ULTRAPOINTE CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEE, KEN K.;REEL/FRAME:006612/0276