Method for determining deformation characteristics and related systems
The method improves EBSD techniques by iteratively calculating a displacement gradient tensor to enhance computational efficiency and versatility in determining material deformation characteristics.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- FEI CO
- Filing Date
- 2025-11-04
- Publication Date
- 2026-05-19
AI Technical Summary
Conventional electron backscatter diffraction (EBSD) techniques for determining material deformation have limited computational efficiency and versatility.
A method involving a processor system to determine a characteristic displacement gradient tensor by iteratively calculating an objective function based on pixel values in reference and test images, using an electron-optical assembly and detector to record diffraction patterns, and applying a controller to characterize deformation characteristics.
Enhances the computational efficiency and versatility of deformation analysis by accurately mapping pixel positions between reference and test images, effectively characterizing material deformation.
Smart Images

Figure 2026082751000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates, in general terms, to a method for determining the deformation characteristics of a test image relative to a reference image, and to a related system. [Background technology]
[0002] In the field of charged particle microscopy, electron backscatter diffraction (EBSD) represents a technique for obtaining information about the crystallographic structure of a sample. Specifically, in EBSD, an electron beam is directed at a tilted sample, and the backscattered electrons form a diffraction pattern, which is recorded by a detector. The resulting electron backscatter diffraction pattern (EBSP) can be analyzed to provide information about grain structure, grain orientation, deformation, and other such features. In some cases, material deformation of a sample can be characterized by comparing EBSPs recorded on an undeformed "reference" portion of the sample with those on a deformed "test" portion. However, many conventional techniques for performing such analyses have limited computational efficiency and / or versatility. [Overview of the project]
[0003] In a typical example, a computer implementation method for determining the deformation characteristics of a test image relative to a reference image includes using a processor to determine a characteristic displacement gradient tensor that characterizes the deformation characteristics via an iterative routine. Determining the characteristic displacement gradient tensor includes, in one or more steps of the iterative routine, calculating an objective function value associated with the trial displacement gradient tensor. The objective function value is at least partially based on the pixel values of pixel locations within a consideration zone in the test image and the reference image. The consideration zone is automatically determined at least partially based on the trial displacement gradient tensor.
[0004] In another representative embodiment, a computer implementation for determining the deformation characteristics of a test image relative to a reference image includes, using a processor system, determining one or more rotational transformation components corresponding to the test image, and generating an initial displacement gradient tensor based at least partially on one or more rotational transformation components. The method further includes, using the initial displacement gradient tensor, using a processor system, determining a characteristic displacement gradient tensor that characterizes the deformation characteristics. Determining the characteristic displacement gradient tensor includes, in one or more steps of an iterative routine, calculating a scalar objective function value corresponding to each of one or more trial displacement gradient tensors. One of the one or more trial displacement gradient tensors in the first step of the iterative routine is the initial displacement gradient tensor.
[0005] In another representative embodiment, the system includes an electron-optical assembly configured to direct an electron beam to a selected location on a sample, a detector assembly configured to record a diffraction pattern associated with the interaction between the electron beam and the sample, and a controller. The controller is programmed to receive a reference image from the detector assembly when the electron beam is directed to a reference location on the sample, and to receive a test image from the detector assembly when the electron beam is directed to a test location on the sample. The controller is further programmed, via an iterative routine, to determine a characteristic displacement gradient tensor that characterizes the deformation characteristics of the test image relative to the reference image. At each step of the iterative routine, the controller is programmed to calculate an objective function value corresponding to the trial displacement gradient tensor such that the objective function value is based on the pixel values of pixel locations within the respective consideration zones of the test image and the reference image. The consideration zones are automatically determined, in part, based on the trial displacement gradient tensor.
[0006] In another representative embodiment, a non-temporary computer-readable medium stores instructions that, when executed by a computer, cause the computer to perform a method for determining the deformation characteristics of a test image relative to a reference image. This method includes determining a characteristic displacement gradient tensor that characterizes the deformation characteristics via an iterative routine. The instructions include instructions for determining the characteristic displacement gradient tensor by calculating an objective function value corresponding to the trial displacement gradient tensor, such that the objective function value is based on the pixel values of pixel positions within the respective consideration zones of the test image and the reference image. The consideration zones are automatically determined, in part, based on the trial displacement gradient tensor.
[0007] The aforementioned and other purposes, features, and advantages of the disclosed technology will become more apparent from the following detailed description, which will proceed with reference to the attached drawings. [Brief explanation of the drawing]
[0008] [Figure 1] This is a schematic diagram of a system for performing EBSD according to one embodiment. [Figure 2A] This is a reference EBSD image related to one embodiment. [Figure 2B] This is a test EBSD image related to one embodiment. [Figure 3] This is a schematic diagram illustrating a method, according to one embodiment, in which sample strain can lead to EBSP conversion. [Figure 4] This is a modulated EBSD image representing the test EBSD image of Figure 2B, which has pixel positions shifted according to a displacement gradient tensor determined by the image processing method according to one embodiment. [Figure 5A] This image shows the difference between the test image in Figure 2B and the reference image in Figure 2A. [Figure 5B] This image shows the difference between the modulated image in Figure 4 and the reference image in Figure 2A. [Figure 6A] This is the first reference EBSD image according to one embodiment. [Figure 6B] This is a second reference EBSD image relating to one embodiment. [Figure 6C] A differential map according to an embodiment, representing the difference between the first reference EBSD image in FIG. 6A and the second reference EBSD image in FIG. 6B. [Figure 6D] A contour map according to an embodiment, representing the difference between the first reference EBSD image in FIG. 6A and the second reference EBSD image in FIG. 6B. [Figure 7A] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7B] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7C] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7D] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7E] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7F] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7G] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 7H] A diagram according to an embodiment, representing the objective function value when the corresponding characteristic displacement gradient tensor component changes away from the optimized value. [Figure 8] A schematic diagram according to an embodiment of a set of trial rotation vectors that can be tested to generate an initial displacement gradient tensor. [Figure 9] A flowchart according to an embodiment showing a method for determining the deformation characteristics of a test image with respect to a reference image. [Figure 10]A schematic diagram of a computing system that can be used to execute one or more methods of the present disclosure according to an embodiment.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The present disclosure generally relates to methods for determining deformation characteristics associated with EBSPs generated via EBSD analysis. More specifically, the present disclosure relates to various embodiments in which the deformation characteristics are associated with the degree of strain of a crystalline sample under investigation. As will be described in more detail herein, the disclosed methods and systems can determine a characteristic displacement gradient (DG) tensor that characterizes the strain of a sample. In particular, the characteristic DG tensor can be related to and / or determined based on the modulation of an EBSP associated with a deformation region of the sample relative to an EBSP associated with a reference region of the sample. However, it should be understood that both the general principles and the specific embodiments described herein can be implemented with any of a variety of image processing applications. In the present disclosure, an EBSP may alternatively be referred to as an EBSD image.
[0010] Generally, the disclosed methods can include data processing routines that are performed on a reference EBSD image and a test EBSD image. The reference EBSD image is associated with a reference region of the sample, and the test EBSD image is associated with a test region of the sample that has been deformed relative to the reference region. The disclosed methods can attempt to identify a characteristic DG tensor that is most closely associated with the difference between the test EBSD image and the reference EBSD image. In particular, using a given DG tensor that characterizes a corresponding deformation of the sample, the DG tensor can be used to generate a set of pixel position shifts that correspond to the way in which the features of the reference EBSD image move within the plane of the image as a result of the deformation. In this way, the DG tensor can act to map the pixel positions of the test EBSD image to the corresponding pixel positions of the reference EBSD image.
[0011] The fit of a given DG tensor under consideration (e.g., a characteristic DG tensor and / or any intermediate DG tensor used to determine the characteristic DG tensor) is quantified via an objective function. The objective function operates by comparing data at each relevant pixel location in a reference EBSD image with data at the corresponding shifted pixel location in a test EBSD image. As will be described in more detail below, the objective function may be constructed to reference as many data points from the EBSD image as possible while avoiding bias that may be caused by oversampling specific regions of the EBSD image. Additionally or alternatively, the objective function may be defined to sample data points from the EBSD image with respective weights to reflect varying degrees of image fidelity in different regions of the EBSD image.
[0012] Figure 1 shows a charged particle microscope (CPM) system 100 that may be used in conjunction with the method according to this disclosure. Specifically, in the embodiment of Figure 1, the CPM system 100 is a scanning electron microscope (SEM) 100 including an electron-optical assembly 110 configured to direct an electron beam 102 to a selected location on a sample 120. The electron-optical assembly 110 may include and / or represent any suitable set of electron-optical elements such as a focusing lens, objective lens, scanning deflector, and beam limiting aperture. As shown in Figure 1, the electron-optical assembly 110 may include an electron source 112 configured to generate the electron beam 102.
[0013] As shown in Figure 1, the sample 120 may be supported by a sample holder 130 such that the sample 120 is tilted with respect to the optical axis 104, and the electron beam 102 moves along the optical axis by a tilt angle 132. In some embodiments, the tilt angle is about 30 degrees. Tilting the sample 120 in this way can help increase the interaction volume for electron scattering within the sample 120. However, this is not required in all embodiments, and in addition, the sample 120 does not have to be tilted with respect to the optical axis 104, which is within the scope of this disclosure.
[0014] The scattering of the incident electron beam 102 by the crystal structure of sample 120 causes backscattered electrons 106 to be separated from sample 120 along several scattering angles. These scattering angles represent the interaction between the electrons and the crystal structure of sample 120. The backscattered electrons can then be collected by a detector 140 that records an EBSD image, the structure of which represents the scattering angles of the backscattered electrons 106. Therefore, analysis of the recorded EBSD image can reveal information about the crystallographic structure of sample 120.
[0015] As shown in Figure 1, the SEM 100 may include a controller 150 configured and / or programmed to control various aspects of the SEM 100. For example, the controller 150 may be configured and / or programmed to control the electron-optical assembly 110 and / or the sample holder 130 to move the position in which the electron beam 102 explores the sample 120. The SEM 100 may further include a user interface 160. For example, the user interface 160 may include a user input device 162 for receiving user input from the user and / or a display device 164 for displaying information to the user.
[0016] The controller 150 can be programmed to perform at least a portion of any of the methods disclosed herein. For example, the controller 150 may include a processor system having one or more processors configured and / or programmed to perform any of the steps, calculations, decisions, etc., described herein. Such computer-based implementations may be required by the complexity and / or variety of the calculations described herein. For example, as described herein, the methods of the disclosure may include various image processing routines, iteratively executed minimization algorithms, and high-dimensional tensor operations that are impractical and / or impossible for humans to perform within a practical timescale.
[0017] Figures 2A and 2B show examples of EBSD images that can be generated by an SEM system such as SEM100 in Figure 1 when performing EBSD as described above. In particular, Figure 2A is an example of a reference EBSD image 210 recorded when the electron beam of the SEM system is directed to a reference position on the sample. Figure 2B is an example of a test EBSD image 220 recorded when the electron beam of the SEM system is directed to a test position on the sample that has been structurally modified relative to the reference position. In a more specific embodiment, the reference position may correspond to a position in the sample's crystal structure that is not subjected to applied stress at least substantially, and the test position may correspond to a position in the crystal structure that exhibits mechanical strain as a result of applied stress.
[0018] As shown in Figures 2A-2B, the reference EBSD image 210 and the test EBSD image 220 can be characterized as sets of pixels, each located at a corresponding pixel position (e.g., row and column coordinates) and associated with a corresponding pixel value (visualized here as a grayscale value). When visualized in the manner of Figures 2A-2B, these pixel values can result in a band-like structure known as the Kikuchi line 204. The configuration of the Kikuchi line 204 and / or its intersecting vertices 206 can be analyzed to provide information regarding the crystal structure of the sample.
[0019] Structural differences between the sample's reference position and its test position are reflected in the respective EBSD images shown in Figures 2A and 2B. In each of Figures 2A and 2B, the reference marker labeled 202 indicates the same pixel position (e.g., the same set of row and column coordinates) within each image. This visual aid reveals that Kikuchi line 204 in Figure 2B is shifted relative to its configuration in Figure 2A.
[0020] The way in which features of the test EBSD image 220 are shifted relative to the features of the reference EBSD image 210 can be represented and / or determined via a DG tensor characterizing the deformation of the sample at the test location. Figure 3 illustrates how the deformation of the sample can generate a shift in the pixel position of a given feature of the EBSP. Specifically, Figure 3 shows the shift in the pixel position of backscattered electrons 304 in the image plane 306.
[0021]
number
[0022]
number
[0023]
number
[0024]
number
[0025] Continuous deformation is a spatial point
[0026]
number
[0027]
number
[0028]
number
[0029]
number
[0030]
number
[0031]
number
[0032] Pixel shift vector
[0033]
number
[0034]
number
[0035]
number
[0036]
number
[0037]
number
[0038]
number
[0039]
number
[0040]
number
[0041] Regarding hydrostatic deformation, the DG tensor D is a multiple of the identity matrix, and there is no shift in the EBSD image. That is,
[0042]
number
[0043]
number
[0044]
number
[0045]
number
[0046] In this way, a given DG tensor can be used to generate a set of pixel shifts for mapping pixel locations in a reference EBSD image to corresponding shifted pixel locations in a test EBSD image (and / or vice versa), i.e., the pixel locations in the test EBSD image whose pixel values represent the same features as those in the reference EBSD image.
[0047] Figure 4 shows a modulated EBSD image 400 representing the test EBSD image 220 of Figure 2B, where the pixel values are instead represented by pixel positions shifted according to the characteristic DG tensor. Similar to Figures 2A and 2B, Figure 4 shows a reference marker 402 indicating the same pixel position as the reference marker 202 in Figures 2A and 2B. As can be seen by comparing the image features at the positions of reference marker 202 in Figures 2A and 2B and 402 in Figure 4, the image modulation shown in Figure 4 is a good representation of the reference EBSD image 210 in Figure 2A.
[0048] Therefore, by comparing a test EBSD image with a reference EBSD image, a characteristic DG tensor corresponding to the difference between these images can be determined, and this can then be used to characterize the structural deformation of the sample. More specifically, for a given candidate DG tensor, an objective function value can be calculated that represents the extent to which the candidate DG tensor corresponds to the modulation of the test EBSD image relative to the test EBSD image. Thus, using the objective function, a characteristic DG tensor can be identified from and / or using a plurality of such candidate DG tensors. This disclosure relates to a method for determining such a characteristic DG tensor for a given reference EBSD image and a given test EBSD image.
[0049] In the following description, a reference EBSD image may also be referred to as a reference image, and / or a test EBSD image may also be referred to as a test image. While this disclosure generally relates to embodiments where the images represent EBSD images, this is not essential, and it is within the scope of this disclosure that the methods disclosed herein may be applicable to any of a variety of input images.
[0050] In addition, references to images in this specification (e.g., test / reference EBSD images and / or test / reference images) generally refer to any suitable structure that associates pixel values with pixel locations, as described herein. However, it should be understood that such descriptions do not require such images to be rendered and / or displayed in figures. Such images may correspond to mathematical structures, structures stored in computer memory, structures manipulated by a computer processor, etc. When used herein, references to evaluating, examining, characterizing, comparing, and / or using a given image in any other way may be understood to refer to performing the described operations on the pixel values and / or pixel locations representing a given image.
[0051] As used herein, the term “image” may be used collectively to refer to reference EBSD images, test EBSD images, and / or any other applicable patterns and / or their image representations.
[0052] Reference EBSD images, test EBSD images, and / or any other images described herein may be acquired and / or provided by any of the following means. For example, one or more images may be provided by a user to a controller (e.g., controller 150 in Figure 1) performing any of the methods described herein, such as via a user interface (e.g., user interface 160 in Figure 1). Additionally or alternatively, one or more images may be automatically provided to and / or received by the controller. For example, the controller may be configured to automatically receive one or more images from an associated system that generates images, such as detector 140 in Figure 1.
[0053] In various embodiments, the reference EBSD image, the test EBSD image, and / or any other image described herein may be preprocessed, for example, by a controller performing any of the methods described herein, and / or before the image is provided to the controller. For example, Gaussian blur can be applied to the image to suppress noise in the image. In some examples, the degree of blur may be specified by the user. Additionally or alternatively, the degree of blur may be determined at least partially automatically, such as through an analysis of noise present in the image. In another example, the image may be downscaled to suppress noise in the image.
[0054] In some embodiments, image preprocessing may additionally or alternatively include applying masks to the image, for example, to remove and / or exclude data known not to represent meaningful information. Such masking may be performed in any suitable manner, for example, by assigning a predetermined value to the pixel value of the pixel to be masked, by completely removing such pixel from the image, or by labeling such pixel as masked. In embodiments, pixels to be masked in such a step may include pixels representing invalid content (e.g., hardware corruption, detector contamination, etc.) and / or locations outside the detector's coverage range.
[0055] In a more specific embodiment, such masking may correspond to one or more "blind spots" in an SEM detector where a signal is not expected to be received due to occlusion by other elements of the SEM system. In another embodiment, the image may represent a composite of images collected from several spaced detectors, where the entire image is effectively blank in areas corresponding to the areas between detectors. Such blank areas can therefore be masked to exclude them from consideration in the analysis of the image.
[0056] In some embodiments, pixel masking may involve masking pixels affected by one or more other preprocessing steps. For example, if blurring is applied during preprocessing, potentially invalid information may "leak" from the masked pixels to adjacent pixels. Therefore, it may be desirable to extend the pixel mask to cover such adjacent pixels as well. Quantitatively, this would involve (1.5σ) around the masked area. blur +1) This corresponds to expanding by the pixel margin, where σ blur This quantifies the degree of Gaussian blur.
[0057] Additional or alternative preprocessing may include generating images (e.g., reference EBSD images and / or test EBSD images) based on multiple input recording images. For example, a reference EBSD image may be recorded from a sample position within a region where distortion and / or deformation is not expected to exist. Thus, by performing EBSD at multiple sample positions within such a region, multiple base images can be generated, which can be assumed to differ only in the form of random noise. Such base images can then be averaged to generate a reference EBSD image with a reduced noise level for each of the base images. Specifically, the pixel value at each pixel position in the reference EBSD image may be calculated as the average of the pixel values in the base images at the same pixel position.
[0058] The fit of any given DG tensor can be quantified by comparing a reference image with a modulated image representing the pixel shifts corresponding to the given DG tensor. For example, each pixel position in the reference image
[0059]
number
[0060]
number
[0061]
number
[0062]
number
[0063]
number
[0064]
number
[0065] As an example of comparing a test image to a reference image without applying pixel shift, Figure 5A shows a map 510 that displays the pixel difference values corresponding to each pixel position in the reference EBSD image 210 of Figure 2A, compared to the corresponding pixel position in the test EBSD image 220 of Figure 2B. In other words, the pixel value for each pixel position in map 510 is calculated as the difference between the pixel values of the same pixel position in the reference EBSD image 210 of Figure 2A and the test EBSD image 220 of Figure 2B. Since Figure 2B corresponds to a test EBSD image without applying pixel shift to the pixel positions, Figure 2B can be described as representing an example where the DG tensor D is null (i.e., all components are equal to zero). As shown in Figure 5A, by comparing the same pixel positions between the reference EBSD image and the test EBSD image, a substantially non-zero pixel difference is obtained across the image region.
[0066] In contrast, Figure 5B shows a map 520 that compares the pixel difference values corresponding to each pixel position in the reference EBSD image 210 of Figure 2A with the corresponding shifted pixel positions in the test EBSD image 220 of Figure 2B, which has been shifted according to the characteristic DG tensor. Map 520 in Figure 5B can be equivalently described as representing the difference between pixel values at the same pixel positions in the reference EBSD image 210 of Figure 2A and the modulated EBSD image 400 of Figure 4.
[0067] Comparing Figure 5A and Figure 5B, it can be seen that the effect of applying pixel shifts according to the characteristic DG tensor is to significantly reduce the average pixel difference across sets of overlapping pixel positions. This average difference can be quantified by any of the following methods. In particular, the objective function OF can be defined as follows:
[0068]
number
[0069]
number
[0070]
number
[0071]
number
[0072]
number
[0073] Referring to the embodiments in Figures 5A and 5B, the fit of the DG tensor that generates the pixel shifts reflected in Figure 5B may be reflected in the objective function value corresponding to Figure 5B, which is significantly smaller than the objective function value corresponding to Figure 5A. Therefore, the task of identifying the DG tensor that best characterizes the set of pixel shifts that map the test image onto the reference image may be equivalent to the task of minimizing the objective function, as will be described in more detail herein.
[0074] Referring to Equation 11, ZOC, Ω, are generally the difference
[0075]
number
[0076]
number
[0077]
number
[0078]
number
[0079]
number
[0080]
number
[0081] In this disclosure, the Zone of Control (ZOC) may be described as representing a region of the reference image (e.g., a set of pixel positions) and / or a region of the test image (e.g., a shifted set of pixel positions). Since the extent of the ZOC depends on the degree of overlap between the reference image and the (shifted) test image, the portion of the reference image included in the ZOC depends on the test image, and vice versa. In general, the ZOC represents a set of pixel positions that can be equivalently represented as a region of the reference image and / or a region of the test image. For non-trivial DG tensors, the regions of the reference image and the test image, respectively, may not be identical to each other, even though they represent the same ZOC.
[0082] Generally, shifted pixel position
[0083]
number
[0084]
number
[0085]
number
[0086] In some embodiments, the Zone of Control (ZOC) may be constructed to exclude various pixel locations from consideration, such as pixel locations whose pixel values are masked, undefined, and / or otherwise considered irrelevant. For example, as described above, before computing the objective function, parts of the reference image and / or test image may be masked in such a way that various pixel locations that should be ignored are removed or excluded from consideration. Such masking may be performed as part of a preprocessing routine as described above, and / or during the construction of the ZOC corresponding to a given DG tensor.
[0087] In various embodiments, the weighting coefficients of Equation 11
[0088]
number
[0089]
number
[0090]
number
[0091]
number
[0092] weighting coefficient
[0093]
number
[0094] Additionally, referring to Equation 11, the value of the objective function is effectively normalized with respect to the number of pixel positions considered in the calculation of the objective function by dividing the sum of the weighted squared differences (numerator of Equation 11) by the sum of the squared weighting coefficients (denominator of Equation 11). Thus, objective function values calculated with respect to each ZOC containing a different number of pixel positions can be directly compared with one another, thus further enabling the maximum use of data corresponding to any given ZOC. As a result, the absolute value of the objective function is meaningful in the sense that objective function values calculated with respect to different ZOCs (e.g., those containing different numbers of pixel positions) can be directly compared with one another.
[0095] For example, the objective function values can be calculated for two DG tensors corresponding to ZOCs that encompass different numbers of pixel positions. As a result of normalizing the objective function values, the objective function values corresponding to the two DG tensors can be directly compared to determine which DG tensor better represents the deformation of the sample.
[0096] The noise characteristics of the reference image and / or test image can be evaluated by any suitable method. For example, performing EBSD on a sample as described above may include recording multiple sample reference images at each of multiple corresponding sample reference positions of the sample that are sufficiently close to each other that any variation between sample reference images is mainly and / or exclusively due to random noise. Thus, comparing such sample reference images, for example, at the individual pixel level or with reference to localized groups of pixels, can yield a quantitative representation of the level of noise as a function of pixel positions in the reference image. In such embodiments, the weighting coefficient w may be constructed such that relatively small weighting coefficients are assigned to pixel positions associated with a relatively high degree of noise. Similar techniques may be used additionally or alternatively to evaluate the noise characteristics of the test image, for example, by comparison with multiple sample test images recorded at proximal sample test positions.
[0097] In some examples, the weighting coefficient
[0098]
number
[0099]
number
[0100] As a more specific example, Figure 6A represents a first reference EBSD image 610 recorded at a first sample position, and Figure 6B represents a second reference EBSD image 620 recorded at a second sample position that is nominally identical to the first sample position (e.g., with respect to the degree or absence of sample deformation). Thus, the first reference EBSD image 610 and the second reference EBSD image 620 can be considered at least substantially identical to each other, except for variations caused by random noise.
[0101] Such fluctuations are shown in Figure 6C, which represents a difference map 630 of the difference in pixel values between the first reference EBSD image 610 and the second reference EBSD image 620. Therefore, the pixel values shown in the difference map 630 can be considered to represent the local noise levels associated with the first reference EBSD image 610 and the second reference EBSD image 620, respectively.
[0102] Figure 6D shows a contour diagram 640 corresponding to the difference map 630 in Figure 6C, visualized in three dimensions. Specifically, for each pixel position in the contour diagram 640 (having the corresponding x, y coordinates in Figure 6D), the corresponding characteristic noise level (z coordinate in Figure 6D) represents the standard deviation of an 11x11 pixel subgroup of pixel values in the difference map 630 centered on the pixel position. As shown in Figure 6D, the noise profiles characterizing the first reference EBSD image 610 in Figure 6A and the second reference EBSD image 620 in Figure 6B can be characterized by parabolic functions. Therefore, by fitting the contour diagram 640 to such a functional form, a functional representation of the characteristic noise level associated with each pixel position in the EBSD image can be obtained.
[0103] Referring to Equation 11, the weighting coefficient
[0104]
number
[0105]
number
[0106]
number
[0107]
number
[0108] As described above with reference to Figures 6A to 6D, the noise-induced uncertainty associated with a given pixel position can be related to the measured and / or assumed characteristic noise level associated with the pixel position. In general, given pixel difference
[0109]
number
[0110]
number
[0111]
number
[0112]
number
[0113]
number
[0114]
number
[0115] As described above, the characteristic DG tensor can be described as best characterizing the sample deformation that causes the test image to differ from the reference image. The characteristic DG tensor is quantified, for example, through an objective function, by the pixel values of the reference image.
[0116]
number
[0117]
number
[0118]
number
[0119] Determining the characteristic DG tensor may involve minimizing the objective function in one of several ways, such as using one of the various iterative minimization algorithms known in the art. In one embodiment, the objective function may be minimized by the Nelder-Mead method, also known as the downhill simplex method. In such a method, in the first step of the iterative routine, a simplex is constructed, where each vertex of the simplex represents one of several trial DG tensors, and the objective function value associated with each trial DG tensor is calculated. The simplex can then be iteratively modified in each step of the iterative routine based on the corresponding objective function value, through modifications of one or more vertices (representing modifications of the corresponding trial DG tensors). Through iteration, the simplex can converge to a point corresponding to the minimum objective function value, and can therefore be described as representing the characteristic DG tensor. Embodiments of such minimization methods are described in more detail below.
[0120] Generally, the DG tensor can contain nine components that collectively represent rotational, shear, and normal strains in the sample crystal structure. As mentioned above, EBSD image shifts do not respond to hydrostatic deformation. Therefore, strain analysis may only be relevant to eight components of the DG tensor. For the purpose of strain analysis, the DG tensor can be parameterized as follows:
[0121]
number
[0122] The eight independent deformation parameters of the DG tensor thus represent the eight components that characterize each vertex of the simplice used in each iteration of the Nelder-Mead method. In other words, a simplice can be described as representing a structure occupying an eight-dimensional vector space, where each vertex is represented as a vector whose components are the eight independent deformation parameters p0,...,p7 of the corresponding DG tensor. Each simplice can be defined by nine such vertices. Thus, each vertex of a simplice can be described as isomorphic to the corresponding DG tensor when the DG tensor is parameterized according to Equation 12. Therefore, in this disclosure, the vertices of the simplices in the Nelder-Mead method can be described as corresponding to and / or being the respective DG tensors (e.g., the trial DG tensor).
[0123] This disclosure relates in general to an embodiment in which eight independent deformation parameters p0, ..., p7 (Equation 12) characterizing the non-zero components of the DG tensor form the components of each corresponding vertex of the simplicial. The optimized deformation parameter values determined via an iterative routine are then given the DG tensor component values D according to Equation 12. ij It can be converted to the following. In other embodiments, the components of each corresponding symmetric vertex are equivalent to eight non-zero DG tensor component values D ij This is possible, and after optimization, it can be converted into independent deformation parameters p0,...,p7.
[0124] In general, performing the Nelder-Mead method with arbitrarily selected initial simplex does not guarantee convergence to a global minimum of the objective function value. Therefore, the set of trial DG tensors representing the initial simplex can be identified and / or computed in a manner that attempts to guarantee convergence to such a global minimum.
[0125] Figures 7A to 7H illustrate the characteristics of the "shape" of the objective function near its minimum value. Each of Figures 7A to 7H corresponds to a deformation parameter p0, ..., p7 of the DG tensor, and each of the four lines shown in Figures 7A to 7H represents a corresponding position on the sample. In particular, each of Figures 7A to 7H corresponds to an example where a characteristic DG tensor with eight corresponding optimized DG tensor components was previously identified for each position on the sample. Each of Figures 7A to 7H shows the effect on the objective function value of varying the corresponding DG tensor component away from the optimized DG tensor component by shifting the deformation parameter, which is shown on the x-axis.
[0126] Referring to Figures 7A to 7H, the dependence of the objective function on the corresponding deformation parameter can be characterized by their respective radii of convergence, 702A to 702H. In particular, each of the radii of convergence, 702A to 702H, can represent the radius of the range of deformation parameter displacements corresponding to the single minimum of the objective function value for the corresponding optimized deformation parameter value. Additionally or alternatively, each of the radii of convergence, 702A to 702H, can represent the radius of the range of deformation parameter displacements that slope toward the minimum value associated with the corresponding optimized deformation parameter.
[0127] To illustrate the various possible precise definitions of the radius of convergence, the labeled radii of convergence 702A–702H in Figures 7A–7H are intended to represent the radius of convergence quantity without requiring or suggesting any specific definition. In any of the above definitions of the radius of convergence, for example, in Figures 7A–7H, it can be seen that the radii of convergence 702A–702H in this embodiment are at least 0.05. Therefore, performing an iterative minimization algorithm to determine the minimum objective function value can be expected to converge to the global minimum objective function value when each deformation parameter corresponding to each initial DG tensor differs by at most 0.05 from the optimized deformation parameter (to be determined).
[0128] In many cases, the initial DG tensor may be chosen such that one or more of the deformation parameters violate the condition that each initial deformation parameter component differs from the corresponding optimized deformation parameter by at most the radius of convergence value (e.g., 0.05). In a wide range of practical applications, this condition can be satisfied with respect to the DG tensor strain parameters p3,...,p7 even with relatively trivial initial DG tensors such as the zero tensor. However, in many practical applications, the DG tensor rotation parameters p0,p1,p2 of the characteristic DG tensor differ from the corresponding parameters of the identity tensor by an amount greater than the radius of convergence. Therefore, to ensure the convergence of the objective function minimization routine outlined above, it may be desirable to first perform a rotation space search to identify appropriate initial tensor rotation parameters whose difference from the corresponding optimized deformation parameter is expected to be less than or equal to the radius of convergence value.
[0129] In a broad sense, rotation space search can include calculating objective function values for each of a discrete set of DG tensor rotation parameters and / or combinations thereof. The set of DG tensor rotation parameters can be described as forming a grid or mesh in an n-dimensional vector space, where n is the number of DG tensor rotation parameters being searched. For example, this disclosure generally relates to embodiments in which a DG tensor includes three DG tensor rotation parameters, where these parameters correspond to three independent components characterizing the rotational deformation in three dimensions. However, it should be understood that more or fewer rotational components may be used and / or searched in a manner similar to that described herein.
[0130] Figure 8 shows an example of a mesh for various combinations of DG tensor rotation parameters. Each combination of DG tensor rotation parameters may be referred to herein as the trial rotation vector 802, which (in the example in Figure 8) is the first rotation dimension
[0131]
number
[0132]
number
[0133]
number
[0134]
number
[0135] For visualization purposes, Figure 8 shows rotational dimensions as mutually orthogonal spatial dimensions.
[0136]
number
[0137] The trial rotation vector 802 in FIG. 8 is represented as a point in the rotation vector space, but it should be understood that these trial rotation vectors 802 can be measured with respect to any suitable origin in the rotation vector space. For example, in the embodiment of FIG. 8, the trial rotation vector labeled 810 can have all corresponding rotation transformation components set to zero and may thus be referred to as the origin vector 810 and / or the null vector 810. In other embodiments, the origin of the rotation vector space (i.e., the point where all rotation transformation components are equal to zero) may not correspond to the trial rotation vector 802 representing the point to be tested.
[0138] The trial rotation vectors 802 can be distributed in the rotation vector space in any of a variety of ways. For example, as shown in FIG. 8, adjacent trial rotation vectors 802 that differ only in the first rotation component r1 can be separated by the first rotation component interval 804. Similarly, adjacent trial rotation vectors 802 that differ only in the second rotation component r2 can be separated by the second rotation component interval 806. Similarly, adjacent trial rotation vectors 802 that differ only in the third rotation component r3 can be separated by the third rotation component interval 808. In some embodiments, the first rotation component interval 804, the second rotation component interval 806, and the third rotation component interval 808 are equal to each other. However, this is not required for all examples.
[0139] In practice, the set of trial rotation vectors 802 to be explored can be generated based at least in part on user input. For example, the user can input a range of rotations expected to be present in the sample, such as can be characterized by a maximum expected rotation amount r max Generally, the expected range of rotation can be different for each rotation component r i Thus, in some embodiments, the user can input different maximum expected rotation amounts r max,i corresponding to each rotation component. Then, the rotation space is such that its rotation transformation components are -r max,i <r i <r max,iThe constraint can be imposed to include only trial rotation vectors 802 that satisfy the condition. Then, the mesh of trial rotation vectors 802 is an arbitrary point in 3D rotation space.
[0140]
number
[0141]
number
[0142] Next, the complete set of trial rotation vectors 802 is every rotation transformation component r i This can be represented as the set of all vectors (r1, r2, r3) that are included in that set.
[0143]
number
[0144] In embodiments where the first rotational component interval 804, the second rotational component interval 806, and the third rotational component interval 808 are not the same, the value δ may similarly differ for each rotational dimension. Therefore, in such embodiments, the set Γ is given by Γ for each rotational dimension as in Equation 14. i (r i ,δ i ) can be defined as:
[0145] The value of δ can be chosen such that at least one trial rotation vector is expected to lie within the convergence region of the objective function value. For example, as described above in the context of Figures 7A to 7H, the radius of convergence of the deformation parameter displacement (e.g., corresponding to the rotational deformation parameter) can define the convergence region of the deformation parameter displacement. It is desirable to identify trial rotation vectors in which each rotational transformation component lies within its corresponding convergence region. Specifically, by using such trial rotation vectors as initial points in the numerical minimization routine, it is possible to ensure that the minimization identifies the global minimum objective function value for each rotational transformation component.
[0146] To ensure that the mesh of the trial rotation vectors contains at least one such vector, the value of δ can be chosen to be smaller than the radius of convergence of the objective function value of the corresponding component. For example, for a rotation transformation component characterized by an objective function value convergence radius of 0.05, the value of δ can be chosen to be 0.03. Thus, the resulting mesh of the trial rotation vectors can be sufficiently dense that at least one trial rotation vector yields an objective function value for each rotation transformation component that is clearly lower than the objective function value of the "tail" outside the convergence radius 702A–702H in Figures 7A–7H.
[0147] After generating a complete set of trial rotation vectors in this manner, a rotation error coefficient can be calculated for each of the trial rotation vectors. The rotation error coefficient can be described as representing the discrepancy between the rotation corresponding to the trial rotation vector and the actual rotation that yields the test image. In one embodiment, each rotation error coefficient may be calculated as an objective function value evaluated with respect to the DG tensor corresponding to each individual trial rotation vector. That is, for each trial rotation vector, the corresponding DG tensor can be generated using deformation parameters that are all set to zero except for those corresponding to the components of the trial rotation vector.
[0148] After calculating the rotation error coefficient associated with each trial rotation vector, one of the trial rotation vectors can be identified as representing the initialization rotation vector. For example, the initialization rotation vector may be identified as the trial rotation vector corresponding to the smallest rotation error coefficient (e.g., the smallest objective function value). The initial DG tensor can then be determined and / or generated as the DG tensor corresponding to the initialization rotation vector. In such embodiments, the initial DG tensor is comprised of tensor components based on the initialization rotation vector, and can therefore be described as representing the rotation corresponding to the initialization rotation vector. This initial DG tensor can then be used to initialize the minimization routine as described above.
[0149] Once the initial DG tensor is identified by following a rotational space search as described above (or by other means), the initial simplex used in the Nelder-Mead minimization routine can be constructed such that one vertex corresponds to the initial DG tensor. The remaining eight vertices of the simplex can be determined by any suitable method, such as through incremental variations of the elements of the initial DG tensor (e.g., deformation parameters).
[0150] In particular, it is sometimes desirable to construct the initial simplex such that adjacent vertices are separated by a distance equal to and / or smaller than the radius of convergence, as described above. Thus, the remaining eight vertices of the initial simplex can correspond to DG tensors that are identical to the initial DG tensor in all but one of their deformation parameters, and all but one of the deformation parameters are incremented relative to the deformation parameters of the initial DG tensor by a deformation parameter increment equal to and / or smaller than the radius of convergence. In a more specific example, the radius of convergence may be approximately 0.05, and the deformation parameter increment may be 0.02. Thus, the resulting initial simplex may be sufficiently "small" in the 8-dimensional vector space so that it is expected to converge to the intended global minimum of the objective function value.
[0151] As described above, in the first iteration step of the Nelder-Mead method, the objective function value can be calculated for each of the nine trial DG tensors representing the vertices of the simplicity. In each subsequent step of the iteration routine, one of the trial DG tensors (e.g., the one associated with the maximum objective function value) can be manipulated through an 8-dimensional vector space according to predetermined rules to yield an updated objective function value. However, in each such step, the objective function value does not need to be recalculated for the trial DG tensors that were not manipulated in that step. Thus, each step of the iteration routine may involve calculating the objective function value only once or a few times (e.g., fewer than the number of trial DG tensors that make up the simplicity). In this way, the Nelder-Mead method can offer computational advantages over alternative minimization methods that require calculating the multidimensional gradient of the objective function in each iteration step.
[0152] Through iteration, the Nelder-Mead method can modify the vertices of a simplice until it indicates that the convergence criterion is met and the smallest (or sufficiently small) objective function value has been identified. Such a convergence criterion can be defined in any of several ways. For example, at the end of each iteration step, the maximum and / or minimum objective function values corresponding to the resulting simplice vertices may be identified. The convergence criterion may be met when the difference between the maximum and minimum objective functions associated with a given simplice falls below a threshold difference, when the difference between the maximum objective function value associated with a given simplice and the maximum objective function value associated with the simplice in the previous step falls below a threshold difference, or when the objective function values associated with all vertices of a given simplice fall below a threshold variance relative to each other. In such embodiments, the “difference” between two values may be calculated as an absolute difference and / or a difference expressed as a percentage of either individual value.
[0153] Once the convergence criteria are met, the characteristic DG tensor can be identified using the final simplice associated with the last iteration step of the Nelder-Mead method. For example, the final simplice may be the simplice associated with the smallest computed objective function value. The characteristic DG tensor can then be determined such that its components are generated from deformation parameters representing the vertices of the final simplice.
[0154] In another embodiment, the "point" in the 8-dimensional vector space corresponding to the true global minimum of the objective function value may reside not in one of its vertices, but within the volume of the final simplex. Therefore, it may be desirable to generate the characteristic DG tensor such that one or more deformation parameters of the characteristic DG tensor are different from (preferably close to) the corresponding elements of the vertices of the final simplex associated with the minimum calculated objective function value.
[0155] In yet another embodiment, the characteristic DG tensor may be generated such that the deformation parameters of the characteristic DG tensor are considered to be components of the final simplicial vertices other than those associated with the smallest computed objective function value.
[0156] In all such embodiments, the characteristic DG tensor can be described as corresponding to the simplicial vertices (and / or associated trial DG tensors) associated with objective function values that satisfy the convergence criterion.
[0157] In some embodiments, after determining the characteristic DG tensor corresponding to a given test EBSD image, this method can be repeated for other test EBSD images from the same and / or similar samples. In such embodiments, some computational efficiency can potentially be gained by reusing one or more elements and / or associated intermediate calculations of the previously determined characteristic DG tensor in determining the subsequent characteristic DG tensor. For example, one might assume that the initial DG tensor identified for the first test EBSD image could be used to initialize the minimization routine for subsequent EBSD images. However, it should be understood that such simplification may introduce bias if the previous result is not suitable for subsequent minimization. Therefore, to ensure the fidelity of the calculated characteristic DG tensor, it may be desirable to repeat all the applicable steps described above for each test EBSD image under consideration.
[0158] This disclosure generally relates to embodiments in which the objective function value is minimized via the Nelder-Mead method, but it should be understood that characteristic DG tensors can be identified using any of a variety of iterative algorithms. For example, characteristic DG tensors corresponding to objective function values minimized (or otherwise sufficiently small) via any suitable iterative minimization algorithm known in the art, such as gradient descent, pseudo-simulated annealing, conjugate gradient, adaptive moment estimation, or genetic algorithms. Additionally or alternatively, characteristic DG tensors can be identified via iterative algorithms that attempt to maximize one or more characteristics associated with the characteristic DG tensor, such as a similarity metric between a reference image and a modulated image corresponding to the characteristic DG tensor.
[0159] Once the characteristic DG tensor is identified, its elements can be processed and / or analyzed to obtain information about the deformation of the sample. For example, the characteristic DG tensor D can be decomposed into a symmetric part ε and an antisymmetric part ω, as follows:
[0160]
number
[0161] For infinitely small deformations, ω can be interpreted as a rotation tensor and ε as a strain tensor. Specifically, the diagonal elements of the strain tensor ε can correspond to normal strain, while the off-diagonal elements can correspond to shear strain.
[0162] For larger deformations, polar decomposition may be applied to the characteristic DG tensor D. I + D = SR, (18) Here, S is a symmetric matrix and R is an orthogonal matrix, thus representing a rotation. For convenience, the rotation tensor may be defined as RI and the stretching tensor as SI. For small deformations, the rotation tensor and stretching tensor are reduced to tensors ω and ε, respectively, in equations 16-17, as defined above.
[0163] The stress that causes deformation from the strain represented by the characteristic DG tensor D can be estimated using Hooke's Law. σ=Cε, (19) Here, σ is a symmetric rank 2 tensor representing stress, and ε is the symmetric part of the characteristic DG tensor, as defined in Equation 16. C refers to a rank 4 tensor that can be simplified due to symmetry. In particular, in one example, Equation 19 can be rewritten as follows:
[0164]
number
[0165] As mentioned above in the context of Equation 12, D 33The components of the DG tensor can be fixed for the purpose of determining the characteristic DG tensor. Since EBSD techniques explore only the surface of the sample, the assumption can be made that no stress is applied perpendicular to the surface of the sample in order to recover these components. Referring to Equation 9, the parameter λ may be determined by imposing conditions.
[0166]
number
[0167]
number
[0168]
number
[0169] The accuracy and / or precision of the distortion components determined by the methods of this disclosure are generally based on a variety of factors. For example, the lower limit of distortion values that can be accurately detected and / or represented according to these methods is strongly influenced by the quality of the reference EBSD image and the test EBSD image (e.g., resolution, noise level, etc.). Statistical studies based on dynamic simulations of EBSD images with a resolution of approximately 500 × 500 pixels have shown that this lower limit is approximately 10 -4 This indicates that...
[0170] The upper limit of the strain values that can be accurately detected and / or represented by the method according to the present disclosure can be based primarily on two factors: (1) the ability to identify an initial DG tensor suitable for the minimization routine, and (2) the presence of sufficient overlap between the reference EBSD image and the modulated test EBSD image (e.g., the number of pixels included in the ZOC). The first factor is at least partially addressed through the rotational space search described above with respect to identifying the initial DG tensor. The effect of the second factor can be characterized in the fact that a decrease in the overlap between the reference EBSD image and the modulated test EBSD image corresponds to a greater degree of uncertainty in the quantities calculated based on this overlap. Statistical studies based on dynamic simulations of EBSD images with a resolution of approximately 500×500 pixels result in competing uncertainties for the rotational components of the DG tensor up to 0.5 and the non-rotational components up to several times 10 -2 to the non-rotational components.
[0171] In various embodiments, the analysis of the test image and the reference image can additionally provide information regarding the quantitative uncertainty in the characteristic DG tensor components and / or strain components determined as described herein. For example, after identifying the characteristic DG tensor as the one that minimizes the objective function value, the behavior of the objective function value when one or more components of the characteristic DG tensor vary with respect to the value that minimizes the objective function can be analyzed. Such an analysis can result in the characterization of the curvature of the objective function in various dimensions corresponding to the varying DG tensor components. These variations can be quantified, for example, in the form of the matrix of the second derivative of the objective function value with respect to the various DG tensor components.
[0172] After thus characterizing the shape of the objective function around the minimum value, the uncertainty in one or more of the DG tensor components can be calculated, for example, by determining a component variation that increases the objective function value by a selected interval (e.g., by 1). Next, the quantitative uncertainty in the characteristic DG tensor components can be converted to the corresponding uncertainty in the corresponding strain tensor components and / or the corresponding stress tensor components through conventional error propagation techniques.
[0173] FIG. 9 is a flowchart showing an embodiment of a method 900 for determining deformation characteristics of a test image relative to a reference image. In various embodiments, method 900 is at least partially performed using a controller such as controller 150 of FIG. 1. Additionally or alternatively, method 900 may be at least partially performed by and / or in conjunction with a SEM system such as SEM 100 of FIG. 1.
[0174] Any of the components, images, mathematical structures, etc. discussed and / or described herein with reference to method 900 can be understood to represent and / or refer to elements of the same name in any of FIGS. 1-8 and / or the foregoing disclosure.
[0175] As shown in FIG. 9, method 900 includes, at 926, determining a characteristic DG tensor that characterizes deformation characteristics via an iterative routine. As one example, the test image may be a test EBSD image and the reference image may be a reference EBSD image. The deformation characteristics may be the strain of the reference sample position that resulted in the reference EBSD image relative to the strain of the test sample position that resulted in the test EBSD image. In such an example, the characteristic DG tensor can include tensor components corresponding to the strain of the sample at the test sample position.
[0176] As described above with reference to Equation 12, the DG tensor can be equivalently characterized via a set of deformation parameters p0,..., p7 or via a set of DG tensor components D ij Thus, determining the characteristic DG tensor at 926 can include and / or refer to determining DG tensor components and / or determining deformation parameters.
[0177] As shown in Figure 9, determining the characteristic DG tensor at 926 may include, in one or more steps of the iterative routine, calculating the objective function value associated with the trial DG tensor at 930. Specifically, calculating the objective function value at 930 may include calculating the objective function value such that it is at least partially based on the pixel values of pixels within the Zone of Control (ZOC) of the test image and / or reference image. In some such embodiments, the ZOC is automatically determined based at least partially on the trial DG tensor, as described herein. In various embodiments, calculating the objective function value at 930 may include calculating the objective function value such that it is a scalar quantity.
[0178] In some embodiments, calculating the objective function value in 930 includes calculating it based on a single ZOC for a reference image or a test image. That is, as described herein, a single ZOC can be described as encompassing a specific set of pixel locations in the reference image and a corresponding set of pixel locations in the test image. Thus, such embodiments can be described in contrast to alternative methods in which the objective function value is calculated based on multiple regions of interest associated with one or both of the images under consideration.
[0179] Additionally or alternatively, calculating the objective function value in 930 may include calculating the objective function (e.g., using Equation 11) so that for each pixel position in the reference image within the ZOC, the objective function calculation refers to the corresponding pixel value exactly once. Such an embodiment can therefore be described in contrast to alternative methods in which the objective function value is calculated based on multiple regions of interest that overlap at least partially. In such alternative methods, pixel positions within such overlapping regions of interest are considered multiple times in a given objective function calculation, thereby potentially introducing bias into the objective function calculation. Therefore, in contrast to such alternative methods, method 900 can be performed so that the objective function value does not become unbalanced based on any given region of the test image or reference image.
[0180] In various embodiments, as shown in Figure 9, method 900 includes determining a Zone of Control (ZOC) at 928 in each step of one or more steps of an iterative routine. Thus, the definition of the ZOC can be repeatedly updated during the execution of method 900 to ensure, for example, that the ZOC at any given step of the iterative routine is specifically adjusted to the available and / or relevant data at that step. For example, determining the ZOC at 928 may include determining that the ZOC represents the most overlapping set of pixel positions between the pixel positions of the reference image and the shifted pixel positions. Thus, determining the ZOC at 928 may be at least partially based on the trial DG tensor used to determine the shifted pixel positions. In a more specific embodiment, such a most overlapping set of pixel positions may include all pixel positions for which a corresponding pixel value is defined and which are not masked by the preprocessing routine. Determining the ZOC at 928 can be performed automatically and / or without user input.
[0181] In some embodiments, determining the ZOC at 928 means determining each pixel position in at least a subset of the pixel positions of the reference image.
[0182]
number
[0183]
number
[0184]
number
[0185]
Number
[0186]
Number
[0187] In various embodiments, calculating the objective function value at 930 includes, at 934, applying respective weight factors to the pixel values included in the calculation of the objective function value. In such embodiments, each weight factor can be at least partially based on the test image and / or the reference image. For example, as described above, each weight factor can be at least partially based on the measured local noise level of the test image and / or the reference image.
[0188] Thus, in some embodiments, method 900 includes, at 932, determining respective weight factors. Determining the weight factors at 932 can include analyzing the test image and / or the reference image, such as by analyzing the position-dependent noise level associated with the test image and / or the reference image. As a more specific example, analyzing the test image can include analyzing a plurality of sample test images to evaluate the noise characteristics of the test image. Similarly, analyzing the reference image can include analyzing a plurality of reference images to evaluate the noise characteristics of the reference image. Examples of such analysis are described above with reference to FIGS. 6A-6D.
[0189] In some embodiments, determining the weight coefficients in 932 involves determining a functional representation of the weight coefficients as a function of pixel positions. For example, as described above with reference to Figure 6D, an analysis of local noise levels in a reference image can be used to generate a set of data that can be fitted to a functional representation (e.g., a parabolic function), which can then be used to generate weight coefficients associated with each pixel position, as described herein.
[0190] In some embodiments, as described above with reference to Equation 11, calculating the objective function value in 930 involves calculating it so that the objective function value is normalized with respect to the number of pixel positions in the ZOC. In particular, in the case of Equation 11, this normalization is performed in the form of a denominator representing the sum of the squares of the weight coefficients associated with each pixel position in the ZOC. Thus, such normalization may allow for a direct comparison of objective function values calculated with respect to separate ZOCs, such as ZOCs that encompass different numbers of pixel positions.
[0191] In some embodiments, as described in more detail above, calculating the objective function value in 930 may include calculating it based on comparing the pixel value at the pixel location of the reference image with the pixel value at the corresponding shifted pixel location of the test image. In particular, in some embodiments, calculating the objective function value in 930 includes determining the shifted pixel location of the test image in 936 for each individual trial DG tensor and for each pixel location having a ZOC in the reference image, at each step of the iterative routine. Determining the shifted pixel location in 936 may be based on the individual trial DG tensor under consideration. Thus, in such embodiments, calculating the objective function value in 930 may include calculating it such that the objective function value represents the weighted average difference between the pixel value at the pixel location of the reference image within the ZOC and the pixel value at the shifted pixel location of the test image.
[0192] As described above, determining the ZOC at 928 can be based at least partially on the shifted pixel positions of the test image. Therefore, in some embodiments, determining the ZOC at 928 involves determining the ZOC for each individual trial DG tensor based on the individual trial DG tensor at each step of the iterative routine.
[0193] As described above, each step of the iterative routine may involve calculating the objective function value in 930 only once or a few times (e.g., fewer times than the number of trial DG tensors forming the simplex). In other words, in at least one step of the iterative routine, the one or more trial DG tensors on which the objective function is calculated may consist of fewer DG tensors than the number of elements in each DG tensor that varies in each step of the iterative routine. Thus, such a method offers computational advantages over alternative minimization methods that require calculating the multidimensional gradient of the objective function in each iterative step. For example, such alternative methods may require calculating the objective function at least as many times as the number of elements in the DG tensor in each step of the iterative process.
[0194] In some embodiments, method 900 may include various steps for preparing a test image and / or reference image for analysis. For example, as shown in Figure 9, method 900 may include applying a mask to the test image and / or reference image in 910, for example, to exclude selected pixel locations from being included in the ZOC. As described above, applying a mask in 910 may include masking the test image and / or reference image to remove and / or exclude data known not to represent meaningful information, such as pixels corresponding to invalid content (e.g., faulty hardware, contamination on the detector, etc.) and / or pixels representing locations outside the detector's coverage range. Applying a mask in 910 may be performed before determining the characteristic DG tensor in 926.
[0195] Applying a mask in 910 can be done in any suitable way, such as by assigning a predetermined value to the pixel values of the pixels to be masked, completely removing such pixels from the image, or labeling such pixels as masked. In some embodiments, applying a mask in 910 includes determining a set of masked pixel locations for each of the test image and the reference image. For example, the masked pixel locations may correspond to the pixel coordinates of pixels known not to represent meaningful information. In some embodiments, such masked pixel locations are the result of systematic factors (e.g., blind spots and / or detector contamination) such that at least some of the masked pixel locations in the test image and the reference image are the same.
[0196] In various embodiments, the set of masked pixel locations in the test image and / or reference image is static during the subsequent determination of the characteristic DG tensor in 926. However, it should be noted that the influence of the masked pixel locations on the ZOC determined by determining the ZOC in 928 may vary as the iterative routine progresses. In particular, in each iteration in which the ZOC is determined in 928, the ZOC may only include pixel locations that correspond to unmasked pixel locations in the reference image and also to unmasked shifted pixel locations in the test image. Since the pixel shift depends on the trial DG tensor under consideration in each iteration, the set of pixel locations that satisfy both of these conditions also varies with the trial DG tensor. Therefore, at least part of the expansion of the ZOC during the iterative determination of the characteristic DG tensor may be attributable to the masked pixel locations.
[0197] Additionally or alternatively, method 900 may include preprocessing the test image and / or reference image in 912. Such preprocessing may be performed before determining the characteristic DG tensor in 926. In a more specific embodiment, the preprocessing in 912 may include applying a Gaussian blur to the test image and / or reference image, and / or downscaling the test image and / or reference image. In another embodiment, the preprocessing in 912 may include generating the test image and / or reference image as an average of a plurality of recorded images, as described herein. In particular, for a plurality of images that are considered identical except for the contribution of random noise, the contribution of random noise can be suppressed by calculating an average image of the plurality of images. In some embodiments, the preprocessing in 912 includes applying a mask in 910.
[0198] In some embodiments, as shown in Figure 9, method 900 includes generating an initial DG tensor in 916 before determining the characteristic DG tensor in 926, which is then used in the iterative routine. In such embodiments, generating the initial DG tensor in 916 may be performed based at least in part on a test image and / or a reference image.
[0199] The initial DG tensor can be used as a trial DG tensor in at least one step of the iterative routine. In a more specific example, determining the characteristic DG tensor in 926 may involve computing the objective function value corresponding to each of one or more trial DG tensors in various steps of the iterative routine, one of which may be the initial DG tensor.
[0200] Additionally or alternatively, method 900 may include determining one or more rotational transformation components corresponding to the test image in 914. In such embodiments, generating an initial DG tensor in 916 may be performed at least in part on determining the rotational transformation components in 914.
[0201] In some embodiments, generating an initial DG tensor at 916 and / or determining the rotational transformation coordinates(s) at 914 includes generating the initial DG tensor so that it corresponds to the approximate rotations that characterize the sample deformation. In a more specific embodiment, as shown in Figure 9, determining the rotational transformation components(s) at 914 and / or generating the initial DG tensor at 916 may include generating a set of trial rotation vectors at 920 and calculating one or more rotation error coefficients associated with each trial rotation vector at 922.
[0202] In some embodiments, generating trial rotation vectors in 920 includes generating them such that each trial rotation vector represents one or more corresponding rotation transformation components. Generating trial rotation vectors in 920 may also include generating them so that they are distributed in the rotation search space in any of the following ways. For example, generating trial rotation vectors in 920 may include generating them so that they are distributed in a three-dimensional vector space having vector spacings that are at least partially based on the expected convergence radius of the objective function value. Additionally or alternatively, generating trial rotation vectors in 920 may include generating them so that they are distributed in a three-dimensional vector space with a maximum vector quantity that is at least partially based on the expected rotation amount associated with the test image. In some such embodiments, method 900 additionally includes receiving the expected convergence radius and / or expected rotation amount from the user in 918.
[0203] Generating the initial DG tensor in 916 may additionally include selecting an initialization rotation vector from a set of trial rotation vectors based on the rotation error coefficient in 924. For example, as described above, selecting the initialization rotation vector in 924 may include selecting the initialization rotation vector such that it is the trial rotation vector corresponding to the smallest rotation error coefficient. Then, generating the initial DG tensor in 916 may include generating the initial DG tensor such that it represents the rotation corresponding to the initialization rotation vector. Further embodiments of such methods are described herein with reference to Figure 8.
[0204] In some embodiments, calculating the rotation error coefficient(s) in 922 for each trial rotation vector includes calculating the objective function value associated with the DG tensor corresponding to the trial rotation vector.
[0205] In some embodiments, determining the characteristic DG tensor in 926 involves determining that the characteristic DG tensor corresponds to a trial DG tensor associated with an objective function value that satisfies a convergence criterion. Thus, determining the characteristic DG tensor in 926 may involve repeating the steps of an iterative routine until the objective function value satisfies such a convergence criterion. In other words, determining the characteristic DG tensor in 926 may involve executing an iterative algorithm that operates to identify a trial DG tensor that yields a corresponding objective function value that satisfies a convergence criterion.
[0206] As described herein, the iterative algorithm may include and / or be any of a variety of algorithms, such as the iterative minimization algorithm and / or the Nelder-Mead minimization algorithm.
[0207] As described herein, the convergence criterion may include and / or be any of a variety of conditions. For example, referring to the Nelder-Mead method, the convergence criterion may be satisfied when the difference between the maximum and minimum objective functions associated with a given simplicity is less than a threshold difference, when the difference between the maximum objective function value associated with a given simplicity and the maximum objective function value associated with the simplicity in the previous step is less than a threshold difference, or when the objective function values associated with all vertices of a given simplicity are less than a threshold variance with respect to each other. In such embodiments, the “difference” between two values may be calculated as an absolute difference and / or an absolute difference expressed as a proportion of either individual value.
[0208] In some embodiments, as shown in Figure 9, method 900 further includes determining the stress tensor corresponding to the characteristic DG tensor in 938. Determining the stress tensor in 938 may be at least partially based on the characteristic DG tensor and may therefore be performed following the determination of the characteristic DG tensor in 926. Determining the stress tensor 938 may be performed in any suitable method, such as the methods described above with reference to equations 16-22. In some embodiments, determining the stress tensor in 938 includes determining the strain tensor corresponding to the characteristic DG tensor, and then determining the stress tensor at least partially based on the strain tensor.
[0209] In various embodiments, method 900 may also include calculating uncertainties associated with one or more quantities determined and / or calculated through other steps of method 900. For example, determining the characteristic DG tensor in 926 may include determining quantitative uncertainties associated with one or more components of the characteristic DG tensor. In a more specific embodiment, determining such uncertainties may include analyzing how the objective function value changes as one or more components of the characteristic DG tensor vary. As described above, such analysis may include analyzing the curvature of the objective function in the neighborhood of the function minimum corresponding to the characteristic DG tensor (e.g., calculating one or more derivatives). In some such embodiments, determining the stress tensor in 938 may include determining quantitative uncertainties associated with one or more components of the stress tensor, at least in part on the quantitative uncertainties associated with the characteristic DG tensor.
[0210] Figure 10 and the following discussion are intended to provide a brief and general description of an exemplary computing environment in which the disclosed technology may be implemented. In particular, some or all parts of this computing environment may be used in conjunction with the above-described methods and apparatus to, for example, focus a charged particle beam onto a sample, record EBSD images, and / or perform any part of the methods disclosed above.
[0211] Although not mandatory, the disclosed technologies are personal computers. This is described in the general context of computer executable instructions, such as program modules, executed by a computer (PC). Generally, a program module includes routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. Furthermore, the disclosed technology can be implemented using other computer system configurations, including handheld devices, tablets, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, and mainframe computers. The disclosed technology can also be practiced in a distributed computing environment where tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules may reside in both local and remote memory storage devices. In some cases, such processing is provided in an SEM system. The system of this disclosure can control image acquisition and provide a user interface, as well as function as an image processor.
[0212] Referring to Figure 10, an exemplary system implementing the disclosed technology includes a general-purpose computing device in the form of an exemplary conventional PC 1000, which includes one or more processing units 1002, a system memory 1004, and a system bus 1006 that connects various system components, including the system memory 1004, to the one or more processing units 1002. Each of the one or more processing units 1002 may be additionally or alternatively referred to as a processor 1002, and the one or more processing units 1002 may collectively be referred to as a processor system. The system bus 1006 may be one of several types of bus structures, including a memory bus or memory controller, peripheral bus, and local bus, using any of various bus architectures. The exemplary system memory 1004 includes read-only memory (ROM) 1008 and random-access memory (ROM). The PC 1000 includes memory (RAM) 1010 and a basic input / output system (BIOS) 1012, which contains basic routines that help transfer information between elements within the PC 1000, is stored in ROM 1008. In various embodiments, the PC 1000 (and / or one or more of its components) may be additionally or alternatively referred to as a controller. The PC 1000 may represent an example of at least a part of the controller 150 in Figure 1.
[0213] An exemplary PC1000 further includes one or more storage devices 1030, such as a hard disk drive for reading and writing from a hard disk, a magnetic disk drive for reading and writing from a removable magnetic disk, and an optical disk drive for reading and writing from a removable optical disk (such as a CD-ROM or other optical media). Such storage devices can be connected to the system bus 1006 by a hard disk drive interface, a magnetic disk drive interface, and an optical drive interface, respectively. The drives and associated computer-readable media provide non-volatile storage for computer-readable instructions, data structures, program modules, and other data for the PC1000. Other types of computer-readable media capable of storing data accessible by the PC, such as magnetic cassettes, flash memory cards, solid-state drives, digital video discs, CDs, DVDs, RAM, and ROMs, may also be used in the exemplary operating environment.
[0214] Some program modules may be stored in a storage device 1030 that includes an operating system, multiple operating systems, a virtual operating system, one or more application programs, other program modules, and program data. In some examples, one or more aspects of the methods disclosed herein may be programmed, implemented, encoded, trained, and / or optionally transferred to program modules via machine learning, neural networks, artificial intelligence, etc.
[0215] An exemplary PC1000 may include various devices configured for a user interface. For example, a user may input commands and information to the PC1000 through one or more input devices 1040, such as a keyboard and a pointing device such as a mouse. For example, a user may input a command to start image acquisition and / or to start one or more methods disclosed herein. Other input devices may include a digital camera, microphone, joystick, gamepad, buttons, dials, satellite receiver, scanner, etc. In some examples, several such input devices may be integrated into a single user interface device, which may be commonly used in conjunction with a CPM system. These and other input devices are often connected to one or more processing units 1002 through a serial port interface coupled to the system bus 1006, but may also be connected by other interfaces such as a parallel port, game port, Universal Serial Bus (USB), or wired or wireless network connection. Monitor 1046 or other types of display devices may also be connected to the system bus 1006 via an interface such as a video adapter and may display one or more images of a sample or specimen, for example, before, after, and / or during the implementation of one or more methods disclosed herein. Monitor 1046 may also be used to select sections for processing such as correlation, feature identification, and preview area selection or other image selection or for specific image alignment and alignment procedures. Other peripheral output devices such as speakers and printers (not shown) may be included. Input device 1040 may represent an example of user interface 160 and / or user input device 162 in Figure 1. Additionally or alternatively, monitor 1046 may represent an example of display device 164 in Figure 1.
[0216] PC1000 may operate in a network environment using logical connections to one or more remote computers, such as remote computer 1060. In some embodiments, one or more network or communication connections 1050 are included. Remote computer 1060 may be another PC, server, router, network PC, or peer device, or other common network node, and typically includes many or all of the above elements in relation to PC1000, except that only the memory storage device 1062 is illustrated in Figure 10. Personal computer 1000 and / or remote computer 1060 are local area networks (LANs) and wide area networks (wide It can connect to an area network (WAN). Such networking environments are common in offices, enterprise-wide computer networks, intranets, and the internet.
[0217] As shown in Figure 10, memory 1090 (or part of this memory or other memory) can store processor-executable instructions for beam focus control, beam deflector control, pattern recognition and analysis (e.g., to detect and / or characterize the movement of beam features in the detector plane). Such processor-executable instructions may additionally or alternatively include instructions for performing various calculations and / or various iterative routines as described herein. For example, such processor-executable instructions, when executed by the processor system, can cause PC 1000 and / or other components (e.g., any preferred component of SEM 100 in Figure 1) to perform any of the methods disclosed herein. In some embodiments, the processor-executable instructions may generate a display image (e.g., a recorded EBSD image) indicating the processing of a preview image and / or the acquisition of additional images.
[0218] General Considerations As used in this application and claims, the singular forms "a," "an," and "the" include the plural form unless otherwise explicitly indicated. Additionally, the term "includes" means "comprises." Furthermore, the term "coupled" does not exclude the presence of intermediate elements between coupled items.
[0219] Unless otherwise specified, as used herein, the term “substantially” means any value and / or characteristic listed, as well as any value and / or characteristic that is at least 75% of any value and / or characteristic listed. Equivalently, the term “substantially” means any value and / or characteristic listed, as well as any value and / or characteristic that differs from any value and / or characteristic by a maximum of 25%. For example, “substantially equal” means quantities that are exactly equal, as well as quantities that differ from each other by a maximum of 25%.
[0220] The systems, apparatus, and methods described herein should not be construed as limiting. Rather, this disclosure covers all novel and non-obvious features and aspects of the various disclosed embodiments, individually and in various combinations and partial combinations with one another. The disclosed systems, methods, and apparatus are not limited to any specific aspects or features or combinations thereof, and it is not required that any one or more specific advantages exist or problems are solved. Any theories of operation are provided for the sake of explanation, but the disclosed systems, methods, and apparatus are not limited to such theories of operation.
[0221] While some operations of the disclosed methods are described in a particular order for convenience of presentation, it should be understood that this description is reorderful unless a specific ordering is required by the specific terminology used herein. For example, operations described sequentially may, in some cases, be reordered or performed simultaneously. Furthermore, for simplification, the accompanying drawings may not show the various ways in which the disclosed systems, methods, and apparatus may be used with other systems, methods, and apparatus. In addition, the specification may use terms such as “produce” and “provide” to describe the disclosed methods. These terms are high-level abstractions of the actual operations performed. The actual operations corresponding to these terms vary depending on the specific implementation and are readily recognizable to those skilled in the art.
[0222] In some examples, values, procedures, etc., may be characterized by restrictive terms such as "minimum," "best," "smallest," or "limit." Such descriptions are intended to show that a choice can be made from among many functional alternatives, and it should be understood that such a choice does not need to be better, smaller, or otherwise preferable to other choices.
[0223] This technological innovation can be described in the general context that computer-executable instructions, such as those contained in a program module, are executed on a target physical or virtual processor in a computing system. Generally, a program module or component includes routines, programs, libraries, objects, classes, components, data structures, etc., that perform a specific task or implement a specific abstract data type. The functionality of program modules can be combined or separated as desired in various examples. Computer-executable instructions for program modules can be executed in a local computing system or a distributed computing system. Generally, a computing system or computing device can be local or distributed and can include any combination of dedicated hardware and / or general-purpose hardware and software that implements the functionality described herein. Examples of computing systems or computing devices include personal computers, handheld devices, tablets, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, virtual machines, and containerized applications.
[0224] In the various examples described herein, a module (e.g., a component or engine) can be “programmed” / “coded” to perform a particular operation or provide a particular function, and computer-executable instructions for the module can be executed to perform such an operation, cause such an operation to be performed, or otherwise provide such a function. The functions described with respect to a software component, module, or engine may be executed as separate software units (e.g., programs, functions, class methods), but do not need to be implemented as separate units. That is, the functions may be incorporated into a larger program or a more general program, such as one or more lines of code within a larger program or a more general program.
[0225] The algorithms described may be embodied, for example, as software or firmware instructions executed by a digital computer. For example, any of the disclosed methods can be implemented by one or more computers or other computing hardware that are part of a microscopy tool. The computer may be a computer system comprising one or more processors (processing elements) and tangible non-temporary computer-readable media (e.g., one or more optical media disks, volatile memory elements (such as DRAM or SRAM), or non-volatile memory or storage elements (such as hard drives, NVRAM, and solid-state drives (e.g., flash drives)). One or more processors may execute computer-executable instructions stored in one or more of the tangible non-temporary computer-readable media, thereby implementing any of the disclosed technologies. For example, software for implementing any of the disclosed embodiments may be stored as computer-executable instructions on one or more volatile non-temporary computer-readable media, and when executed by one or more processors, the computer-executable instructions cause one or more processors to implement any of the disclosed technologies or a subset of the technologies.
[0226] Additional examples of the disclosed technology While the principles of the disclosed technology have been explained and illustrated with reference to the illustrated examples, it will be recognized that the illustrated examples can be modified in configuration and detail without deviating from such principles. For example, elements in an example implemented in software can be implemented in hardware, and vice versa. Furthermore, technology from any embodiment can be combined with technology described in any one or more other embodiments. It will be understood that procedures and functions as described with reference to the illustrated embodiments can be implemented in a single hardware or software module, or separate modules may be provided. The specific configurations described above are provided for the sake of simplicity, and other configurations may be used.
[0227] Example 1. A computer method for determining the deformation characteristics of a test image relative to a reference image, comprising using a processor to determine a characteristic displacement gradient (DG) tensor that characterizes the deformation characteristics via an iterative routine, wherein determining the characteristic DG tensor comprises, in one or more steps of the iterative routine, calculating an objective function value associated with the trial DG tensor such that the objective function value is at least partially based on the pixel values of pixel positions within a consideration zone (ZOC) of the test image and the reference image, the ZOC being automatically determined at least partially based on the trial DG tensor.
[0228] Example 2. Any embodiment of this specification, in particular the method of Example 1, includes calculating the objective function value based on a single ZOC.
[0229] Example 3. Any embodiment of this specification, in particular any one of Examples 1-2, wherein calculating the objective function value includes calculating the objective function such that for each pixel position in the reference image within the ZOC, the objective function is calculated in a calculation that references the pixel value corresponding to the pixel position exactly once.
[0230] Example 4. Any embodiment of this specification, in particular any one of Examples 1 to 3, further comprising determining the Zone of Control (ZOC) in each step of one or more steps of an iterative routine.
[0231] Example 5. Determining the Zone of Control (ZOC) includes determining that the ZOC represents the set of pixel positions that maximally overlap between the pixel positions of the reference image and the shifted pixel positions of the test image, which are at least partially based on the trial DG tensor, as described in any embodiment of this specification, particularly the method of Example 4.
[0232] Example 6. Determining the ZOC is the position of each pixel in at least a subset of the pixel positions of the reference image.
[0233]
number
[0234]
number
[0235]
number
[0236]
number
[0237] Example 7. Calculating the objective function value involves applying a respective weighting coefficient to the pixel values within the ZOC, in any embodiment of this specification, in particular any one of Examples 1 to 6.
[0238] Example 8. Each weighting coefficient is based at least partially on one or both of the test image and the reference image, as in any embodiment of this specification, particularly the method of Example 7.
[0239] Example 9. Any embodiment of this specification, in particular any one of Examples 7-8, further comprising determining the respective weighting coefficients.
[0240] Example 10. Determining each weighting coefficient involves analyzing one or both of the test image and the reference image, in any embodiment of this specification, particularly the method of Example 9.
[0241] Example 11. Analyzing one or both of the test image and the reference image includes analyzing the position-dependent noise level associated with one or both of the test image and the reference image, as is the method of any embodiment of this specification, in particular the method of Example 10.
[0242] Example 12. Analyzing one or both of the test image and the reference image is any method of any embodiment of this specification, in particular any one of Examples 10 to 11, which includes (i) analyzing multiple sample reference images to evaluate the noise characteristics of the reference image and (ii) analyzing multiple sample test images to evaluate the noise characteristics of the test image.
[0243] Example 13. Determining each weight coefficient is any one of the embodiments herein, in particular any one of Examples 9 to 12, which includes determining the functional representation of the weight coefficient as a function of the pixel position.
[0244] Example 14. Any embodiment of this specification, in particular any one of Examples 1 to 13, wherein calculating the objective function value includes calculating it such that the objective function value is normalized with respect to the number of pixel positions in the ZOC.
[0245] Example 15. Any embodiment of this specification, in particular any one of Examples 1 to 14, further comprising applying a mask to one or both of the test image and / or the reference image to exclude selected pixel positions from being included in the ZOC before determining the characteristic DG tensor.
[0246] Example 16. Any embodiment of this specification, in particular any one of Examples 1 to 15, further comprising pre-treating one or both of the test image and the reference image before determining the characteristic DG tensor.
[0247] Example 17. Any embodiment of this specification, in particular the method of Example 16, wherein pretreatment includes applying Gaussian blur to one or both of the test image and the reference image.
[0248] Example 18. Any embodiment of this specification, in particular any one of Examples 16-17, wherein pretreatment includes downscaling one or both of the test image and the reference image.
[0249] Example 19. Any embodiment of this specification, in particular any one of Examples 16-18, wherein pretreatment includes generating one or both of a test image and a reference image as an average of multiple recorded images.
[0250] Example 20. Any embodiment of this specification, in particular any one of Examples 16-19, wherein pretreatment includes applying a mask to one or both of the test image and / or reference image in order to exclude selected pixel positions from being included in the ZOC.
[0251] Example 21. Any embodiment of this specification, in particular any one of Examples 1 to 20, further comprising generating an initial DG tensor based at least partially on one or both of the test image and the reference image, prior to determining the characteristic DG tensor, wherein the initial DG tensor is used as a trial DG tensor in at least one step of the iterative routine.
[0252] Example 22. Generating an initial DG tensor, which includes generating the initial DG tensor such that it corresponds to an approximate rotation characterizing the sample deformation, in any embodiment of this specification, in particular the method of Example 21.
[0253] Example 23. Any embodiment of this specification, in particular any one of Examples 21-22, wherein generating an initial DG tensor includes generating a set of trial rotation vectors, each trial rotation vector representing one or more corresponding rotation transformation components; calculating a rotation error coefficient associated with each trial rotation vector; and selecting an initialization rotation vector from the set of trial rotation vectors based on the rotation error coefficient, and generating an initial DG tensor is such that the initial DG tensor represents the rotations corresponding to the initialization rotation vectors.
[0254] Example 24. For each trial rotation vector, calculating the rotation error coefficient includes calculating the objective function value associated with the DG tensor corresponding to the trial rotation vector, in any embodiment of this specification, in particular the method of Example 23.
[0255] Example 25. Determining the characteristic DG tensor is any embodiment of this specification, in particular any one of Examples 1 to 24, which includes determining that the characteristic DG tensor corresponds to a trial DG tensor associated with an objective function value that satisfies a convergence criterion.
[0256] Example 26. Determining the characteristic DG tensor involves repeating the steps of an iterative routine until the objective function value satisfies a convergence criterion, as is the case in any embodiment of this specification, in particular any one of Examples 1 to 25.
[0257] Example 27. Determining a characteristic DG tensor is any embodiment of this specification, in particular any one of Examples 1 to 26, which involves running an iterative algorithm that operates to identify trial DG tensors that yield corresponding objective function values that satisfy convergence criteria.
[0258] Example 28. The iterative algorithm is any embodiment of this specification, in particular the method of Example 27, which includes an iterative minimization algorithm.
[0259] Example 29. The iterative algorithm is any embodiment of this specification, in particular any one of Examples 27-28, including the Nelder-Mead minimization algorithm.
[0260] Example 30. Any embodiment of this specification, in particular any one of Examples 1 to 29, further comprising determining the stress tensor corresponding to the characteristic DG tensor.
[0261] Example 31. Determining the stress tensor is performed on at least partially the characteristic DG tensor, as in any embodiment of this specification, particularly the method of Example 30.
[0262] Example 32. Determining the stress tensor includes determining the strain tensor on at least a portion of the characteristic DG tensor, and determining the stress tensor is performed on at least a portion of the strain tensor, any one of the methods of any embodiment of this specification, in particular any one of Examples 30-31.
[0263] Example 33. Any embodiment of this specification, in particular any one of Examples 1 to 33, further comprising determining the uncertainty associated with one or more components of a characteristic DG tensor.
[0264] Example 34. A computer method for determining the deformation characteristics of a test image relative to a reference image, comprising: determining one or more rotational transformation components corresponding to the test image using a processor system; generating an initial DG tensor at least partially based on the one or more rotational transformation components; and determining a characteristic DG tensor that characterizes the deformation characteristics by using the initial DG tensor and calculating a scalar objective function value corresponding to each of one or more trial DG tensors in one or more steps of an iterative routine using a processor system, wherein one of the one or more trial DG tensors in the first step of the iterative routine is the initial DG tensor.
[0265] Example 35. Determining the characteristic DG tensor is performed following the determination of one or more rotational transformation components, in any embodiment of this specification, in particular the method of Example 34.
[0266] Example 36. Any embodiment of this specification, in particular any one of Examples 34-35, wherein determining one or more rotational transformation components includes generating a set of trial rotation vectors, each trial rotation vector representing one or more trial rotational transformation components; calculating one or more rotational error coefficients associated with each trial rotation vector; and selecting an initialization rotation vector from the set of trial rotation vectors based on the rotational error coefficients; and generating an initial DG tensor includes generating an initial DG tensor such that it represents the rotations corresponding to the initialization rotation vectors.
[0267] Example 37. Generating a set of trial rotation vectors comprises generating the trial rotation vectors such that they are distributed in a three-dimensional vector space having (i) vector intervals that are at least partially based on the expected radius of convergence of the objective function value, and (ii) a maximum vector quantity that is at least partially based on the expected amount of rotation associated with the test image, and the method further comprises receiving one or both of the expected radius of convergence and the expected amount of rotation from a user, any embodiment of this specification, in particular the method of Example 36.
[0268] Example 38. Any embodiment of this specification, in particular any one of Examples 34-37, wherein calculating the objective function value includes, in each step of the iterative routine, determining the shifted pixel position of the test image based on the individual trial DG tensor for each individual trial DG tensor of one or more trial DG tensors, for each pixel position in the ZOC of the reference image, and calculating the objective function value such that the objective function value represents the weighted average difference between the pixel value of the pixel position of the reference image in the ZOC and the pixel value of the shifted pixel position of the test image.
[0269] Example 39. Any embodiment of this specification, in particular the method of Example 38, further comprising determining the Zone of Control (ZOC) for each individual trial DG tensor of one or more trial DG tensors in each step of the iterative routine, based in part on the individual trial DG tensor.
[0270] Example 40. Determining the Zone of Control (ZOC) includes determining that the ZOC represents the set of pixel positions with the maximum overlap between the pixel positions of the reference image and the shifted pixel positions of the test image, as described in any embodiment of this specification, particularly the method of Example 39.
[0271] Example 41. Any embodiment of this specification, in particular any one of Examples 38-40, wherein in at least one step of the iterative routine, one or more trial DG tensors consist of fewer DG tensors than the number of elements of each DG tensor that changes in each step of the iterative routine.
[0272] Example 42. Any embodiment of this specification, in particular any one of Examples 34 to 41, further comprising determining the stress tensor corresponding to the characteristic DG tensor.
[0273] Example 43. Determining the stress tensor is performed on at least partially the characteristic DG tensor, in any embodiment of this specification, in particular the method of Example 42.
[0274] Example 44. Determining the stress tensor includes determining the strain tensor on at least a portion of the characteristic DG tensor, and determining the stress tensor is performed on at least a portion of the strain tensor, any one of the methods of any embodiment of this specification, in particular any one of Examples 42-43.
[0275] Example 45. Any embodiment of this specification, in particular any one of Examples 34-44, further comprising determining the uncertainty associated with one or more components of a characteristic DG tensor.
[0276] Example 46. A system comprising: an electron-optical assembly configured to direct an electron beam to a selected position on a sample; a detector assembly configured to record a diffraction pattern associated with the interaction between the electron beam and the sample; and a controller programmed to receive a reference image from the detector assembly when the electron beam is directed to a reference position on the sample, receive a test image from the detector assembly when the electron beam is directed to a test position on the sample, and determine a characteristic DG tensor that characterizes the deformation characteristics of the test image relative to the reference image via an iterative routine by calculating an objective function value corresponding to a trial DG tensor such that the objective function value is based on the pixel values of the pixel positions within the respective ZOCs of the test image and the reference image, and the ZOC is automatically determined in part on the trial DG tensor.
[0277] Example 47. Any embodiment of this specification, in particular the system of Example 46, wherein the controller is further programmed to determine one or more stress components corresponding to a characteristic DG tensor, and the system comprises an output interface for communicating one or more stress components to the user.
[0278] Example 48. Any embodiment of this specification, in particular any one of Examples 46-47, further comprising a non-temporary computer-readable medium that, when executed by the controller, stores instructions causing the controller to determine a characteristic DG tensor.
[0279] Example 49. A non-temporary computer-readable medium that stores instructions, when executed by a computer, causing the computer to perform a method for determining the deformation characteristics of a test image relative to a reference image, wherein the method comprises determining a characteristic DG tensor that characterizes the deformation characteristics via an iterative routine, the instructions comprising, at each step of the iterative routine, an instruction for determining the characteristic DG tensor by calculating an objective function value corresponding to a trial DG tensor such that the objective function value is based on the pixel values of pixel positions within the respective consideration zones (ZOCs) of the test image and the reference image, the ZOC being automatically determined in part based on the trial DG tensor.
[0280] In light of the numerous possible embodiments to which the principles of the disclosed technology may be applied, it should be recognized that the exemplary embodiments are merely preferred embodiments and should not be interpreted as limiting the scope of the disclosed technology. Rather, the scope is defined by the following claims. Accordingly, the applicant claims all that is included in these claims.
Claims
1. A computer-based method for determining the deformation characteristics of a test image relative to a reference image, The process involves using a processor to determine a characteristic displacement gradient tensor (characteristic DG tensor) that characterizes the deformation characteristics via an iterative routine, wherein determining the characteristic DG tensor involves one or more steps of the iterative routine. A method comprising calculating an objective function value associated with a trial DG tensor such that the objective function value is at least partially based on the pixel values of pixel positions within a consideration zone (ZOC) of the test image and the reference image, wherein the ZOC is automatically determined at least partially based on the trial DG tensor.
2. The method according to claim 1, wherein calculating the objective function value includes calculating the objective function value such that for each pixel position of the reference image within the ZOC, the objective function value is calculated by a calculation that references the pixel value corresponding to the pixel position exactly once.
3. The method according to claim 1, further comprising determining the ZOC in each of the one or more steps of the iterative routine such that the ZOC represents the set of pixel positions that most overlap between the pixel positions of the reference image and the shifted pixel positions of the test image based at least partially on the trial DG tensor.
4. The method according to claim 1, wherein calculating the objective function value includes applying weight coefficients to the pixel values within the ZOC.
5. The method of claim 4, further comprising determining each of the weighting coefficients, wherein determining each of the weighting coefficients includes analyzing one or both of the test image and the reference image.
6. The method according to claim 1, wherein calculating the objective function value includes calculating it such that the objective function value is normalized with respect to the number of pixel positions in the ZOC.
7. The method according to claim 1, further comprising generating an initial DG tensor based at least partially on one or both of the test image and the reference image, prior to determining the characteristic DG tensor, wherein the initial DG tensor is used as the trial DG tensor in at least one step of the iterative routine.
8. Generating the initial DG tensor means that The process involves generating a set of trial rotation vectors, where each trial rotation vector represents one or more corresponding rotation transformation components. Calculate the rotation error coefficient associated with each trial rotation vector, This includes selecting an initialization rotation vector from the set of trial rotation vectors based on the rotation error coefficient, The method according to claim 7, wherein generating the initial DG tensor includes generating the initial DG tensor such that it represents a rotation corresponding to the initialization rotation vector.
9. The method according to claim 1, wherein determining the characteristic DG tensor includes determining that the characteristic DG tensor corresponds to a trial DG tensor associated with an objective function value that satisfies a convergence criterion.
10. The method according to claim 1, wherein determining the characteristic DG tensor involves performing a Nelder-Mead minimization algorithm that operates to identify trial DG tensors that yield corresponding objective function values that satisfy a convergence criterion.
11. A computer-based method for determining the deformation characteristics of a test image relative to a reference image, Using a processor system, determine one or more rotational transformation components corresponding to the test image, The initial DG tensor is generated based at least partially on one or more rotational transformation components, The process includes determining a characteristic DG tensor that characterizes the deformation characteristic by using the initial DG tensor and the processor system to calculate a scalar objective function value corresponding to each of the one or more trial DG tensors in one or more steps of the iterative routine, A method wherein one of the one or more trial DG tensors in the first step of the iterative routine is the initial DG tensor.
12. Determining the one or more rotational transformation components means This involves generating a set of trial rotation vectors, where each trial rotation vector represents one or more trial rotation transformation components. Calculate one or more rotation error coefficients associated with each trial rotation vector, This includes selecting an initialization rotation vector from the set of trial rotation vectors based on the rotation error coefficient, The method according to claim 11, wherein generating the initial DG tensor includes generating the initial DG tensor such that it represents a rotation corresponding to the initialization rotation vector.
13. Generating the set of trial rotation vectors means that the trial rotation vectors are (i) A vector interval based at least partially on the expected radius of convergence of the objective function value, and (ii) The process includes generating such distribution in a three-dimensional vector space that has one or both of the maximum vector quantity, which is at least partially based on the expected rotation amount associated with the test image, The method according to claim 12, further comprising receiving one or both of the expected convergence radius and the expected rotation amount from the user.
14. Calculating the objective function value involves, in each step of the iterative routine, for each individual trial DG tensor of the one or more trial DG tensors, For each pixel position within the ZOC of the aforementioned reference image, the shifted pixel position of the test image is determined based on the individual trial DG tensor. The method according to claim 11, comprising calculating the objective function value such that the objective function value represents the weighted average difference between the pixel value of the pixel position in the reference image within the ZOC and the pixel value of the shifted pixel position in the test image.
15. The method according to claim 14, further comprising, in each step of the iterative routine, determining the Zone of Control (ZOC) for each individual trial DG tensor of the one or more trial DG tensors based in part on the individual trial DG tensor.
16. The method of claim 15, wherein determining the ZOC is such that the ZOC represents the set of pixel positions that most overlap between the pixel positions of the reference image and the shifted pixel positions of the test image.
17. The method according to claim 14, wherein in at least one step of the iterative routine, the one or more trial DG tensors consist of fewer DG tensors than the number of elements of each DG tensor that changes in each step of the iterative routine.
18. It is a system, An electron-optical assembly configured to direct an electron beam to a selected location on a sample, A detector assembly configured to record a diffraction pattern associated with the interaction between the electron beam and the sample, It is a controller, When the electron beam is directed to a reference position on the sample, a reference image is received from the detector assembly. When the electron beam is directed to the test position on the sample, the detector assembly receives a test image, and A controller programmed to determine a characteristic DG tensor that characterizes the deformation characteristics of the test image relative to the reference image via the iterative routine by calculating an objective function value corresponding to the trial DG tensor such that the objective function value is based on the pixel values of the pixel positions within the respective Zones of Control (ZOC) of the test image and the reference image, and the ZOC is automatically determined partially based on the trial DG tensor, in each step of the iterative routine, A system equipped with these features.
19. The system according to claim 18, wherein the controller is further programmed to determine one or more stress components corresponding to the characteristic DG tensor, and the system comprises an output interface for communicating the one or more stress components to a user.
20. The system according to claim 18, further comprising a non-temporary computer-readable medium that stores instructions, when executed by the controller, causing the controller to determine the characteristic DG tensor.