Method for measuring nearest neighbor distance in semiconductor device

By using the k-distance tree data structure to analyze the position coordinates of the shapes in the image in semiconductor manufacturing, the problem of wasted computing resources in a large number of measurements is solved, and efficient measurement of the distance of the nearest neighbor structure in semiconductor devices is achieved.

CN120194635APending Publication Date: 2025-06-24FEI CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411890783.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-11-06
Filing Date
2024-12-20
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

In semiconductor manufacturing, as the number of structures increases, the computing resources required to determine the distance between nearest neighbor structures increase dramatically, making it difficult for the prior art to efficiently process large quantities of measurements.

Method used

By using the k-distance tree (kd tree) data structure, accessing the position coordinates of multiple shapes within the image and parsing the kd tree to obtain the nearest neighbor shape, efficient measurement of distances between a large number of shapes is achieved.

Benefits of technology

Reducing the time complexity of finding the nearest neighbor from O(N2) to O(log(n)), greatly reducing the computational resources required to perform nearest neighbor measurements in a large number of object images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120194635A_ABST
    Figure CN120194635A_ABST
Patent Text Reader

Abstract

The invention relates to a method for measuring nearest neighbor distance in a semiconductor device. Systems or techniques for image metrology are provided. According to various embodiments, a system may include: a memory storing computer executable components; and a processor that executes the computer executable component stored in the memory. The computer executable component may include a measurement component that accesses a k-distance data tree that includes position coordinates of a plurality of shapes within the image; and measuring a distance between adjacent shapes of the plurality of shapes, wherein the measuring includes parsing the k-distance data tree to obtain a nearest neighbor shape of the plurality of shapes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims priority and the benefit of U.S. Provisional Application No. 63 / 613,565, filed on December 21, 2023, entitled "METHOD FOR MEASURING NEAREST NEIGHBOR DISTANCE IN SEMICONDUCTOR DEVICES". The entire content of the foregoing application is hereby incorporated by reference into this application. Background Art

[0003] Various technical fields utilize metrology as part of a quality - assurance process. However, scaling such metrology applications to large numbers of measurements can render such applications infeasible. Summary of the Invention

[0004] The following presents a summary of the invention to provide a basic understanding of one or more embodiments. This summary is not intended to identify key or critical elements, or to delineate any scope of a particular embodiment or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, there are provided devices, systems, computer - implemented methods, apparatuses, or computer - program products that facilitate nearest - neighbor metrology using a k - distance tree.

[0005] According to one or more embodiments, there is provided a system. The system may include a non - transitory computer - readable memory that stores computer - executable components. The system may further include a processor that is operably coupled to the non - transitory computer - readable memory and that executes the computer - executable components stored in the non - transitory computer - readable memory. In various embodiments, the computer - executable components may include a measurement component that accesses a k - distance data tree including position coordinates of a plurality of shapes within an image; and measures distances between adjacent shapes among the plurality of shapes, where the measurement includes parsing the k - distance data tree to obtain nearest - neighbor shapes within the plurality of shapes.

[0006] An advantage of the system and / or corresponding computer - implemented method and / or computer - program product may be improved performance when performing such nearest - neighbor measurements across a large number of shapes within an image.

[0007] In one or more embodiments, the computer - executable components may further include: a shape - generation component that identifies one or more objects within an image; extracts contours of the one or more objects; and generates one or more shapes based on the extracted contours.

[0008] An advantage of the system and / or corresponding computer-implemented method and / or computer program product can be the ability to more accurately and efficiently determine measurements between nearest neighbor objects within an image. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The various embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. For ease of description, the same reference numerals denote the same structural elements. The various embodiments are illustrated in the figures of the drawings by way of example and not limitation.

[0010] Figure 1 is a block diagram of an example scientific instrument module for performing metrology according to various embodiments described herein.

[0011] Figure 2 is a flowchart of an example non-limiting method for performing metrology according to various embodiments described herein.

[0012] Figure 3 and Figure 4 illustrate block diagrams of example non-limiting scientific instruments for facilitating metrology according to one or more embodiments described herein.

[0013] Figure 5 illustrates an example of object identification in an image according to one or more embodiments described herein.

[0014] Figure 6 illustrates an example of contour extraction in an image according to one or more embodiments described herein.

[0015] Figure 7 illustrates an example of shape generation in an image according to one or more embodiments described herein.

[0016] Figure 8 illustrates an example of nearest neighbor measurement according to one or more embodiments described herein.

[0017] Figure 9 illustrates an example image having a shape and corresponding position coordinates of the shape according to one or more embodiments described herein.

[0018] Figure 10 illustrates an example of a kd data tree according to one or more embodiments described herein.

[0019] Figure 11 illustrates a flowchart of an example non-limiting computer-implemented method for performing image metrology according to one or more embodiments described herein.

[0020] Figure 12A flowchart illustrating an example non - limiting computer - implemented method that can facilitate metrology - enabled shape generation according to one or more embodiments described herein.

[0021] Figure 13 A block diagram illustrating an example non - limiting operating environment in which one or more embodiments described herein can be facilitated.

[0022] Figure 14 An example of a charged particle microscope according to one or more embodiments described herein. DETAILED DESCRIPTION

[0023] The following detailed description is merely illustrative and is not intended to limit the embodiments and / or the application or utilization thereof. Moreover, there is no intention to be bound by any information presented in the preceding summary or detailed description sections. One or more embodiments are now described with reference to the drawings, where like reference numerals are always used to refer to like elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it is apparent that one or more embodiments may be practiced in various instances without these specific details.

[0024] Various technical fields require the use of metrology as part of a quality - assurance process. For example, in semiconductor manufacturing, the placement of various structures of a semiconductor (such as those found in NAND flash memory or dynamic random - access memory cells) is critical for proper performance. Thus, the quality - assurance process for these types of devices relies on determining whether the distances between various structures meet the requirements of the specifications. This is done through a nearest - neighbor process, in which the distances between nearest - neighbor structures within the device being analyzed (such as a semiconductor) are determined. However, as the total number of structures increases, the computational resources required to identify the nearest neighbors also increase because this is an O(N 2 ) problem.

[0025] To overcome one or more deficiencies of the prior art as identified above, one or more embodiments described herein may access a k-distance (kd) data tree that includes position coordinates of a plurality of shapes within an image and measure distances between adjacent shapes among the plurality of shapes, where the measuring includes parsing the kd tree to obtain nearest neighbor shapes within the plurality of shapes. In one or more embodiments, the measuring may further include: selecting a shape among the plurality of shapes; parsing the kd tree to obtain the nearest neighbor shape of the selected shape; generating a line between a center point of the selected shape and a center point of the nearest neighbor shape; and determining a distance between a point where the line intersects an edge of the selected shape and a second point where the line intersects an edge of the nearest neighbor shape. By using a kd tree to identify nearest neighbors, the time to find nearest neighbors can be reduced from O(N 2 ) to O(log(n)).

[0026] In addition, one or more embodiments described herein may identify one or more objects within an image, extract contours of the one or more objects, and generate one or more shapes based on the extracted contours.

[0027] One or more embodiments will now be described with reference to the accompanying drawings, where like reference numerals are always used to refer to like elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it is apparent that one or more embodiments may be practiced without these specific details in various instances.

[0028] Figure 1 An example non-limiting block diagram of a scientific instrument module 100 in accordance with various embodiments described herein is illustrated.

[0029] In various embodiments, the scientific instrument module 100 may be implemented by a circuit (such as a programmed computing device) (e.g., including electrical or optical components). The logical components of the scientific instrument module 100 may be included in a single computing device or distributed across multiple computing devices that communicate with each other as appropriate. Examples of computing devices that may implement the scientific instrument module 100 alone or in combination are discussed herein with reference to Figure 10 and.

[0030] The scientific instrument module 100 may include a first logic component 102 and a second logic component 104. As used herein, the term "logic component" may include a device that performs a set of operations associated with that logic component. For example, any of the logic elements included in the scientific instrument module 100 may be implemented by one or more computing devices programmed with instructions to cause one or more processing devices of the computing device to perform a related set of operations. In a particular embodiment, the logic element may include one or more non-transitory computer-readable media having instructions thereon that, when executed by one or more processing devices in one or more computing devices, cause the one or more computing devices to perform a related set of operations. As used herein, the term "module" may refer to a collection of one or more logic elements that together perform a function associated with the module. Different logic elements in the module may take the same form or may take different forms. For example, some of the logic components in the module may be implemented by a programmed general-purpose processing device, while other logic components in the module may be implemented by an application specific integrated circuit (ASIC). As another example, different logic elements in the module may be associated with different instruction sets executed by one or more processing devices. The module may not include all of the logic elements depicted in the associated drawings; for example, when the module is to perform a subset of the operations discussed herein with reference to the module, the module may include a subset of the logic elements depicted in the associated drawings.

[0031] In various embodiments, there may be a scientific instrument corresponding to the scientific instrument module 100. In various aspects, the scientific instrument may be any suitable computerized device that can electronically measure some scientific-related, clinically-related, or research-related characteristics, properties, or attributes of an analysis sample (e.g., a collection of known or unknown mixtures, compounds, devices, or substances).

[0032] The first logic component 102 may parse a kd data tree including the position coordinates of a plurality of shapes within an image. For example, a starting shape may be selected from the plurality of shapes. The kd data tree may then be parsed to find the position coordinates closest to the position coordinates of the selected shape. In one or more embodiments, if the position coordinates are within a defined threshold of each other, a plurality of nearest neighbors may be identified.

[0033] The second logic component 104 can measure the distance between the nearest neighbors. For example, the second logic component 104 can generate a line between the center point of the selected shape and the center point of the nearest neighbor shape. Then, the second logic component 104 can determine the distance between the point where the line intersects the edge of the selected shape and the second point where the line intersects the edge of the nearest neighbor shape based on the number of pixels of the image that the line passes through. In an alternative embodiment, the second logic component 104 can measure the distance between the center point of the selected shape and the center point of the nearest neighbor shape. In the case where the first logic component 102 identifies multiple nearest neighbors, the second logic component 104 can measure the distance between the selected shape and each nearest neighbor.

[0034] Figure 2 is a flowchart of a computer-implemented method 200 according to one or more embodiments described herein. The operations of the computer-implemented method 200 can be used in any suitable setting to perform any suitable operation (e.g., can be performed by or in conjunction with any of the various modules, computing devices, or graphical user interfaces described with respect to Figure 1 , Figure 2 , Figure 11 , Figure 12 and Figure 13 ). In Figure 2 , the operations are each illustrated once in a particular order, but the operations can be reordered or repeated as needed and as appropriate (e.g., different operations can be performed in parallel in suitable cases).

[0035] At 202, a first operation can be performed. For example, the first logic component 102 of the scientific instrument module 100 can perform the operation of 202. The first operation can include: identifying one or more nearest neighbor shapes of the selected shape within the image.

[0036] At 204, a second operation can be performed. For example, the second logic component 104 of the scientific instrument module 100 can perform the operation of 204. The second operation can include: measuring the distance between the selected shape and one or more nearest neighbor shapes.

[0037] Figure 3 illustrates a block diagram of an example non-limiting scientific instrument that can facilitate metrology according to one or more embodiments described herein.

[0038] In various embodiments, the scientific instrument 302 can include a measurement system 308. In various cases, the measurement system 308 can facilitate metrology as part of a scientific analysis or quality assurance process.

[0039] In various aspects, system 308 may include a processor 310 (e.g., a computer processing unit, a microprocessor) and a non-transitory computer-readable memory 312 that is operably or operationally or communicatively connected or coupled to the processor 310. The non-transitory computer-readable memory 312 may store computer-executable instructions that, when executed by the processor 310, may cause the processor 310 or other components of the measurement system 308 (e.g., the measurement component 316) to perform one or more actions. In various embodiments, the non-transitory computer-readable memory 312 may store computer-executable components (e.g., the measurement component 316), and the processor 310 may execute the computer-executable components.

[0040] In various embodiments, the measurement system 308 may include a measurement component 316. In various aspects, the measurement component 316 may measure distances between various shapes within a plurality of images. For example, the plurality of shapes may represent a plurality of objects within an image, such as memory cells of a DRAM semiconductor device. Additionally, the position coordinates of each of the plurality of shapes may be stored within a kd data tree. A kd tree is a form of binary tree structure where nodes represent k-dimensional points. The non-leaf nodes of the tree split the tree into subtrees along a hyperplane that is perpendicular to the axis of that dimension and alternates between dimensions. An example of a kd tree is discussed in more detail below with reference to Figure 9 and Figure 10 In various embodiments, the scientific instrument 302 may also include or be communicatively coupled to a charged particle microscope that acquires images for measurement. A non-limiting example of a charged particle microscope is described below with reference to Figure 14 description.

[0041] The measurement component 316 can select a shape from multiple shapes in an image. Then, the measurement component 316 can parse the kd data tree to identify one or more nearest neighbor shapes of the selected shape based on a comparison of the position coordinates of the multiple shapes with the position coordinates of the selected shape. For example, the measurement component 316 can determine the difference between the x coordinate of the selected shape and another shape and the difference between the y coordinate of the selected shape and another shape. These coordinate differences can then be added together to determine the positional difference between the selected shape and another shape. The measurement component 316 can use this comparison for all nodes within the kd data tree to find the shape with the lowest coordinate difference. In some embodiments, the measurement component 316 can identify multiple nearest neighbors of the selected shape. For example, multiple shapes can have the same coordinate difference as the selected shape. Alternatively, the measurement component 316 can be selected to return x number of neighbors and can identify x number of shapes with the lowest coordinate difference. Alternatively, the measurement component 316 can return all shapes within a defined threshold of the lowest coordinate distance. For example, given a threshold of 4, the measurement component 316 can identify the shape with the lowest coordinate difference from the selected shape and also include all shapes with a coordinate difference within 4 of the lowest coordinate difference.

[0042] In various embodiments, the measurement component 316 can generate a line between the center point of the selected shape and the center point of the nearest neighbor shape. Then, the measurement component 316 can determine the distance between the point where the line intersects the edge of the selected shape and a second point where the line intersects the edge of the nearest neighbor shape. For example, the distance can be determined by the pixel length of the line. Alternatively, the distance can be determined based on the coordinate difference between the first point and the second point. In an alternative embodiment, the distance can be measured between the center point of the selected shape and the center point of the nearest neighbor shape. In the case of identifying multiple nearest neighbor shapes, this process can be repeated to find the distance to each nearest neighbor shape.

[0043] In various embodiments, the measurement component 316 can compare the measured distance with quality assurance specifications. For example, if the manufacturing specifications for a semiconductor device state that memory cells should be spaced between x and y distances from adjacent memory cells, the measurement component 316 can compare the measured distance to ensure it is between x and y. If the measured distance is within the threshold, the semiconductor can be approved. If the measured distance is less than or greater than the threshold, the semiconductor device can be rejected.

[0044] Figure 4 A block diagram of an example non - limiting scientific instrument that can facilitate metrology in accordance with one or more embodiments described herein is illustrated. As shown, the scientific instrument 302 can include the measurement system 308 as described above with respect to Figure 3 as described. Figure 4The measurement system 308 may also include a shape generation component 416 and a tree generation component 414.

[0045] In various embodiments, the shape generation component 416 may generate multiple shapes based on one or more objects within an image. For example, the shape generation component 416 may identify one or more objects within the image. Such identification may be achieved by using image segmentation, an image processing machine learning model (such as a neural network), contrast comparison, or other methods for identifying portions of an image. Once the objects have been identified, the shape generation component 416 may extract the contours of the objects based on a comparison of the contrast between the objects and the background of the image. The shape generation component 416 may then generate multiple shapes based on the extracted contours. For example, once the objects have been identified and the contours extracted, the shape generation component 416 may overlay shapes that match or approximate the extracted contours onto the image. In one or more examples, these shapes may include circles, squares, ovals, ellipses, and / or other shapes.

[0046] In various embodiments, the tree generation component 414 may generate a k - distance data tree. For example, once the shape component 416 has generated multiple shapes, the tree generation component 414 may extract the position coordinates (e.g., x - coordinates and y - coordinates) of the positions of each shape in the image. The tree generation component 414 may then select a starting position coordinate from the multiple position coordinates corresponding to the multiple shapes. In some embodiments, the starting position coordinates may be selected as those closest to a particular part of the image (such as the center of the image or a corner of the image). In another embodiment, the starting position coordinates may be randomly selected. Once the starting position coordinate has been selected, the tree generation component 414 may generate a kd - data tree by generating sub - trees based on alternating - dimension hyper - planes between the position coordinates representing the multiple shapes. An example of the generation of the kd - data tree is described in more detail below with reference to Figure 9 and 10 Examples of the generation of the kd - data tree are described in more detail.

[0047] Figure 5 Illustrates an example of object identification in an image according to one or more embodiments described herein.

[0048] Image 500 is a direct random access memory (DRAM) semiconductor device. Such devices include multiple memory cells that, for optimal performance, must be properly spaced apart. As described above with reference to Figure 3 and Figure 4 the shape generation component 416 may use a segmentation model, contrast - based comparison, or another image - processing technique to identify one or more objects (in this example, memory cells) within image 500. The objects identified in image 500 are indicated by cross icons.

[0049] Figure 6Illustrates an example of contour extraction in an image according to one or more embodiments described herein.

[0050] As described above with reference to Figure 3 and Figure 4 once an object has been identified, the shape generation component 416 can then extract the contour of the object based on contrast comparison. As shown in the image 500 of Figure 6 , the contour of the object identified in Figure 5 has been extracted.

[0051] Figure 7 Illustrates an example of shape generation in an image according to one or more embodiments described herein.

[0052] As described above with reference to Figure 3 and Figure 4 once the contour of the object has been extracted, the shape generation component 416 can then overlay the shape onto the extracted contour. This is done to regularize the contour and make it easier to determine the center point of the object (as the center point of the shape).

[0053] Figure 8 Illustrates an example of nearest neighbor measurement according to one or more embodiments described herein.

[0054] As described above with reference to Figure 3 and Figure 4 once the shape has been overlaid onto the image, the measurement component 316 can add a line between the center point of the selected shape and the center point of the nearest neighbor. Then the measurement component 316 can measure the distance from the point where the line intersects the edge of the selected shape to a second point where the line intersects the edge of the nearest neighbor shape. As shown in Figure 8 , corresponding lines have been drawn for each of the six nearest neighbor shapes of the selected shape around the center.

[0055] Figure 9 and Figure 10 Illustrates an example of kd - data tree generation according to one or more embodiments described herein.

[0056] Figure 9An example image having a shape and corresponding position coordinates of the shape in accordance with one or more embodiments described herein is illustrated. In one or more embodiments, the tree generation component 414 may randomly select a starting point, here (51, 75). Then the tree generation component 414 may select a horizontal or vertical hyperplane. Here, a vertical line passing through the point (51, 75) has been added to indicate that the image 700 is divided into a left half and a right half. Thus, all points on the left half of the line will be in the left subtree of the point (51, 75), and all points on the right side of the line will be in the right subtree of the point (51, 75). Then child nodes are selected for the point (51, 75), which are selected as (24, 40) and (70, 70) respectively. Then alternating hyperplanes (e.g., horizontal lines) pass through the points (24, 40) and (70, 70) respectively. Then, this process of selecting points, generating hyperplanes, and selecting child nodes based on the hyperplanes may continue until all points have been added to the tree. Figure 10 An example of a kd - tree constructed from the image 900 is illustrated.

[0057] Figure 11 A flowchart of an example non - limiting computer - implemented method 1100 for performing image metrology in accordance with one or more embodiments described herein is illustrated.

[0058] In various cases, the measurement system 308 may facilitate the computer - implemented method 1100. In various embodiments, operation 1102 may include: identifying, by a device (e.g., the measurement component 316), the nearest - neighbor shape of a selected shape among a plurality of shapes in an image. For example, as described above with respect to Figures 3 to 4 the measurement component 316 may parse a kd - data tree including the position coordinates of the shapes within the image and identify one or more nearest - neighbor shapes of the selected shape based on a comparison of the position coordinates.

[0059] In various embodiments, operation 1104 may include: measuring, by a device (e.g., the measurement component 316), the distance between the nearest - neighbor shape and the selected shape. For example, as described above with respect to Figures 3 to 4 the measurement component 316 may generate a line between the center point of the selected shape and the center point of the nearest - neighbor shape. Then the measurement component 314 may identify a first point where the line intersects the edge of the selected shape and a second point where the line intersects the edge of the nearest - neighbor shape. Then the measurement component 314 may determine the distance between the first point and the second point. Alternatively, the measurement component 316 may measure the distance between the center point of the selected shape and the center point of the nearest - neighbor shape. This measurement process may be repeated for each of the identified nearest - neighbor shapes.

[0060] In various embodiments, operation 1106 may include: determining, by a device (e.g., measurement component 316), whether the measured distance is within specifications. For example, the specifications may dictate that the nearest neighbor distance must be between x and y distances. In response to a "yes" determination (e.g., all measured distances between the selected shape and the nearest neighbors are between x and y), method 1100 may proceed to operation 1108 and select the next shape for which to measure the nearest neighbor distance. In response to a "no" determination (e.g., one or more of the measured distances are less than x or greater than y), method 1100 may proceed to step 1110 and reject the sample associated with the image.

[0061] Figure 12 A flowchart of an example non - limiting computer - implemented method 1200 that can facilitate metrology - enabled shape generation in accordance with one or more embodiments described herein is illustrated.

[0062] In various embodiments, operation 1202 may include: identifying, by a device (e.g., shape generation component 416), one or more objects within an image. For example, given an image of the surface of a semiconductor device, shape generation component 416 may use an image segmentation model, contrast comparison, and / or another image - processing technique to identify one or more objects within the image, such as memory cells of the semiconductor device.

[0063] In various embodiments, operation 1204 may include: extracting, by a device (e.g., shape generation component 416), the contours of one or more objects. For example, shape generation component 416 may extract the contours of one or more objects based on a contrast comparison between the objects and the image background. Alternatively, shape generation component 416 may extract the contours based on the image segmentation of operation 1202. In one or more embodiments, method 1200 may end at this point, and measurement component 316 may use the extracted contours as shapes to measure distances.

[0064] In various embodiments, operation 1206 may include: generating, by a device (e.g., shape generation component 416), one or more shapes based on the extracted contours. For example, based on the extracted contours, shape generation component 416 may superimpose one or more shapes that closely resemble the extracted contours to regularize the contours.

[0065] Advantages of the systems and / or corresponding computer - implemented methods and / or computer program products described herein may be the ability to scale more efficiently when measuring distances between a large number of shapes. For example, by storing the position coordinates of the shapes of an image in a kd - data tree, the search time for nearest neighbors is reduced to O(log(n)). This greatly reduces the computational resources required to identify nearest neighbors and measure the distances between nearest neighbors in an image that includes a large number of objects.

[0066] In various cases, machine learning algorithms or models can be implemented in any suitable manner to facilitate any suitable aspect described herein. To facilitate some of the machine learning aspects among the above-described machine learning aspects of various embodiments, consider the following discussion of artificial intelligence (AI). The various embodiments described herein can employ artificial intelligence to facilitate automating one or more features or functions. These components can adopt various AI-based solutions to perform the various embodiments / examples disclosed herein. To provide or assist with the numerous determinations (e.g., determine, ascertain, infer, compute, predict, prognose, estimate, derive, foretell, detect, calculate) described herein, the components described herein can examine all or a subset of the data to which they are granted access and can provide reasoning or determination of the state of a system or environment from a set of observations such as via events or data capture. For example, a determination can be used to identify a particular context or action, or a probability distribution of a state can be generated. These determinations can be probabilistic; that is, a probability distribution of a state of interest is calculated based on consideration of data and events. A determination can also refer to the techniques employed to compose higher-level events from a set of events or data.

[0067] Such determinations can result in the construction of new events or actions from a set of observed events or stored event data, regardless of whether the events are closely related in time and regardless of whether the events and data are from one or several event and data sources. The components disclosed herein can employ various classification (explicit training (e.g., via training data) and implicit training (e.g., via observed behavior, preferences, historical information, receiving external information, etc.)) schemes or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, etc.) in conjunction with performing automated or determined actions related to the claimed subject matter. Thus, classification schemes or systems can be used to automatically learn and perform multiple functions, actions, or determinations.

[0068] A classifier can map an input attribute vector z = (z1, z2, z3, z4, zn) to a confidence level that the input belongs to a certain class, such as f(z) = confidence level (class). This classification can be used to determine the actions that will be automatically performed using probability or statistics-based analysis (e.g., taking into account analysis utility and cost). Support Vector Machines (SVMs) can be used as an example of a classifier that can be employed. SVMs operate by finding a hyperplane in the space of possible inputs, where the hyperplane attempts to separate triggering criteria from non-triggering events. Intuitively, this makes the classification correct for test data that is close to but not the same as the training data. Other directed and non-directed model classification methods include, for example, Naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, or probability classification models that provide different independent models, and any one of them can be adopted. The classification used in this article also includes statistical regression for developing priority models.

[0069] To provide additional context for the various embodiments described herein, Figure 13 and the following discussion is intended to provide a brief general description of a suitable computing environment 1300 in which the embodiments described herein can be implemented. While the embodiments have been described above in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the embodiments can also be implemented in combination with other program modules or as a combination of hardware and software.

[0070] Generally, program modules include routines, programs, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In addition, those skilled in the art will understand that the methods of the present invention can be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, and personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc., each of which is operably coupled to one or more associated devices.

[0071] The embodiments shown herein can also be practiced in a distributed computing environment where certain tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

[0072] Computing devices generally include various media, which may include computer-readable storage media, machine-readable storage media, or communication media, and the use of these two terms in this article is different from each other as follows. Computer-readable storage media or machine-readable storage media can be any available storage media accessible by a computer, and include volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable storage media or machine-readable storage media can be implemented in conjunction with any method or technology for storing information (such as computer-readable or machine-readable instructions, program modules, structured data, or unstructured data).

[0073] Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), digital versatile disc (DVD), Blu-ray disc (BD) or other optical disc storage devices, magnetic tape cartridges, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, solid state drives or other solid state storage devices, or other tangible or non-transitory media that can be used to store the required information. In this regard, the terms "tangible" or "non-transitory" as applied to storage devices, memories, or computer-readable media in this article should be understood to exclude only propagating transitory signals themselves as modifiers, and do not waive the rights to all standard storage devices, memories, or computer-readable media that are more than just propagating transitory signals themselves.

[0074] Computer-readable storage media can be accessed by one or more local or remote computing devices, for example, via access requests, queries, or other data retrieval protocols, for various operations regarding the information stored by the media.

[0075] Communication media generally contain computer-readable instructions, data structures, program modules, or other structured or unstructured data in data signals (such as modulated data signals, e.g., carrier waves or other transmission mechanisms), and include any information delivery or transmission medium. The term "modulated data signal" or signal refers to a signal whose one or more characteristics are set or changed to encode information in one or more signals. By way of example and not limitation, communication media include wired media (such as wired networks or direct wired connections) and wireless media (such as acoustic, RF, infrared, and other wireless media).

[0076] Refer again to Figure 13, An example environment 1300 for various implementations for implementing the various aspects described herein includes a computer 1302, which includes a processing unit 1304, a system memory 1306, and a system bus 1308. The system bus 1308 couples system components including, but not limited to, the system memory 1306 to the processing unit 1304. The processing unit 1304 can be any of a variety of commercially available processors. Dual microprocessors and other multi-processor architectures can also be used as the processing unit 1304.

[0077] The system bus 1308 can be any of several types of bus structures, and can further be interconnected with a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 1306 includes a ROM 1310 and a RAM 1312. The basic input / output system (BIOS) can be stored in non-volatile memory (such as ROM, erasable programmable read-only memory (EPROM), EEPROM), where the BIOS contains basic routines that help transfer information between elements within the computer 1302 during startup. The RAM 1312 can also include high-speed RAM, such as static RAM for caching data.

[0078] The computer 1302 also includes an internal hard disk drive (HDD) 1314 (e.g., EIDE, SATA), one or more external storage devices 1316 (e.g., magnetic floppy disk drive (FDD) 1316, memory stick or flash drive reader, memory card reader, etc.), and a drive 1320 (e.g., such as a solid-state drive, optical disk drive), which can read from or write to a disk 1322 (such as a CD-ROM disk, DVD, BD, etc.). Alternatively, in the case of a solid-state drive, unless it is separate, the disk 1322 will not be included. Although the internal HDD 1314 is illustrated as being within the computer 1302, the internal HDD 1314 can also be configured to be used externally in a suitable rack (not illustrated). Additionally, although not shown in the environment 1300, a solid-state drive (SSD) can be used as a supplement or alternative to the HDD 1314. The HDD 1314, the external storage device 1316, and the drive 1320 can be connected to the system bus 1308 through an HDD interface 1324, an external storage interface 1326, and a drive interface 1328, respectively. The interface 1324 for the external drive implementation can include at least one or both of the universal serial bus (USB) and the Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are also within the scope of the implementations described herein.

[0079] The drive and its associated computer-readable storage medium provide non-volatile storage of data, data structures, computer-executable instructions, and the like. For computer 1302, the drive and storage medium are adapted to store any data in a suitable digital format. Although the above description of the computer-readable storage medium refers to a corresponding type of storage device, those skilled in the art should understand that other types of storage media readable by a computer (whether currently existing or to be developed in the future) can also be used in the exemplary operating environment, and further, any such storage medium may contain computer-executable instructions for performing the methods described herein.

[0080] Multiple program modules may be stored in the drive and in RAM 1312, including an operating system 1330, one or more application programs 1332, other program modules 1334, and program data 1336. All or part of the operating system, application programs, modules, or data may also be cached in RAM 1312. The systems and methods described herein may be implemented using a variety of commercially available operating systems or combinations of operating systems.

[0081] Computer 1302 may optionally include emulation technology. For example, a hypervisor (not shown) or other middleware may emulate the hardware environment for operating system 1330, and the emulated hardware may optionally be different from Figure 13 the hardware illustrated. In such an implementation, operating system 1330 may include one VM among multiple virtual machines (VMs) hosted at computer 1302. Additionally, operating system 1330 may provide a runtime environment for application programs 1332, such as a Java runtime environment or a.NET framework. A runtime environment is a consistent execution environment that allows application programs 1332 to run on any operating system that includes the runtime environment. Similarly, operating system 1330 may support containers, and application programs 1332 may be in the form of containers, which are lightweight, independent, executable software packages that include, for example, the code of the application program, the runtime, system tools, system libraries, and settings.

[0082] In addition, computer 1302 may be equipped with a security module, such as a Trusted Platform Module (TPM). For example, using the TPM, a boot component hashes the next boot component over time and waits for the result to match a security value before loading the next boot component. This process may occur at any layer in the code execution stack of computer 1302, e.g., applied at the application execution level or the operating system (OS) kernel level, thereby enabling security for code execution at any level.

[0083] The user can enter commands and information into the computer 1302 through one or more wired / wireless input devices (e.g., keyboard 1338, touch screen 1340, and pointing devices such as mouse 1342). Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control or other remote controls, a joystick, a virtual reality controller or virtual reality headset, a gamepad, a stylus, an image input device (e.g., a camera), a gesture sensor input device, a visual motion sensor input device, an emotion or face detection device, a biometric input device (e.g., a fingerprint or iris scanner), etc. These and other input devices are typically connected to the processing unit 1304 through an input device interface 1344 that can be coupled to the system bus 1308, but may also be connected through other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, interfaces, etc.

[0084] A monitor 1346 or other type of display device can also be connected to the system bus 1308 via an interface (such as a video adapter 1348). In addition to the monitor 1346, a computer typically also includes other peripheral output devices (not shown), such as speakers, printers, etc.

[0085] The computer 1302 can operate in a networked environment using a logical connection to one or more remote computers (such as remote computer 1350) via wired or wireless communication. The remote computer 1350 can be a workstation, a server computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other common network nodes, and typically includes many or all of the elements described with respect to the computer 1302. For the sake of brevity, only the memory / storage device 1352 is illustrated. The depicted logical connections include a wired / wireless connection to a local area network (LAN) 1354 or a larger network (e.g., a wide area network (WAN) 1356). Such LAN and WAN networking environments are common in offices and companies and facilitate the establishment of enterprise-wide computer networks (such as intranets), all of which can be connected to a global communication network (e.g., the Internet).

[0086] When used in a LAN networking environment, the computer 1302 can be connected to the local network 1354 through a wired or wireless communication network interface or adapter 1358. The adapter 1358 can facilitate wired or wireless communication with the LAN 1354, which may also include a wireless access point (AP) disposed thereon for communicating with the adapter 1358 in wireless mode.

[0087] When used in a WAN networking environment, computer 1302 may include a modem 1360 or may be connected to a communication server on WAN 1356 via other components for establishing communication through WAN 1356 (such as through the Internet). Modem 1360 may be connected to system bus 1308 via input device interface 1344. The modem may be internal or external and may be a wired or wireless device. In a networking environment, program modules depicted relative to computer 1302 or portions thereof may be stored in remote memory / storage device 1352. It should be understood that the network connections shown are examples, and other components for establishing a communication link between computers may be used.

[0088] When used in a LAN or WAN networking environment, computer 1302 may access a cloud storage system or other network-based storage systems, such as but not limited to network virtual machines that provide one or more aspects of storage or processing of information, as a supplement or alternative to external storage device 1316 as described above. Generally, the connection between computer 1302 and the cloud storage system may be established, for example, by adapter 1358 or modem 1360 via LAN 1354 or WAN 1356, respectively. When connecting computer 1302 to an associated cloud storage system, external storage interface 1326 may manage the storage provided by the cloud storage system with the help of adapter 1358 or modem 1360, just as it manages other types of external storage. For example, external storage interface 1326 may be configured to provide access to cloud storage sources as if these sources were physically connected to computer 1302.

[0089] Computer 1302 may be operable to communicate with any wireless device or entity configured for wireless communication (e.g., printers, scanners, desktop or portable computers, portable data assistants, communication satellites, any equipment or location associated with a wirelessly detectable tag (e.g., kiosks, newsstands, store shelves, etc.) and telephones). This may include Wi-Fi and wireless technologies. Thus, the communication may be a predefined structure like a traditional network or may be an ad hoc communication between at least two devices.

[0090] Figure 14 An example charged particle microscope system 1400 according to an embodiment of the present disclosure is shown. For example, system 1400 may be used as Figure 3 and Figure 4Example of a scientific instrument 302. The charged particle microscope system 1400 can be a scanning electron microscope (STEM). The STEM system 1400 includes an electron source 1410 that emits an electron beam 1411 along an emission axis 1402 toward a focusing column 1420. In some embodiments, the focusing column 1420 may include one or more of a condenser lens 1421, an aperture 1422, a scanning coil 1423, and an upper objective lens 1424. The focusing column 1420 focuses the electrons from the electron source 1410 into a small spot on the sample 1414. Different orientations of the sample can be scanned by adjusting the direction of the electron beam via the scanning coil 1423. For example, by operating the scanning coil 1423, the incident beam 1412 can be deflected (as shown by the dashed line) to focus on different orientations of the sample 1414. The sample 1414 can be thin enough not to impede the transmission of most of the electrons in the electron beam 1411.

[0091] The sample 1414 can be held by a sample holder 1413. Electrons 1401 passing through the sample 1414 can enter a projector 1416. In one embodiment, the projector 1416 can be a part separate from the focusing column. In another embodiment, the projector 1416 can be an extension of the lens field from a lens in the focusing column 1420. The projector 1416 can be adjusted by a controller 1430 such that the direct electrons passing through the sample strike a disk-shaped bright-field detector 1415, while the diffracted or scattered electrons more strongly deflected by the sample are detected by a dark-field detector 1419. Signals from the bright-field detector and the dark-field detector can be amplified by an amplifier 1438 and an amplifier 1436, respectively. Signals from the amplifiers 1436 and 1438 can be sent to an image processor 1434, which can form an image of the sample 1414 based on the detected electrons. In various embodiments, the image processor 1434 can perform the metrology processes described above with respect to Figure 3 and Figure 4 measurement system 308 (e.g., the functions of the measurement component 316, the tree generation component 414, and / or the shape generation component 416). The STEM system 1400 can simultaneously detect signals from one or more of the bright-field detector and the dark-field detector.

[0092] The controller 1430 can manually or automatically control the operation of the imaging system 1400 in response to operator instructions or according to computer-readable instructions stored in the non-transitory memory 1432. The controller 1430 can be configured to execute computer-readable instructions and control the various components of the imaging system 1400. For example, the controller can adjust the scanning orientation on the sample by operating the scanning coil 1423. The controller can adjust the profile of the incident beam by adjusting one or more apertures and / or lenses in the focusing column 1420. The controller can adjust the sample orientation relative to the incident beam by adjusting the sample holder 1413. The controller 1430 can be further coupled to a display 1431 to display notifications and / or images of the sample. The controller 1430 can receive user input from a user input device 1433. The user input device 1433 can include a keyboard, a mouse, or a touch screen.

[0093] Although the STEM system has been described by way of example, it should be understood that the electron source can also be used in other charged particle beam microscope systems, such as a transmission electron microscope (TEM) system, a scanning electron microscope (SEM) system, and a dual-beam microscope system. The present discussion of STEM imaging is provided only as an example of a suitable imaging modality, and the use of other imaging modalities is contemplated.

[0094] Various non-limiting aspects are described in the following embodiments.

[0095] Embodiment 1: A system, comprising: a memory that stores computer-executable components; a processor that executes the computer-executable components stored in the memory, wherein the computer-executable components include: a measurement component that accesses a k-distance data tree including position coordinates of a plurality of shapes within an image; and measures distances between adjacent shapes among the plurality of shapes, wherein the measurement includes parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

[0096] Embodiment 2: The system according to any of the preceding embodiments, wherein the measurement component measures the distance by: selecting a shape among the plurality of shapes; parsing the k-distance tree to obtain the nearest neighbor shape of the selected shape; generating a line between the center point of the selected shape and the center point of the nearest neighbor shape; and determining a distance between a point where the line intersects the edge of the selected shape and a second point where the line intersects the edge of the nearest neighbor shape.

[0097] Embodiment 3: The system according to any of the preceding embodiments, wherein the measurement component further measures the distance by determining a distance between the center point of the selected shape and the center point of the nearest neighbor shape.

[0098] Example 4: The system according to any of the preceding embodiments, wherein the computer-executable component further comprises a shape generation component, the shape generation component identifying one or more objects within the image; extracting the contours of the one or more objects; and generating one or more shapes based on the extracted contours.

[0099] Example 5: The system according to any of the preceding embodiments, wherein the shape generation component comprises a segmentation neural network that identifies the one or more objects within the image.

[0100] Example 6: The system according to any of the preceding embodiments, wherein the one or more objects comprise memory cells of a semiconductor device.

[0101] Example 7: The system according to any of the preceding embodiments, wherein the computer-executable component further comprises a tree generation component, the tree generation component generating the k-distance data tree, wherein the tree generation component generates the k-distance data tree by: converting the plurality of shapes into a plurality of position coordinates; selecting a starting position coordinate from the plurality of position coordinates; and generating one or more subtrees from the starting position coordinate based on alternating dimensional hyperplanes between the position coordinates among the plurality of position coordinates.

[0102] In various aspects, any one or more combinations of Examples 1 to 7 can be implemented.

[0103] Example 8: A computer-implemented method, comprising: accessing, by a device operatively coupled to a processor, a k-distance data tree comprising position coordinates of a plurality of shapes within an image; and measuring, by the device, distances between adjacent shapes among the plurality of shapes, wherein the measuring comprises parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

[0104] Example 9: The computer-implemented method according to any of the preceding embodiments, wherein the measuring further comprises: selecting, by the device, a shape among the plurality of shapes; parsing, by the device, the k-distance tree to obtain a nearest neighbor shape of the selected shape; generating, by the device, a line between a center point of the selected shape and a center point of the nearest neighbor shape; and determining, by the device, a distance between a point where the line intersects an edge of the selected shape and a second point where the line intersects an edge of the nearest neighbor shape.

[0105] Example 10: The computer-implemented method according to any of the preceding embodiments, further comprising: determining, by the device, wherein the measuring further comprises: determining, by the device, the distance between a center point of the selected shape and a center point of the nearest neighbor shape.

[0106] Example 11: The computer-implemented method according to any of the preceding embodiments further includes: identifying, by the device, one or more objects within the image; extracting, by the device, the contours of the one or more objects; and generating, by the device, one or more shapes based on the extracted contours.

[0107] Example 12: The computer-implemented method according to any of the preceding embodiments, wherein the identifying includes a segmentation neural network identifying the one or more objects within the image.

[0108] Example 13: The computer-implemented method according to any of the preceding embodiments, wherein the one or more objects include memory cells of a semiconductor device.

[0109] Example 14: The computer-implemented method according to any of the preceding embodiments further includes: generating the k-distance data tree, wherein generating the k-distance data tree includes: converting, by the device, the plurality of shapes into a plurality of position coordinates; selecting, by the device, a starting position coordinate from the plurality of position coordinates; and generating, by the device, one or more subtrees from the starting position coordinate based on alternating dimensional hyperplanes between the position coordinates among the plurality of position coordinates.

[0110] In various aspects, any one or more combinations of Examples 8 to 14 can be implemented.

[0111] Example 15: A computer program product, the computer program product including a non-transitory computer-readable memory having program instructions stored therein, the program instructions being executable by a processor to cause the processor to: access, by the processor, a k-distance data tree including position coordinates of a plurality of shapes within an image; and measure, by the processor, distances between adjacent shapes among the plurality of shapes, wherein the measuring includes parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

[0112] Example 16: The computer program product according to any of the preceding embodiments, wherein the measuring further includes: selecting, by the processor, a shape among the plurality of shapes; parsing, by the processor, the k-distance tree to obtain the nearest neighbor shape of the selected shape; generating, by the processor, a line between the center point of the selected shape and the center point of the nearest neighbor shape; and determining, by the processor, a distance between a point where the line intersects an edge of the selected shape and a second point where the line intersects an edge of the nearest neighbor shape.

[0113] Example 17: The computer program product according to any of the preceding embodiments, wherein the measuring further includes: determining, by the processor, the distance between the center point of the selected shape and the center point of the nearest neighbor shape.

[0114] Example 18: The computer program product according to any of the preceding embodiments, wherein the program instructions are further executable by the processor to cause the processor to: identify one or more objects within the image by the processor; extract the contours of the one or more objects by the processor; and generate one or more shapes based on the extracted contours by the processor.

[0115] Example 19: The computer program product according to any of the preceding embodiments, wherein the identification includes a segmentation neural network identifying the one or more objects within the image.

[0116] Example 20: The computer program product according to any of the preceding embodiments, wherein the one or more objects include memory cells of a semiconductor device.

[0117] In various aspects, any one or more combinations of Examples 15 to 20 can be implemented.

[0118] In various aspects, any one or more combinations of Examples 1 to 20 can be implemented.

Claims

1. A system comprising: a memory storing computer executable components; and a processor that executes the computer executable components stored in the memory, wherein the computer executable components include: a measurement component that accesses a k-distance data tree comprising position coordinates of a plurality of shapes within an image; and measuring distances between adjacent shapes in the plurality of shapes, wherein the measuring comprises parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

2. The system according to claim 1, wherein the measuring component measures the distance by: selecting a shape among the plurality of shapes; parsing the k-distance data tree to obtain nearest neighbor shapes of the selected shape; generating a line between a center point of the selected shape and a center point of the nearest neighbor shape; and A distance is determined between a point where the line intersects an edge of the selected shape and a second point where the line intersects an edge of the nearest neighbor shape. 3 . The system of claim 2 , wherein the measurement component further measures the distance by determining a distance between a center point of the selected shape and a center point of the nearest neighbor shape.

4. The system of claim 1, wherein the computer executable components further comprise a shape generation component that identifies one or more objects within the image; extracts contours of the one or more objects; and generates one or more shapes based on the extracted contours.

5. The system of claim 4, wherein the shape generation component comprises a segmentation neural network that identifies the one or more objects within the image. The system of claim 4 , wherein the one or more objects include memory cells of a semiconductor device.

7. The system according to claim 1, wherein the computer executable component further comprises a tree generation component, wherein the tree generation component generates the k-distance data tree, wherein the tree generation component generates the k-distance data tree by: converting the plurality of shapes into a plurality of position coordinates; Selecting a starting position coordinate from the plurality of position coordinates; and One or more subtrees are generated from the starting position coordinates based on alternating dimension hyperplanes between position coordinates in the plurality of position coordinates.

8. A computer-implemented method comprising: accessing, by a device operatively coupled to the processor, a k-distance data tree comprising position coordinates of a plurality of shapes within the image; as well as Distances between adjacent shapes in the plurality of shapes are measured, by the device, wherein the measuring comprises parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

9. The computer-implemented method of claim 8, wherein the measuring further comprises: selecting, by the device, a shape from among the plurality of shapes; parsing, by the device, the k-distance data tree to obtain nearest neighbor shapes of the selected shape; generating, by the device, a line between a center point of the selected shape and a center point of the nearest neighbor shape; as well as A distance between a point at which the line intersects an edge of the selected shape and a second point at which the line intersects an edge of the nearest neighbor shape is determined by the device.

10. The computer-implemented method of claim 9, wherein the measuring further comprises: A distance between a center point of the selected shape and a center point of the nearest neighbor shape is determined by the device.

11. The computer-implemented method of claim 9, further comprising: identifying, by the device, one or more objects within the image; extracting, by the device, contours of the one or more objects; as well as One or more shapes are generated by the device based on the extracted contours.

12. The computer-implemented method of claim 11, wherein the identifying comprises a segmentation neural network identifying the one or more objects within the image.

13. The computer-implemented method of claim 11, wherein the one or more objects comprise memory cells of a semiconductor device.

14. The computer-implemented method of claim 8, further comprising: Generate the k-distance data tree, wherein generating the k-distance data tree comprises: converting, by the device, the plurality of shapes into a plurality of position coordinates; selecting, by the device, a starting position coordinate from the plurality of position coordinates; and One or more subtrees are generated, by the device, from the starting location coordinates based on alternating dimension hyperplanes between location coordinates in the plurality of location coordinates.

15. A computer program product, the computer program product comprising a non-transitory computer readable memory having program instructions embodied therein, the program instructions being executable by a processor to cause the processor to: accessing, by the processor, a k-distance data tree comprising position coordinates of a plurality of shapes within an image; and Distances between adjacent shapes in the plurality of shapes are measured, by the processor, wherein the measuring comprises parsing the k-distance data tree to obtain nearest neighbor shapes within the plurality of shapes.

16. The computer program product of claim 15, wherein the measuring further comprises: selecting, by the processor, a shape from among the plurality of shapes; parsing, by the processor, the k-distance data tree to obtain nearest neighbor shapes of the selected shape; generating, by the processor, a line between a center point of the selected shape and a center point of the nearest neighbor shape; as well as A distance between a point where the line intersects an edge of the selected shape and a second point where the line intersects an edge of the nearest neighbor shape is determined by the processor.

17. The computer program product of claim 16, wherein the measuring further comprises: A distance between a center point of the selected shape and a center point of the nearest neighbor shape is determined by the processor.

18. The computer program product of claim 15, wherein the program instructions are further executable by the processor to cause the processor to: identifying, by the processor, one or more objects within the image; extracting, by the processor, contours of the one or more objects; and One or more shapes are generated, by the processor, based on the extracted contours.

19. The computer program product of claim 18, wherein the identifying comprises a segmentation neural network identifying the one or more objects within the image.

20. The computer program product of claim 18, wherein the one or more objects comprise memory cells of a semiconductor device.