WO2002023173A2 - Method for measuring and characterizing parallel features in images - Google Patents

Method for measuring and characterizing parallel features in images Download PDF

Info

Publication number
WO2002023173A2
WO2002023173A2 PCT/US2001/026649 US0126649W WO0223173A2 WO 2002023173 A2 WO2002023173 A2 WO 2002023173A2 US 0126649 W US0126649 W US 0126649W WO 0223173 A2 WO0223173 A2 WO 0223173A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
value
maxima
pixels
pixel
Prior art date
Application number
PCT/US2001/026649
Other languages
French (fr)
Other versions
WO2002023173A3 (en
Inventor
Andreas Hieke
Ulrich Mantz
Original Assignee
Infineon Technologies North America Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp. filed Critical Infineon Technologies North America Corp.
Publication of WO2002023173A2 publication Critical patent/WO2002023173A2/en
Publication of WO2002023173A3 publication Critical patent/WO2002023173A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/49Analysis of texture based on structural texture description, e.g. using primitives or placement rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer

Definitions

  • the present invention relates to a method for the measurement and characterization of parallel features in images as, for example, during the development and fabrication of microelectronic circuits.
  • TEM Transmission Electron Microscopy
  • FIG. 1 there is shown a TEM image 10 of a portion of an integrated circuit structure illustrating a prior art technique for determining a width or thickness of an oxide interface area 11.
  • the image 10 comprises an area of silicon 12 and a fill area 14 separated by the oxide interface area 11.
  • the TEM image 10 shows the surface texture and roughness of each of the silicon area 12, the fill area 14, and the oxide interface area 11 where more white pixels in an area indicates a rougher surface and areas which have fewer white pixels have a smoother surface.
  • (nm) indicated in a bar at the bottom left corner of the image 10 indicates that the bar is 7.00 nm wide in the image 10.
  • a predetermined number of pixels are found within the 7.00 nm bar which is used for calibration purposes for measuring distances between predetermined rows or columns of the image 10.
  • an operator views the image 10 and visibly determines where the oxide interface area 11 is centrally located by a change in texture and roughness of each of the silicon area 12 and the fill area 14.
  • the operator then manually draws simple marks "by hand” such as one or more parallel straight lines 16 and 17 which may be parallel to each other on the image between the two perceived sides of the oxide interface area 11.
  • the operator then manually measures the length of each of the parallel lines 16 and 17 to find the width or thickness of the oxide interface area 11. As shown in FIG. 1, the operator measured the line 16 to have a thickness or width of 93 angstroms (A) , and the line 17 to have a thickness or width of 95 angstroms (A) .
  • This technique provides uncertain results since it is very possible that different operators may determine different thicknesses or widths for the oxide interface area 11.
  • the problem remaining in the prior art is to find a repeatable method that measures the distance of features that differ primarily in their texture and little in their mean gray scale value.
  • the application of pattern/texture recognition algorithms for the exact determination of the pattern/texture boundaries is problematic since typically a window with finite size is required in order to detect specific features which, in turn, reduces the achievable precision.
  • the present invention is directed to a simple and general method and algorithm for the precise, unambiguous, and repeatable measurement and characterization of parallel features in any kind of digital images.
  • the present invention is directed to a method of determining ⁇ measurements ' and characterizations of parallel features of a prealigned image comprising a separate gray scale value for each pixel in an array of pixels which are stored in a memory of a processor.
  • the image is electronically rotated to a first predetermined angle from its original prealigned position.
  • a separate mean gray scale value is determined by the processor for each line of pixels in a predetermined direction in the array of pixels of the rotated image. Indications of changes in the determined mean gray scale values are then enhanced between the lines of pixels in a predetermined direction.
  • a determination is made of one of a group consisting of a maxima value, and a maximum slope in the enhanced indicated changes from the enhanced indicated changes previously obtained.
  • the present invention is directed to a method of determining measurements and characterizations of parallel features of a prealigned image.
  • pixels of an array or pixels of the prealigned image are transformed into corresponding gray scale values for storage in a memory of a processor.
  • the image is electronically rotated to a first predetermined angle from its original prealigned position.
  • a separate mean gray scale value is determined along each line of pixels in a predetermined direction in the array of pixels of the rotated image.
  • a differentiated value is determined for each of the mean gray scale.values previously determined.
  • One of a group consisting of a maxima and a maximum slope value is determined from the differential values obtained and such maxima or maximum slope value is stored in the memory.
  • FIG. 1 is an image of a portion of a microelectronic circuit illustrating a prior art manual method of determining a thickness or width of an interface area
  • FIG. 2 " is a f ⁇ ow “"" ⁇ di " agram of a method for the measurement and characterization of parallel features in any kind of digital image in accordance with the present invention
  • FIGS. 3A and 3B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 3A with an included an interface area that is rotated at an angle of -4 degrees from realignment in accordance with the present in ention;
  • FIGS. 4A and 4B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 4A with an included an interface area that is rotated at an angle of -2 degrees from prealignment in accordance with the present invention
  • FIGS. 5A and 5B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of .FIG. 5A with an included an interface area that is rotated at an angle of 0 degrees from prealignment in accordance with the present invention
  • FIGS. 6A and 6B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 6A with an included an interface area that is rotated at an angle of +2 degrees from prealignment in accordance with the present invention
  • FIGS. 7A and 7B show an image of a microelectronic circuit and a graphical result " respectively, obtained when using the method of FIG. 2 for the image of FIG. 7A with an included an interface area that is rotated at an angle of +3 degrees from prealignment in accordance with the present invention
  • FIGS. 8A and 8B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 8A with an included an interface area that is rotated at an angle of +4 degrees from prealignment in accordance with the present invention.
  • FIG. 2 there is shown a a flow diagram of a method for the measurement and characterization of parallel features in any kind of digital image in accordance with the present invention.
  • the flow diagram starts at block 20 (START) by an operator initiating a program stored in a processor (not shown) corresponding to the method shown in FIG. 2.
  • the image Pi,j in block 22 is assumed hereinafter to has been visually prealigned by an operator so that an interface area 11 (shown in FIG. 1) is positioned, for example, near parallel to the columns of pixels of the image Pi,j.
  • the image Pi, j " can be " prealigned with the " interface area 11 aligned in any other direction as, for example, near parallel to the rows of the image Pi,j in accordance with the present invention.
  • the image Pi,j comprises a predetermined number of pixels along each of its horizontal and vertical axes.
  • (Pi,j) is transformed into a corresponding array of digital numbers, where "i" represents a coordinate row number, and "j" represents a coordinate column number for each pixel in the image array.
  • Each digital number corresponds to a predetermined gray scale value for its corresponding pixel in the image array, where the digital number is, for example, a "0" if the pixel is very dark (black) , and, for example, "255” if the pixel is very bright (white) for an 8-bit gray scale.
  • any suitable predetermined format for a digital pixel value can be used for the translation process.
  • the prealigned image Pi,j which is stored in the memory of the processor, is electronically rotated by a predetermined angle ⁇ by the processor.
  • the processor electronically moves the digital values of each pixel to a new predetermined location to obtain a new array of digital numbers corresponding to the rotated image location by the predetermined angle ⁇ .
  • Any suitable electronic image rotation procedure or standard matrix transformation technique known in the art can be used for this purpose which transforms all of the pixels of an original image Pi,j to new coordinates representing a new image P'i,j rotated by an angle ⁇ .
  • this rotation process can be mathematically expressed by the following exemplary expressions:
  • the above expressions (1) and (2) indicate that each of the pixels in the image array have separate coordinates "i,j" between pixel coordinates 1 and i max and j a / respectively. These coordinates i,j for each of the pixels are used for transforming an old image P to new coordinates by expression (3) to obtain a new rotated image P'i,j in a predetermined direction.
  • a separate mean gray value "g(j) M is determined for all of the pixels in each column by any suitable technique.
  • this technique can be mathematically expressed as :
  • the gray scale values of pixels i,j of the pixel coordinates 1,1; 2,1; 3,1, to imax' 1 are added together and the resultant sum is divided by the pixel number for i ma ⁇ (e.g., 256) to obtain a mean average value expressed as g(j) for that column.
  • This mean gray value g(j) for each of the columns of pixels is then plotted on a graph as will be discussed hereinafter with respect to FIGS. 3B-8B.
  • This resultant differentiated value for each column can be used directly, but is squared to obtain dgs(j)2 which is also plotted on a graph as will be discussed hereinafter with respect to FIGS. 3B-8B.
  • the " purpose of finding g(j) in block 28 is to detect changes in gray scale values across the columns of pixels. Such changes are generally very small when viewing the image 10 of FIG. 1.
  • the differentiations of gs(j) in block 30 are performed to enhance the indications of gray scale changes across the columns of pixel so that an interface area 11 of the image 10 is more easily determinable .
  • a block 32 [DETERMINE MAXIMUM dgs(j)] the present method determines the maxima of the derivative dgs(j) functions that were obtained in block 30 for the pixel column (j), and such maxima is recorded.
  • the maxima value of the first derivative of gs(j) provides an enhanced signal at any interface area. Using the maxima value permits a more accurate determination of where an interface area begins and ends via a determination of changes.
  • This maxima value is transmitted to a block 34 (OPTIMUM?) to determine if this maxima value for dgs(j) is an optimum value.
  • the maxima value is stored and for the first time through blocks 26, 28, 30, 32, and 34, there is only one maxima value available for dgs(j) .
  • the resultant answer out of block 34 is "NO” as to whether the received maxima value is an optimum value or not.
  • a “NO” answer results in the present method being directed to a block 36 (OPTIMIZATION ROUTINE) which causes the optimization routine to begin again through blocks 26, 28, 30, 32 and 34.
  • the image Pi,j is rotated again to another predetermined angle ⁇ by the processor.
  • the determinations in blocks 28, 30, 32, and 34 are repeated and the resultant maxima dgs(j) value is compared with the prior dgs(j) maxima value to see if this is an optimum value.
  • this process is repeated a few times to ensure that an optimum maxima value is obtained in block 34.
  • block 34 needs to look whether a newly received maxima value for a dgs(j) is more or less than a prior received maxima value for the dgs(j) .
  • An optimum maxima value for dgs(j) is obtained when the interface area is parallel to the columns of pixels of the image 10. Once an optimum maxima value is determined in block 34, the present method proceeds via the "YES" output route to determine an interface distance in a block 38 (DETERMINE INTERFACE DISTANCE) .
  • the interface distance is determined by using, for example, the expression:
  • distance (length/pixel) (j ma ⁇ 2 " -Jmaxl) ⁇ (6)
  • length is the total width of the image 10
  • pixel is the number of pixels along each row across the total width of the image 10
  • j a ⁇ i is a lower pixel column number where a first maximum dgs(j) value is determined in block 34
  • “distance" across the interface area 11 is in angstroms and is an absolute number.
  • FIGS. 3A and 3B, 4A and 4B, 5A and 5B, 6A and 6B, 7A and 7B/ and 8A and 8B there is shown in FIGS. 3A, 4A, 5A, 6A, 7A, and 8A views of a image array 10 that have been electronically rotated by a separate predetermined angle ⁇ in each of the figures.
  • FIGS. 3A, 4A, 5A, 6A, 7A, and 8A views of a image array 10 that have been electronically rotated by a separate predetermined angle ⁇ in each of the figures.
  • 3B, 4B, 5B, 6B, 7B, and 8B graphically show curves of column mean gray value g(j) 50, smoothed column mean gray value gs(j) 52, and a differentiated smoothed column mean gray value dgs(j)2 54 (where dgs(j) has been squared primarily to avoid negative values) .
  • the left hand vertical axis are gray scale values for curves 50 and 52
  • the right hand axis is an arbitrary scale (unmarked for the various levels) for curve 54, versus image pixel column numbers along the horizontal axis as determined by blocks 28, and 30 of the flowchart of FIG.
  • FIGS. 3A, 4A, 5A, 6A, 7A, and 8A The values of g(j) determined in block 28 of FIG. 2 are shown by a curve 50 of sequential circles across the pixel columns, the values of gs(j) and the dgs(j)2 of curves 52 and 54, respectively, are determined in block 30 of FIG. 2 and are shown by a bold line and a light line, respectively, in each of FIGS. 3B, 4B, 5B, 6B, 7B, and 8B.
  • the method will be illustrated by sequentially looping through blocks 26, 28, 30, 32, and 36 for each of FIGS.
  • FIG. 3B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2.
  • curve 54 (light line) representing dgs(j) wherein the differentiated smoothed mean gray values between pixel columns show where the greatest change occurs across the image 10 of FIG. 3A.
  • the values in this curve are effectively used for making determinations of a maxima value and its optimum value in blocks 32 and 34 of FIG. 2.
  • the curve of dgs(j) 2 has is found to have a maxima value of 90 at pixel row 70. Since this determination is made from a first image processed by the method of FIG. 2, the processor cannot make a determination in block 34 of FIG. 2 whether this maxima value is an optimum value or not, and the program returns to block 26 of FIG. 2 via block 36.
  • FIG. 4B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j) 2 , respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 4A.
  • FIGS. 4A and 4B are used by the processor for a second pass through blocks 26, 28, 30, 32, and 34.
  • the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j) now has a maxima value of 135 at pixel row 70. Although this new dgs(j) 2 maxima value is higher than the first maxima value of 90 obtained during the first pass, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this maxima value is an optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a third pass therethrough . Referring now to FIGS.
  • FIG. 5B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j) 2 , respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 5A.
  • FIGS. 5A and 5B are used by the processor for a third pass through blocks 26, 28, 30, 32, and 34.
  • the method finds, in block 32 of FIG. 2, that the " curve 54 of dgs(j) 2 now has a maxima value of 179 at pixel row 70. Although this new dgs(j) 2 maxima value is higher than the first maxima value of 135 obtained during the second pass through blocks 26, 28, 30, 32, and 34, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this maxima value is an ultimate optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a fourth pass therethrough.
  • FIG. 6B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j) 2 , respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 6A.
  • FIGS. 6A and 6B are used by the processor for a fourth pass through blocks 26, 28, 30, 32, and 34.
  • the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j) 2 now has a maximum value of 198 at pixel row 70. Although this new dgs(j)2 maxima value is higher than the prior maxima value of 179 obtained during the third pass through blocks 26, 28, 30, 32, and 34, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this value is an optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a fifth pass therethrough.
  • FIG. 7B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 7A.
  • FIGS. 7A and 7B are used by the processor for a fifth pass through blocks 26, 28, 30, 32, and 34.
  • the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j) 2 now has a maxima value of 198 at pixel row 70.
  • FIG. 8A a view of an image 10 which has now been rotated in block
  • FIG. 8B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j) 2 , respectively, as determined by the processor in blocks 28 and
  • FIGS. 8A and 8B are used by the processor for a fifth pass through blocks 26, 28, 30, 32, and 34.
  • the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j) 2 now has a maxima value of 186 at pixel row 70. This new dgs(j) 2 maxima value is lower than the prior maxima values of 198 obtained during the fourth and fifth passes through blocks 26, 28, 30, 32, and 34, block 34 of FIG.
  • the processor can now determine the distance across the interface area 11 using the expression (6) hereinabove of block 38 of FIG. 2. More particularly, the processor determines from FIG. 6B that one edge of the interface 11 is found at pixel column 79 where the first maxima is found, and an opposite edge of the interface 11 is found at pixel column 200 where the second maxima is found and makes the calculation with expression (6) .
  • a plot of a relative amount of the left and the right maxima, as well as a relative .of measured distance as a function of rotation ( ⁇ ) can be made. It is found that the position of the maxima may slightly differ for the left and right maxima. In such cases an average should be chosen. However, the corresponding variation of the measured distance is found “ to be " only ⁇ 2% which is ⁇ equivalent to approximately two pixels.
  • the advantages of the present method is that the method is automatically implemented and provides repeatable and reliable measurements of the distance of parallel features that differ in their texture and little in their mean gray scale value.
  • the present method also allows for characteristics such as interface roughness of an image to be determined from mean gray values and differentiated mean gray values obtained by the method. Still further, the present method advantageously does not involve operator intervention or decision making once the process is started, thereby achieving better repeatability and reliability.
  • interfaces in an image 10 can also be identified using the first derivative dgs(j) values obtained from the smoothed gray scale value gs(j) in blocks 30 and 32 of FIG. 2.
  • a first edge of an interface in the image is indicated at approximately column 80 of the resultant first derivative curve 54 where the first derivative value equals a zero value indicating a point of a maximum slope. This is also less prominently indicated by where the smoothed gray scale values gs(j) show a rise to a maximum value.
  • the second edge of the parallel feature is indicated at approximately column 195 where a second maximum value of the first derivative is found.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

A method of determining measurements and characterizations of parallel features of a prealigned image having an array of pixels where each pixel in has a separate gray scale value which is stored in a memory of a processor. In the method, the image is electronically rotated (26) to a first predetermined angle from its original prealigned position. A separate mean gray scale value (28) is determined by the processor for each line of pixels in a predetermined direction in the array of pixels of the rotated image. Indications of changes in the determined mean gray scale values are then enhanced (30) between the lines of pixels in a predetermined direction. A maxima (32) value or slope of the enhanced indicated changes is obtained and a determination is made if the obtained maxima value or slope is an optimum value (34). If the maxima is not determined as an optimum value, the prior steps are repeated for the image which is rotated to a different predetermined angle from its original prealigned position until an optimum maxima value is obtained. Once an optimum maxima value is determined, a distance (36) between opposing substantially parallel edges of a feature of the rotated image is determined based on separate first and second maxima values found across the image.

Description

METHOD FOR MEASURING AND CHARACTERIZING PARALLEL FEATURES IN 'IMAGES
Field of the Invention
The present invention relates to a method for the measurement and characterization of parallel features in images as, for example, during the development and fabrication of microelectronic circuits. Background of the Invention
For various applications, the precise measurement of parallel features and structures in images, or portions of images, is required. One example is the fabrication of integrated structures where the evaluation of the Transmission Electron Microscopy (TEM) or Scanning Electron Microscopy
(SEM) images of Integrated Circuit (IC) cross-sections showing deposited layers is required. Usually the distance or the thickness of certain portions of these images is of interest.
Referring now to FIG. 1, there is shown a TEM image 10 of a portion of an integrated circuit structure illustrating a prior art technique for determining a width or thickness of an oxide interface area 11. The image 10 comprises an area of silicon 12 and a fill area 14 separated by the oxide interface area 11. The TEM image 10 shows the surface texture and roughness of each of the silicon area 12, the fill area 14, and the oxide interface area 11 where more white pixels in an area indicates a rougher surface and areas which have fewer white pixels have a smoother surface. The 7.00 nanometers
(nm) indicated in a bar at the bottom left corner of the image 10 indicates that the bar is 7.00 nm wide in the image 10. Depending on the resolution of the image 10, a predetermined number of pixels are found within the 7.00 nm bar which is used for calibration purposes for measuring distances between predetermined rows or columns of the image 10.
In a prior art technique, an operator views the image 10 and visibly determines where the oxide interface area 11 is centrally located by a change in texture and roughness of each of the silicon area 12 and the fill area 14. The operator then manually draws simple marks "by hand" such as one or more parallel straight lines 16 and 17 which may be parallel to each other on the image between the two perceived sides of the oxide interface area 11. The operator then manually measures the length of each of the parallel lines 16 and 17 to find the width or thickness of the oxide interface area 11. As shown in FIG. 1, the operator measured the line 16 to have a thickness or width of 93 angstroms (A) , and the line 17 to have a thickness or width of 95 angstroms (A) . This technique provides uncertain results since it is very possible that different operators may determine different thicknesses or widths for the oxide interface area 11.
The problem remaining in the prior art is to find a repeatable method that measures the distance of features that differ primarily in their texture and little in their mean gray scale value. The application of pattern/texture recognition algorithms for the exact determination of the pattern/texture boundaries is problematic since typically a window with finite size is required in order to detect specific features which, in turn, reduces the achievable precision.
It is desirable to provide a simple and general method for the precise, unambiguous, and repeatable measurement and characterization of parallel features in any kind of digital images which may be obtained, for example, during the development and fabrication of microelectronic circuits. Summary of the Invention
The present invention is directed to a simple and general method and algorithm for the precise, unambiguous, and repeatable measurement and characterization of parallel features in any kind of digital images.
Viewed from one aspect, the present invention is directed to a method of determining~measurements' and characterizations of parallel features of a prealigned image comprising a separate gray scale value for each pixel in an array of pixels which are stored in a memory of a processor. In the method, the image is electronically rotated to a first predetermined angle from its original prealigned position. A separate mean gray scale value is determined by the processor for each line of pixels in a predetermined direction in the array of pixels of the rotated image. Indications of changes in the determined mean gray scale values are then enhanced between the lines of pixels in a predetermined direction. A determination is made of one of a group consisting of a maxima value, and a maximum slope in the enhanced indicated changes from the enhanced indicated changes previously obtained. A determination is made of whether the obtained maxima or maximum slope value is an optimum value. If the maxima or maximum slope value is not determined as an optimum value, the prior steps are repeated for the image which is rotated to a different predetermined angle from its original prealigned position until an optimum maxima or maximum slope value is obtained. Once an optimum maxima or maximum slope value is determined, a distance between opposing substantially parallel edges of a feature of the rotated image is determined based on separate first and second maxima or maximum slope values found across the image.
Viewed from another aspect, the present invention is directed to a method of determining measurements and characterizations of parallel features of a prealigned image. In the "method, pixels of an array or pixels of the prealigned image are transformed into corresponding gray scale values for storage in a memory of a processor. The image is electronically rotated to a first predetermined angle from its original prealigned position. A separate mean gray scale value is determined along each line of pixels in a predetermined direction in the array of pixels of the rotated image. A differentiated value is determined for each of the mean gray scale.values previously determined. One of a group consisting of a maxima and a maximum slope value is determined from the differential values obtained and such maxima or maximum slope value is stored in the memory. A determination is then made of whether the maxima or maximum slope value is an optimum value or not. If the maxima or maximum slope value is determined not to be an optimum value, the prior steps are repeated for the image which is rotated to a different predetermined angle from its original prealigned position until an optimum maxima value is obtained. When the optimum maxima or maximum slope value is obtained, a distance between substantially parallel features of the rotated image is determined.
The invention will be better understood from the following more detailed description taken with the accompanying drawings and claims. Brief Description of the Drawing
FIG. 1 is an image of a portion of a microelectronic circuit illustrating a prior art manual method of determining a thickness or width of an interface area;
FIG. 2" is a fϊow"""~di"agram of a method for the measurement and characterization of parallel features in any kind of digital image in accordance with the present invention;
FIGS. 3A and 3B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 3A with an included an interface area that is rotated at an angle of -4 degrees from realignment in accordance with the present in ention;
FIGS. 4A and 4B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 4A with an included an interface area that is rotated at an angle of -2 degrees from prealignment in accordance with the present invention; FIGS. 5A and 5B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of .FIG. 5A with an included an interface area that is rotated at an angle of 0 degrees from prealignment in accordance with the present invention;
FIGS. 6A and 6B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 6A with an included an interface area that is rotated at an angle of +2 degrees from prealignment in accordance with the present invention;
FIGS. 7A and 7B show an image of a microelectronic circuit and a graphical result" respectively, obtained when using the method of FIG. 2 for the image of FIG. 7A with an included an interface area that is rotated at an angle of +3 degrees from prealignment in accordance with the present invention; and
FIGS. 8A and 8B show an image of a microelectronic circuit and a graphical result, respectively, obtained when using the method of FIG. 2 for the image of FIG. 8A with an included an interface area that is rotated at an angle of +4 degrees from prealignment in accordance with the present invention. Detailed Description
Referring now to FIG. 2, there is shown a a flow diagram of a method for the measurement and characterization of parallel features in any kind of digital image in accordance with the present invention. The flow diagram starts at block 20 (START) by an operator initiating a program stored in a processor (not shown) corresponding to the method shown in FIG. 2. Upon initiation of the program, a predetermined prealigned image (Pi,j) from a block 22 [IMAGE(S) Pi,j], such as is shown, for example, in FIG. 1, is input into a memory
(not shown) within the processor in an INPUT block 24, where' "i" represents row numbers and "j " represents column numbers. For purposes of illustration hereinafter, the image Pi,j in block 22 is assumed hereinafter to has been visually prealigned by an operator so that an interface area 11 (shown in FIG. 1) is positioned, for example, near parallel to the columns of pixels of the image Pi,j. Alternatively, the image Pi, j "can be" prealigned with the" interface area 11 aligned in any other direction as, for example, near parallel to the rows of the image Pi,j in accordance with the present invention. Still further, it is assumed hereinafter that the image Pi,j comprises a predetermined number of pixels along each of its horizontal and vertical axes.
In a block 24 (INPUT) , the array of pixels of the image
(Pi,j) is transformed into a corresponding array of digital numbers, where "i" represents a coordinate row number, and "j" represents a coordinate column number for each pixel in the image array. Each digital number corresponds to a predetermined gray scale value for its corresponding pixel in the image array, where the digital number is, for example, a "0" if the pixel is very dark (black) , and, for example, "255" if the pixel is very bright (white) for an 8-bit gray scale. However, any suitable predetermined format for a digital pixel value can be used for the translation process.
In a block 26 (ROTATE IMAGE), the prealigned image Pi,j, which is stored in the memory of the processor, is electronically rotated by a predetermined angle ø by the processor. For such rotation process, the processor electronically moves the digital values of each pixel to a new predetermined location to obtain a new array of digital numbers corresponding to the rotated image location by the predetermined angle ø. Any suitable electronic image rotation procedure or standard matrix transformation technique known in the art can be used for this purpose which transforms all of the pixels of an original image Pi,j to new coordinates representing a new image P'i,j rotated by an angle ø. For example, this rotation process can be mathematically expressed by the following exemplary expressions:
For all pixels of a row between [1, imax] ; (1) and
For all pixels of a column between [1, jmaχ] '" (2) determine
P' [icos (ø) -j sin (ø) ] [isin (ø) +jcos (ø) ] = Pi,j. (3)
The above expressions (1) and (2) indicate that each of the pixels in the image array have separate coordinates "i,j" between pixel coordinates 1 and imax and j a / respectively. These coordinates i,j for each of the pixels are used for transforming an old image P to new coordinates by expression (3) to obtain a new rotated image P'i,j in a predetermined direction.
In a block 28 [DETERMINE MEAN GRAY VALUE g(j) OF COLUMNS], a separate mean gray value "g(j)M is determined for all of the pixels in each column by any suitable technique. For example, this technique can be mathematically expressed as :
For all pixels in a column = j(l,jmaχ); (4) determine xmax g(j) = l/imax δ P'i,j, (5) i=l where "j" is a pixel column number, and "i" represents the pixel number in that column up to a last pixel imax °f the image Pi,j. From expression (5) , the mean gray value for each column is obtained by adding the gray scale values for each pixel in the column and then taking the average of such value. For example, for column 1 of the rotated image, the gray scale values of pixels i,j of the pixel coordinates 1,1; 2,1; 3,1, to imax'1 are added together and the resultant sum is divided by the pixel number for imaχ (e.g., 256) to obtain a mean average value expressed as g(j) for that column. This mean gray value g(j) for each of the columns of pixels is then plotted on a graph as will be discussed hereinafter with respect to FIGS. 3B-8B. In a block 30 [SMOOTH g(j)=gs(j) AND DIFFERENTIATE gs(j)] the mean gray value g(j) obtained in block 28 for each column obtained with expression (5) is smoothed to obtain a value of gs(j), where "s" represents a predetermined smoothing factor as is well known in the art. The resultant smoothed gs(j) value is then differentiated using a first derivative to obtain an average gray scale value designated dgs(j) which is a value independent of the column number. The reason for smoothing the gray scale values g(j) is to reduce noise on the resultant dgs(j) curve 54. This resultant differentiated value for each column can be used directly, but is squared to obtain dgs(j)2 which is also plotted on a graph as will be discussed hereinafter with respect to FIGS. 3B-8B. The "purpose of finding g(j) in block 28 is to detect changes in gray scale values across the columns of pixels. Such changes are generally very small when viewing the image 10 of FIG. 1. The differentiations of gs(j) in block 30 are performed to enhance the indications of gray scale changes across the columns of pixel so that an interface area 11 of the image 10 is more easily determinable .
In a block 32 [DETERMINE MAXIMUM dgs(j)], the present method determines the maxima of the derivative dgs(j) functions that were obtained in block 30 for the pixel column (j), and such maxima is recorded. The maxima value of the first derivative of gs(j) provides an enhanced signal at any interface area. Using the maxima value permits a more accurate determination of where an interface area begins and ends via a determination of changes. This maxima value is transmitted to a block 34 (OPTIMUM?) to determine if this maxima value for dgs(j) is an optimum value. The maxima value is stored and for the first time through blocks 26, 28, 30, 32, and 34, there is only one maxima value available for dgs(j) . Therefore, the resultant answer out of block 34 is "NO" as to whether the received maxima value is an optimum value or not. A "NO" answer results in the present method being directed to a block 36 (OPTIMIZATION ROUTINE) which causes the optimization routine to begin again through blocks 26, 28, 30, 32 and 34.
When returning to block 26, the image Pi,j is rotated again to another predetermined angle ø by the processor. Once the image has been rotated to a new angle ø, the determinations in blocks 28, 30, 32, and 34 are repeated and the resultant maxima dgs(j) value is compared with the prior dgs(j) maxima value to see if this is an optimum value. Generally, this process is repeated a few times to ensure that an optimum maxima value is obtained in block 34. Primarily, block 34 needs to look whether a newly received maxima value for a dgs(j) is more or less than a prior received maxima value for the dgs(j) .
An optimum maxima value for dgs(j) is obtained when the interface area is parallel to the columns of pixels of the image 10. Once an optimum maxima value is determined in block 34, the present method proceeds via the "YES" output route to determine an interface distance in a block 38 (DETERMINE INTERFACE DISTANCE) . The interface distance is determined by using, for example, the expression:
1] distance = (length/pixel) (jmaχ2 " -Jmaxl) < (6) where "length" is the total width of the image 10, "pixel" is the number of pixels along each row across the total width of the image 10, j aχi is a lower pixel column number where a first maximum dgs(j) value is determined in block 34, and Jmax2 ^s a higner pixel column number having a second maximum dgs(j) value where a second opposing edge of an interface area 11 is determined to be, and "distance" across the interface area 11 is in angstroms and is an absolute number. After the interface distance is determined, the method proceeds to block 40 and stops.
Referring now to FIGS. 3A and 3B, 4A and 4B, 5A and 5B, 6A and 6B, 7A and 7B/ and 8A and 8B, there is shown in FIGS. 3A, 4A, 5A, 6A, 7A, and 8A views of a image array 10 that have been electronically rotated by a separate predetermined angle ø in each of the figures. FIGS. 3B, 4B, 5B, 6B, 7B, and 8B graphically show curves of column mean gray value g(j) 50, smoothed column mean gray value gs(j) 52, and a differentiated smoothed column mean gray value dgs(j)2 54 (where dgs(j) has been squared primarily to avoid negative values) . In FIGS. 3B, 4B, 5B, 6B, 7B, and 8B the left hand vertical axis are gray scale values for curves 50 and 52, and the right hand axis is an arbitrary scale (unmarked for the various levels) for curve 54, versus image pixel column numbers along the horizontal axis as determined by blocks 28, and 30 of the flowchart of FIG. 2 for the rotated image of FIGS. 3A, 4A, 5A, 6A, 7A, and 8A, respectively. The values of g(j) determined in block 28 of FIG. 2 are shown by a curve 50 of sequential circles across the pixel columns, the values of gs(j) and the dgs(j)2 of curves 52 and 54, respectively, are determined in block 30 of FIG. 2 and are shown by a bold line and a light line, respectively, in each of FIGS. 3B, 4B, 5B, 6B, 7B, and 8B. For an understanding of the method shown in FIG. 2, the method will be illustrated by sequentially looping through blocks 26, 28, 30, 32, and 36 for each of FIGS. 3A, 4A, 5A, 6A, 7A, and 8A in sequence, and then ending the method when an optimum maxima value is found in block 34 of FIG. 2. Although the values for the curve 54 of dgs(j)2 in FIGS. 3B, 4B, 5B, 6B, 7B, and 8B are measured along an arbitrary scale, for purposes of illustrations it will be assumed hereinafter that a" maxima value will be measured as an equivalent gray scale value along the left hand vertical axis of each graph.
Referring now to FIGS. 3A and 3B, there is shown in FIG. 3A a view of an image 10 which has been electronically rotated in block 26 of FIG. 2 by an exemplary angle ø=-4° from its prealigned position found in block 22 of FIG. 2, and stored in a memory of a processor in block 24 of FIG. 2. FIG. 3B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2. Of primary concern is the curve 54 (light line) representing dgs(j) wherein the differentiated smoothed mean gray values between pixel columns show where the greatest change occurs across the image 10 of FIG. 3A. The values in this curve are effectively used for making determinations of a maxima value and its optimum value in blocks 32 and 34 of FIG. 2. In block 32 of FIG. 2, the curve of dgs(j)2 has is found to have a maxima value of 90 at pixel row 70. Since this determination is made from a first image processed by the method of FIG. 2, the processor cannot make a determination in block 34 of FIG. 2 whether this maxima value is an optimum value or not, and the program returns to block 26 of FIG. 2 via block 36.
Referring now to FIGS. 4A and 4B, there is shown in FIG. 4A a view of an image 10 which has now been electronically rotated in block 26 of FIG. 2 by an exemplary angle ø=-2° from its prealigned position found in block 22 of FIG. 2, and stored in the processor in block 24 of FIG. 2. FIG. 4B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 4A. FIGS. 4A and 4B are used by the processor for a second pass through blocks 26, 28, 30, 32, and 34. After rotating the image, and having made the calculations for g(j), gs(j) and dgs(j)2 in blocks 28 and 30 for the image at ø=-2° from its prealigned position, the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j) now has a maxima value of 135 at pixel row 70. Although this new dgs(j)2 maxima value is higher than the first maxima value of 90 obtained during the first pass, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this maxima value is an optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a third pass therethrough . Referring now to FIGS. 5A and 5B, there is shown in FIG. 5A a view of an image 10 which has now been electronically rotated in block 26 of FIG. 2 by an exemplary angle ø=0° from its prealigned position found in block 22 of FIG. 2, and stored in the processor in block 24 of FIG. 2. FIG. 5B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 5A. FIGS. 5A and 5B are used by the processor for a third pass through blocks 26, 28, 30, 32, and 34. After rotating the image, and having made the calculations for g(j), gs(j) and dgs(j)2 in blocks 28 and 30 for the image at ø=0° from its prealigned position, the method finds, in block 32 of FIG. 2, that the" curve 54 of dgs(j)2 now has a maxima value of 179 at pixel row 70. Although this new dgs(j)2 maxima value is higher than the first maxima value of 135 obtained during the second pass through blocks 26, 28, 30, 32, and 34, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this maxima value is an ultimate optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a fourth pass therethrough.
Referring now to FIGS. 6A and 6B, there is shown in FIG. 6A a view of an image 10 which has now been rotated in block 26 of FIG. 2 by an exemplary angle ø=+2° from its prealigned position found in block 22 of FIG. 2, and stored in the processor in block 24 of FIG. 2. FIG. 6B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 6A. FIGS. 6A and 6B are used by the processor for a fourth pass through blocks 26, 28, 30, 32, and 34. After rotating the image, and having made the calculations for g(j), gs(j) and dgs(j)2 in blocks 28 and 30 for the image at ø=+2° from its prealigned position, the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j)2 now has a maximum value of 198 at pixel row 70. Although this new dgs(j)2 maxima value is higher than the prior maxima value of 179 obtained during the third pass through blocks 26, 28, 30, 32, and 34, the processor cannot absolutely make a determination in block 34 of FIG. 2 whether or not this value is an optimum value. Therefore, the program again returns to block 26 of FIG. 2 via block 36 for a fifth pass therethrough.
Referring now to FIGS. 7A and 7B, there is shown in FIG. 7A a view of an image 10 which has now been rotated in block 26 of FIG. 2 by an exemplary angle ø=+3° from its prealigned position found in block 22 of FIG. 2, and stored in the processor in block 24 of FIG. 2. FIG. 7B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and 30 of FIG. 2 for the rotated image of FIG. 7A. FIGS. 7A and 7B are used by the processor for a fifth pass through blocks 26, 28, 30, 32, and 34. After rotating the image, and having made the calculations for g(j), gs(j) and dgs(j)2 in blocks 28 and 30 for the image at ø=+3° from its prealigned position, the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j)2 now has a maxima value of 198 at pixel row 70. This new dgs(j)2 maxima value is the same as the prior maxima value of 198 obtained during the fourth pass through blocks 26, 28, 30, 32, and 34, block 34 of FIG. 2, which strongly permits block 34 to make a determination that an optimum value has been reached with one of angles of ø=+2° (FIG. 6A) or ø=+3° (FIG. 7A) from the prealigned position of the image Pi , j . Theoretically, the make absolutely sure that this is an optimum value for dgs(j)2, the process can make a sixth pass through the program via block 36 of FIG. 2.
Referring now to FIGS. 8A and 8B, there is shown in FIG. 8A a view of an image 10 which has now been rotated in block
26 of FIG. 2 by an exemplary angle ø=+4° from its prealigned position found in block 22 of FIG. 2, and stored in the processor in block 24 "'"of FIG. 2". ' FIG. 8B graphically shows curves 50, 52, and 54 of g(j), gs(j), and dgs(j)2, respectively, as determined by the processor in blocks 28 and
30 of FIG. 2 for the rotated image of FIG. 8A. FIGS. 8A and 8B are used by the processor for a fifth pass through blocks 26, 28, 30, 32, and 34. After rotating the image, and having made the calculations for g(j), gs(j) and dgs(j)2 in blocks 28 and 30 for the image at ø=+4° from its prealigned position, the method finds, in block 32 of FIG. 2, that the curve 54 of dgs(j)2 now has a maxima value of 186 at pixel row 70. This new dgs(j)2 maxima value is lower than the prior maxima values of 198 obtained during the fourth and fifth passes through blocks 26, 28, 30, 32, and 34, block 34 of FIG. 2, which absolutely indicates that the optimum value has been reached with one of angles of ø=+2° (FIG. 6A) or ø=+3° (FIG. 7A) from the prealigned position of the image Pi,j. This optimum dgs(j)2 maxima value of 198 indicates that the image has been rotated sufficiently to where an interface area 11 is now substantially parallel to the pixel columns of the image. To better determine which of FIGS. 6A or 7A is a more correct optimum value, the program in block 34 of FIG. 2 can look at an adjacent maximum value which is actually an extension of the first derivative curve of the maxima value curve. More particularly, if the first derivative dgs(j) had been used to draw the 'curves 54 of FIGS. 3B, 4B, 5B, 6B, 7B, and 8B instead of dgs(j)2, the portion of the curve 54 in, for example, FIG. 6B between pixel columns 80-110 would become corresponding negative values instead of positive values. Similarly, in FIG. 6B, the values for first derivative dgs(j) between pixel columns 110 and 190 would oscillate around 0 gray scale intensity, the second maxima between pixel columns 190 and 210 would be as shown, and the dgs(j) values above pixel column 210 would be negative values. In FIG. 6B a maxima value of 77 (found at pixel column 95) for dgs(j)2 is found adjacent to the maxima value of 198, whereas in FIG. 7B a maxima value of 67 (found at pixel column 95) for dgs(j)2 is found adjacent to the maxima value of 198. It should also be noted that the slope of the curves approaching the maxima value found adjacent to the maxima values of 198 are greater in FIG. 6B than it is in FIG. 7B . Therefore, the interface area 11 is most parallel to the pixel columns of the image Pi,j 10 when the image was rotated at an angle ø=+2° from its prealigned position as shown in FIGS. 6A and 6B . The processor can now determine the distance across the interface area 11 using the expression (6) hereinabove of block 38 of FIG. 2. More particularly, the processor determines from FIG. 6B that one edge of the interface 11 is found at pixel column 79 where the first maxima is found, and an opposite edge of the interface 11 is found at pixel column 200 where the second maxima is found and makes the calculation with expression (6) .
A plot of a relative amount of the left and the right maxima, as well as a relative .of measured distance as a function of rotation (ø) can be made. It is found that the position of the maxima may slightly differ for the left and right maxima. In such cases an average should be chosen. However, the corresponding variation of the measured distance is found "to be" only μ2% which is~equivalent to approximately two pixels.
From the resultant graphs of FIGS. 3B, 4B, 5B, 6B, 7B, and 8B, properties such as surface roughness and mean thickness variations can also be easily derived. The advantages of the present method is that the method is automatically implemented and provides repeatable and reliable measurements of the distance of parallel features that differ in their texture and little in their mean gray scale value. The present method also allows for characteristics such as interface roughness of an image to be determined from mean gray values and differentiated mean gray values obtained by the method. Still further, the present method advantageously does not involve operator intervention or decision making once the process is started, thereby achieving better repeatability and reliability.
It is to be appreciated and understood that the specific embodiments of the present invention described hereinabove are merely illustrative of the general principles of the invention. Various modifications may be made by those skilled in the art which are consistent with the principles set forth. There are several suitable techniques for determining interfaces of an image other that using the value of dgs(j)2 as described hereinbefore to determine a maxima thereof across the image 10. For example, interfaces in an image 10 can also be identified using the first derivative dgs(j) values obtained from the smoothed gray scale value gs(j) in blocks 30 and 32 of FIG. 2. In a curve of the first derivative values dgs(j) (which is similar to the squared first derivative dgs(j)2 curve 54 shown in, for example, FIG. 5B, but includes negative values) , a first edge of an interface in the image is indicated at approximately column 80 of the resultant first derivative curve 54 where the first derivative value equals a zero value indicating a point of a maximum slope. This is also less prominently indicated by where the smoothed gray scale values gs(j) show a rise to a maximum value. The second edge of the parallel feature is indicated at approximately column 195 where a second maximum value of the first derivative is found. This value is not as easily determinable from the smoothed gray scale values gs(j) since there is only a slight discernable rise at this point but is made clearer by the first derivative. Any of the above described methods, or other similar but more involved suitable methods, for determining interfaces in an image will provide repeatable results without operator intervention in accordance with the principles of the present invention.

Claims

What is Claimed is:
1. A method of determining measurements and characterizations of parallel features of a prealigned image comprising a separate gray scale value for each pixel in an array of pixels which are stored in a memory of a processor comprising the steps of:
(a) electronically rotating the image to a first predetermined angle from its original prealigned position;
(b) determining a separate mean gray scale value by the processor for each line of pixels in a predetermined direction in the array of pixels of the rotated image;
(c) enhancing indications of changes in the mean gray scale value between the lines of pixels in a predetermined direction determined in step (c) ;
(d) determining from the enhanced indicated changes obtained in step (c) one of a group consisting of a maxima value, and a maximum slope in the enhanced indicated changes;
(e) determining if the maxima or minimum slope value obtained in step (d) is an optimum value;
(f) repeating steps (b) through (e) for the image which is rotated to a different predetermined angle from its original prealigned position until an optimum maxima or maximum slope value is obtained whenever a maxima or maximum slope value is not an optimum value in step (e) ; and
(g) determining a distance between opposing substantially parallel edges of a feature of the rotated image based on separate first and second maxima or maximum slope values across the image.
2. The method of claim 1 wherein in performing step (a) , an image is rotated by transforming each pixel of the array of pixels in accordance with the expression of :
P' [icos (ø) -j sin (ø) ] [isin (ø) +j cos (ø) ] = Pi,j, where P is a image pixel to be rotated, "i" is a row number coordinate of the pixel P, "j" is a column number coordinate for the pixel P, "ø" is the angle of rotation with respect to the original prealigned image, and P'i,j is a new pixel coordinate in the array of pixels for the rotated pixel.
3. The method of claim 1 wherein in performing step (b) the predetermined direction is along each column of pixels in the array of pixels of the rotated image.
4. The method of claim 3 wherein in step (b) the mean gray scale value for each column of pixels is determined from the expression:
1max g(j) = l/imax δ Pi,j, i=l where "j" is a pixel column number, and "i" represents the pixel number in that column up to a last pixel imaχ °f the image Pi, j .
5. The method of claim 1 wherein in performing step (c) deriving a first derivative of each of the mean gray scale values obtained in step (b) .
6. The method of claim 1 wherein in performing step (c) performing the substeps of :
(cl) smoothing the mean gray scale value obtained in step (b) for each separate line of pixels in the first direction by a predetermined smoothing factor; and (c2) deriving a first derivative of each of the smoothed mean gray scale values obtained in step (cl) .
7. The method of claim 6 wherein in performing step (d) , performing the substeps of:
(dl) squaring the first derivative of each of the smoothed mean gray scale values obtained in step (cl) ; and
(d2) determining a maxima value from the squared first derivative values obtained in step (dl) .
8. The method of claim 6 wherein in performing step (d) , determining a maxima slope from first derivative values of the smoothed mean gray scale values obtained in step (cl) .
9. The method of claim 1 wherein in performing step (g) the distance between opposing edges of a substantially parallel feature of the rotated image is determined from the expression: distance = (length/pixel) (jmaX2 - Jmaxl) > where "length" is the total width of the image, "pixel" is the number of pixels along each row across the total width of the image 10, jmaxl ^s the column number having a first maxima value, and jmax2 is the higher column number having a second maxima value, and "distance" is the distance across the substantially parallel feature in angstroms.
10. A method of determining measurements and characterizations of parallel features of a prealigned image comprising the steps of:
(a) transforming pixels of an array or pixels of the prealigned image into corresponding gray scale values for storage in a memory of a processor; (b) electronically rotating the image to a first predetermined angle from its original prealigned position;
(c) determining a separate mean gray scale value along each line of pixels in a predetermined direction in the array of pixels of the rotated image;
(d) determining a differentiated value for each mean gray scale value determined in step (c) ;
(e) determining a maxima of the differential values obtained in step (d) and storing such maxima value in the memory;
(e) determining from the differential values obtained in step (d) one of a group consisting of a maxima and a maximum slope value, and storing such maxima or maximum slope "value in the memory;
(f) determining if the maxima or maximum slope value of step (e) is an optimum value;
(g) repeating steps (b) through (f) for the image which is rotated to a different predetermined angle from its original prealigned position until an optimum maxima or maximum slope value is obtained whenever the maxima or maximum slope value is not determined to be an optimum value in step (f ) ; and
(h) determining a distance between substantially parallel features of the rotated image.
11 The method of claim 10 wherein in performing step (a) , an image is rotated by transforming each pixel of the array of pixels in accordance with the expression of:
P' [icos (ø) -jsin(ø) ] [isin (ø) +jcos (ø) ] = Pi,j, where P is a image pixel to be rotated, "i" is a row number coordinate of the pixel P, "j" is a column number coordinate for the pixel P, "ø" is the angle of rotation with respect to the original prealigned image, and P'i,j is a new pixel coordinate in the array of pixels for the rotated pixel.
12. The method of claim 10 wherein in performing step
(c) the predetermined direction is along each column of pixels in the array of pixels of the rotated image.
13. The method of claim 10 wherein in performing step (c) , the mean gray scale value for each column of pixels if determined from the expression:
1max g(j) = l/imax δ Pi,j, i=l where "j" is a pixel column number, and "i" represents the pixel number in that column up to a last pixel imax of the image Pi, j .
14. The method of claim 10 wherein in performing step
(d) performing the substeps of:
(dl) smoothing the mean gray scale value obtained in step (c) for each separate line of pixels in the first direction by a predetermined smoothing factor; and
(d2) differentiating each of the smoothed mean gray scale values obtained in step (dl) .
15. The method of claim 14 wherein in performing step (d) , performing the substeps of:
(dl) squaring the first derivative of each of the smoothed mean gray scale values obtained in step (cl) ; and (d2) determining a maxima value from the squared first derivative values obtained in step (dl) .
16. The method of claim 14 wherein in performing step (d) , determining a maximum slope from first derivative values of the smoothed mean gray scale values obtained in step (cl) .
17. The method of claim 10 wherein in performing step (h) the distance between opposing edges of a substantially parallel feature of the rotated image is determined from the expression: distance = (length/pixel) . (jmaX2 - Jmaxl) / where "length" is the total width of the image, "pixel" is the number of pixels along each row across the total width of the image 10, jmaxl ^s the column number having a first maxima value, and j aX2 is the higher column number having a second maxima value, and "distance" is the distance across the substantially parallel feature in angstroms.
PCT/US2001/026649 2000-09-15 2001-08-27 Method for measuring and characterizing parallel features in images WO2002023173A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66330000A 2000-09-15 2000-09-15
US09/663,300 2000-09-15

Publications (2)

Publication Number Publication Date
WO2002023173A2 true WO2002023173A2 (en) 2002-03-21
WO2002023173A3 WO2002023173A3 (en) 2003-03-20

Family

ID=24661241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/026649 WO2002023173A2 (en) 2000-09-15 2001-08-27 Method for measuring and characterizing parallel features in images

Country Status (1)

Country Link
WO (1) WO2002023173A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096917A (en) * 2010-12-22 2011-06-15 南方医科大学 Automatic eliminating method for redundant image data of capsule endoscope
CN104408720A (en) * 2014-11-25 2015-03-11 深圳市哈工大交通电子技术有限公司 Image processing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0312083A2 (en) * 1987-10-14 1989-04-19 Kabushiki Kaisha Toshiba Pattern measurement method
WO1992011609A1 (en) * 1990-12-19 1992-07-09 Optical Specialities, Inc. Method and apparatus for automated measurement of location and separation of linear edges
US5872862A (en) * 1991-10-04 1999-02-16 Fujitsu Limited Electron beam tester

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0312083A2 (en) * 1987-10-14 1989-04-19 Kabushiki Kaisha Toshiba Pattern measurement method
WO1992011609A1 (en) * 1990-12-19 1992-07-09 Optical Specialities, Inc. Method and apparatus for automated measurement of location and separation of linear edges
US5872862A (en) * 1991-10-04 1999-02-16 Fujitsu Limited Electron beam tester

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EBERLY D ET AL: "ON GRAY SCALE IMAGE MEASUREMENTS. ÖI. ARC LENGTH AND AREA" CVGIP GRAPHICAL MODELS AND IMAGE PROCESSING, ACADEMIC PRESS, DULUTH, MA, US, vol. 53, no. 6, 1 November 1991 (1991-11-01), pages 538-549, XP000234054 ISSN: 1077-3169 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096917A (en) * 2010-12-22 2011-06-15 南方医科大学 Automatic eliminating method for redundant image data of capsule endoscope
CN104408720A (en) * 2014-11-25 2015-03-11 深圳市哈工大交通电子技术有限公司 Image processing method and device

Also Published As

Publication number Publication date
WO2002023173A3 (en) 2003-03-20

Similar Documents

Publication Publication Date Title
US7239735B2 (en) Pattern inspection method and pattern inspection device
US6005978A (en) Robust search for image features across image sequences exhibiting non-uniform changes in brightness
JP4262592B2 (en) Pattern measurement method
CN109801333B (en) Volume measurement method, device and system and computing equipment
EP2264671B1 (en) Image processing apparatus and method, medium storing program for image processing, and inspection apparatus
WO2013061976A1 (en) Shape inspection method and device
US5159643A (en) Method and apparatus for measuring pattern dimension
JPH0555802B2 (en)
CN100372089C (en) Pattern evaluating apparatus, pattern evaluating method and program
JP4240066B2 (en) Etching process monitoring method and etching process control method
JP4870016B2 (en) Crack detection method
CN105787870A (en) Graphic image splicing fusion system
CN115272256A (en) Sub-pixel level sensing optical fiber path Gaussian extraction method and system
JP2823450B2 (en) Circuit pattern dimension measurement method
KR102483920B1 (en) Methods for Characterization by CD-SEM Scanning Electron Microscopy
WO2002023173A2 (en) Method for measuring and characterizing parallel features in images
US20040247172A1 (en) Pattern measuring apparatus, pattern measuring method, and manufacturing method of semiconductor device
CN109148433B (en) Method and apparatus for determining dimensions of an integrated circuit device
US6743645B2 (en) Method of inspecting process for manufacturing semiconductor device and method of manufacturing semiconductor device
US6879719B1 (en) Method for measurement of full-two dimensional submicron shapes
CN110514110B (en) Platform leveling control method
CN117115194A (en) Contour extraction method, device, equipment and medium based on electron microscope image
CN116091603A (en) Box workpiece pose measurement method based on point characteristics
EP3582179B1 (en) Image processing apparatus, image processing method, and image processing program
KR20220154345A (en) Contour detection device using gaussian-weighted least squares and contour detection method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP