Drift compensation for radiation sensitive specimens
By using a charged particle beam system and drift estimation algorithm, combined with active optical control and stage actuation, the image blurring problem caused by drift in electron microscopy imaging was solved, achieving high-resolution imaging without damaging radiation-sensitive samples.
Patent Information
- Application Number
- CN202510564836.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-07
- Filing Date
- 2025-04-30
- Publication Date
- 2025-11-07
AI Technical Summary
In electron microscopy imaging, drift causes image blurring. Existing techniques require initial drift estimation with high radiation doses, which damages radiation-sensitive samples and makes it difficult to achieve high-resolution imaging.
By employing a charged particle beam system, combined with a fast and controllable electron beam deflector and drift estimation algorithm, drift motion is locked through active optical control and stage actuation, thereby reducing the exposure of radiation-sensitive samples and achieving drift compensation.
High-resolution imaging was achieved without damaging radiation-sensitive samples, reducing the radiation dose required for initial drift estimation and improving image quality.
Smart Images

Figure CN120908220A_ABST
Abstract
Description
[0001] Cross-citation of related applications
[0002] This application claims priority to U.S. nonprovisional application 18 / 657,534, filed May 7, 2024, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] The various examples, in general but not exclusively, relate to electron microscopy components, instruments, systems, and methods.
[0004] summary
[0005] One of the factors affecting the quality of high-resolution electron microscope images is drift, a phenomenon inherent in many electron microscope systems. In some examples, drift causes a slow, fading lateral shift in the electron microscope image projected onto the camera, resulting in image blurring when the camera captures the image. A controlled actuation system (often called a "stage") can be used to move the sample holder during image acquisition to counteract the movement caused by drift, keeping the sample almost stationary in the camera's field of view. Alternatively or supplementarily, drift-induced movement can be counteracted by active optical control of the electron beam parameters, keeping the image projected onto the imaging plane almost stationary at that position.
[0006] Before reaction stage actuation and / or active beam control can be applied, the exemplary drift compensation algorithm requires relatively accurate drift estimates. The accuracy of the initial drift estimate is typically directly related to the radiation dose received by the sample, and a significant radiation dose may be required before the initial drift estimate becomes accurate enough for high-resolution imaging. However, for radiation-sensitive samples, such as those containing biomolecules or complexes, the degree of irreversible damage to the sample caused by the electron beam during the initial drift estimate can be so great that subsequently acquired high-resolution images of the sample are essentially unusable.
[0007] The information disclosed herein also includes various examples, aspects, features, and implementations of electron microscopy systems capable of drift compensation without exposing the portion of interest (POI) of the sample to the relatively high radiation dose typically occurring during high-resolution imaging. In one example, the electron microscopy system has a fast, controllable electron beam deflector and employs a drift estimation algorithm that locks the drift-induced motion when the electron beam deflector places the electron beam at a first position on the sample and continues to lock the drift-induced motion after the electron beam deflector moves the electron beam from the first position on the sample to a second position on the sample. When the second position is selected to overlap with the sample POI containing a radiation-sensitive sample intended for high-resolution imaging, the radiation-sensitive sample is advantageously unaffected by the radiation dose associated with obtaining an accurate initial drift estimate.
[0008] One example provides a method performed via a computing device for providing support for a charged particle beam system, the method comprising: computing a drift estimate based at least in part on a first set of image frames acquired from a first portion of a sample using a charged particle beam column and a detector; configuring the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; performing drift compensation during acquisition of the second set of image frames based at least in part on the drift estimate.
[0009] Another example provides a charged particle beam system comprising: a charged particle beam column configured to direct a charged particle beam to a sample; a detector configured to detect a response of the sample to the charged particle beam; an electronic controller configured to: compute a drift estimate based at least in part on a first set of image frames acquired from a first portion of a sample using the charged particle beam column and the detector; configure the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; perform drift compensation during acquisition of the second set of image frames based at least in part on the drift estimate. BRIEF DESCRIPTION OF DRAWINGS
[0010] The foregoing aspects and many of the attendant advantages of this disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings.
[0011] Figure 1 The block diagram in FIG. 1 illustrates a scientific instrument according to some examples.
[0012] Figure 2 The flowchart in FIG. 2 illustrates a drift compensation control loop used in the scientific instrument of FIG. 1 according to some examples. Figure 1 The drift compensation control loop used in the scientific instrument of FIG. 1.
[0013] Figure 3 The flowchart in FIG. 2 illustrates a drift compensation control loop used in the scientific instrument of FIG. 1 according to some examples. Figure 2 The drift estimation algorithm used in the drift compensation control loop.
[0014] Figure 4 The performance of the drift estimation algorithm is illustrated graphically according to one example. Figure 3 The performance of the drift estimation algorithm.
[0015] Figure 5 The deflector driver used in the drift compensation control loop is illustrated diagrammatically according to one example. Figure 2 The drift compensation method implemented using the control loop.
[0016] Figure 6 The flowchart in FIG. 2 illustrates a drift compensation control loop used in the scientific instrument of FIG. 1 according to some examples. Figure 2 The drift compensation method implemented using the control loop.
[0017] Figures 7A-7B The performance of the drift compensation method is illustrated graphically according to some examples. Figure 6Optional beam blanking during drift compensation methods.
[0018] Figure 8 The flowchart in FIG. 1 illustrates a method performed via a computing device for providing support to a scientific instrument in accordance with various examples. Figure 1 Scientific instrument support.
[0019] Figure 9 The block diagram in FIG. 1 illustrates a computing device in accordance with some examples. DETAILED DESCRIPTION
[0020] Various embodiments disclosed herein can be advantageously employed in different charged particle beam (CPB) systems. Example CPB systems can include electron beam columns or focused ion beam (FIB) columns. Some CPB systems can include both types of columns, e.g., oriented at an angle of between about 30 and 60 degrees to each other. For illustration purposes and without any implied limitation, some of the embodiments described below refer to CPB systems employing electron beam columns. In light of the provided illustrations, a person of ordinary skill in the relevant arts will be able to create and use other embodiments, e.g., with respect to CPB systems employing FIB columns, without any undue experimentation.
[0021] Without being limited by a particular physical mechanism or phenomenon, image drift in a CPB system can be at least partially due to residual motion in the stage components (e.g., hysteresis in stage actuators), mechanical vibrations of the sample (e.g., system component rotation, environmental vibrations, etc.), and / or sample motion (e.g., thermal dynamic response of the beam energy transferred into the sample material in the form of crystal vibrations, increased Brownian motion, phase changes, thermal expansion / contraction, etc.). Techniques to correct for drift can be used to suppress, compensate, or otherwise attenuate various sources of drift. These include passive vibration isolation (e.g., mechanical attenuation of periodic vibrations), active electromechanical control (e.g., modifying actuator motion control inputs to predict and / or compensate for overshoot, undershoot, and / or hysteresis during stage motion), and active optical control of beam parameters (e.g., modifying one or more operational parameters of the CPB optical column).
[0022] In applications of active electromechanical control, a control model (e.g., feedforward feedback) can be used to modify control signals used to drive the stage in one or more degrees of freedom (e.g., XYZ and tilt) to adjust the function of the signal with respect to time and / or amplitude (e.g., voltage) to attenuate and / or correct for drift. In one example, a transfer function describing the characteristics of stage motion can be obtained from calibrated measurements of the stage. The transfer function can in turn be used to generate actuation instructions based at least in part on measured drift in an image, e.g., as part of a feedback control loop linking image processing outputs to stage control signal inputs.
[0023] In active optics control applications, the manipulation signals provided to the manipulation components of the optical barrel (e.g., a set of electrostatic and / or magnetic deflectors housed within the barrel for manipulating a beam of charged particles) can be modulated in a timely manner to compensate for drift in the image. In this case, modulation of the manipulation signals may include combining the manipulation signals (e.g., a linear combination of time-series voltage signals) with a drift offset signal. This combination may be influenced by the control circuitry (e.g., hardware) of the CPB barrel.
[0024] And / or can be obtained from the hardware of an image processing application and / or system to output a set of time-series voltage signals after drift correction, thereby manipulating a beam of charged particles in one or more dimensions (as a function of time).
[0025] Figure 1 The block diagram in the image illustrates scientific instrument 100 using some examples. The sample S to be queried by scientific instrument 100 is mounted in a controlled actuation system (stage) 110, as shown below. Figure 1 As shown. The electronic controller 150 operates to generate a control signal 158, in which the stage 110 translates the sample S by a specified amount. In various examples, the stage 110 is configured to move the sample S parallel to the XY coordinate plane, the corresponding coordinate system being represented by the XYZ three-axis coordinates, such as... Figure 1 As shown.
[0026] Scientific instrument 100 includes an electron beam tube 102. In the example shown, the electron beam tube 102 includes an electron source 112 and two or more sample-front electron beam lenses, for illustrative purposes. Figure 1 Only two of them are shown schematically, namely the first condenser lens 116 and the second condenser lens 106. In some examples, one or both of lenses 106 and 116 are implemented as multi-component lenses, for example, including two or more corresponding component lenses. In some examples, different (not two) numbers of sample-front electron beam lenses may be used in the electron beam tube 102. Using different configurations of sample-front and sample-back electron beam lens groups, the electron beam tube 102 can be configured for transmission electron microscopy (TEM) measurements or for scanning transmission electron microscopy (STEM) measurements. For illustrative purposes and without any implied limitations, Figure 1 The electron beam tube 102 in the TEM configuration is shown.
[0027] In operation, electron source 112 generates an electron beam 114 that propagates approximately along the longitudinal axis 115 of electron beam tube 102. Electron beam lenses 106 and 116 operate to generate electric and magnetic fields that influence the electron trajectory in electron beam 114. Control signals 152 and 156 generated by electronic controller 150 are used to change the intensity and / or spatial configuration of the fields and to impart desired characteristics to electron beam 114. Generally, electron beam lenses 106 and 116, control signals 152 and 156, and other relevant components of scientific instrument 100 can be used to perform various operations and support various functions, such as beam focusing, aberration reduction, aperture trimming, filtering, etc. Electron beam tube 102 also includes a first beam deflector 128 and a second beam deflector 118, which can deflect electron beam 114 in response to control signals 168 and 154 received from electronic controller 150, respectively. In operation, the first beam deflector 128 can be used in TEM mode to move the irradiation point generated by the collimated electron beam on the sample S in a relatively short time, for example, from a first position to a second position. The second beam deflector 118 can be used in STEM mode to scan the focused electron beam through the sample S.
[0028] The electron beam tube 102 also includes a sample-back electron beam optics assembly 130. The optics assembly 130 typically includes one or more electron beam lenses and one or more apertures. In some examples, the electron beam lenses include an objective lens 132, an intermediate lens (… Figure 1 (Not explicitly shown) and projector lens 136. In some examples, some or all of the objective lens 132, intermediate lens, or projector lens 136 are implemented as multi-component lenses, for example, including two or more corresponding component lenses. In operation, electronic controller 150 generates appropriate control signals to operate the sample back electron beam lens of optics assembly 130 in two or more operating modes, including imaging mode and diffraction mode. For the imaging application described below, optics assembly 130 is configured to operate in imaging mode. In this mode, the objective aperture is inserted into the back focal plane of objective lens 132. Electrons passing through the aperture pass through the intermediate lens and are projected by projector lens 136 onto a two-dimensional (2D) pixelated electron detector (e.g., camera) 180 to form an image of sample S. Detector 180 operates to capture the image and is processed by electronic controller 150 by receiving detector readout signal 182 (with a timestamped image frame representing the captured image).
[0029] In the example shown, the back-of-sample electron beam optics assembly 130 also includes an image deflector 134. The image deflector 134 is configured to translate the image formed on the electron detector 180 along a selected direction in the XY coordinate plane in response to a control signal 164 received from the electronic controller 150. For example, in TEM mode, when the deflector 128 changes the electron beam deflection angle in the front-of-sample optics of the electron beam tube 102, the image deflector 134 can be used to partially compensate for or substantially eliminate image shift on the detector 180.
[0030] In some examples, the electron beam tube 102 also includes an optional beam valve 120. In the example shown, the beam valve 120 is located between the electron source 112 and the first beam deflector 128. In other examples, the beam valve 120 may be placed at another suitable sample-front position within the electron beam tube 102.
[0031] In the example shown, the beam valve 120 includes an electrostatic beam deflector composed of a first electrode 124 and a second electrode 126. When a sufficiently strong electric field exists between electrodes 124 and 126 (due to their appropriate bias voltage), this electric field interacts with the electron beam 114, causing the electron beam to deflect from the longitudinal axis 115. Then, the electron beam trap ( Figure 1 (Not explicitly shown) The deflected electron beam 114 is intercepted (blocked), and the corresponding current is directed to a charge absorber, such as the ground terminal of the electron beam tube 102. When there is no electric field between electrodes 124 and 126, the electron beam 114 passes through the beam valve 120 without deflection and continues to propagate along the longitudinal axis 115 toward the sample S. In other examples, other suitable physical mechanisms can be used to gate the electron beam 114 in the electron beam valve 120. In other examples, a relatively fast magnetic beam deflector can also be used for the beam valve 120.
[0032] In response to the gating signal 160 received from the electronic controller 150, the beam valve 120 operates to stop and pass the electron beam 114 at different times. The electronic controller 150 is used to set various parameters of the gating signal 160. The joint control of the gating signal 160 and the deflector control signals 154, 164, 168 applied by the electronic controller 150 enables any desired synchronization and / or correlation between the control signals.
[0033] In the TEM configuration, the electron beam tube 102 operates to project a collimated, wide electron beam onto the sample S, such as... Figure 1In contrast, for STEM measurements, the pre-specimen lens configuration of the electron beam column 102 is such that the electron beam is focused to a fine spot (e.g., 0.05-0.2 nm in diameter) and then scanned over the sample S such that the electron beam at each point on the sample S follows a scan path (e.g., following a raster pattern) that is substantially parallel to the longitudinal axis 115. Example hardware differences between the TEM and STEM configurations of the scientific instrument 100 include the use of an additional scan coil, different detectors, and corresponding auxiliary circuitry in the STEM configuration. In some examples, the electron detectors used for STEM measurements can include one or more of a bright field (BF) detector, an annular dark field (ADF) detector, and a high-angle annular dark field (HAADF) detector. In some examples, the electron beam column 102 and the instrument 100 can be switchable between TEM and STEM operating modes.
[0034] Figure 2 The relative order and positions of the various optical elements in the illustrated electron beam column 102 represent only one example of how the optical elements can be arranged. In other examples, the optical elements in the electron beam column 102 can also take other relative orders and / or positions.
[0035] Figure 3 The block diagram in FIG. 2 illustrates a drift compensation control loop 200 used in the scientific instrument 100 according to some examples. Such examples are representative of the case of active electromechanical control described above. A set of modules of the electronic controller 150 used in the control loop 200 includes an image shift tracker 210, a stage controller 220, and a deflector driver 230. The image shift tracker 210 receives the detector readout signals 182 from the camera 180 and determines the sample S displacement (Ax, Ay) induced by drift as a function of time by processing corresponding image frames (e.g., in the manner described in more detail below). A stream 212 of the determined drift-induced displacements (Ax, Ay) is processed by the stage controller 220 using a drift estimation algorithm described in more detail below to determine motion setpoints, which are then fed to the stage 110 through control signals 158 to counteract the motion of the sample S image drift relative to the camera 180. The deflector driver 230 operates to generate control signals 154 for the beam deflector 128 of the electron beam column 102 in a manner that moves the electron beam illumination point 214 on the sample S in a way that protects a radiation-sensitive point of interest (POI) of the sample S from excessive exposure to the electron beam 114 and does not interrupt the drift estimation algorithm operated by the stage controller 220.
[0036] In some examples, the image shift tracker 210 is configured to measure the sample S displacement vector (Ax, Ay) due to drift using image cross-correlation. For two consecutive pixelated images f and g received by the image shift tracker 210 via the detector readout signal 182, the sequence of image processing operations performed by the image shift tracker 210 for this purpose includes the following example operations. First, the Fourier transforms F and G of the images f and g are computed as represented by equations (1)-(2):
[0037] F = FFT {f} (1)
[0038] G = FFT {g} (2)
[0039] where FFT denotes the fast Fourier transform operation. Next, the correlation map R is computed as follows:
[0040]
[0041] where denotes the Hadamard product; * denotes the complex conjugate. In some examples, an optional Fourier filtering operation can be added in the computation of R to achieve a band-pass filtering property by suppressing the effects of low and high frequencies. Then, the cross-correlation image r is obtained by applying the inverse Fourier transform to the correlation map R:
[0042] r = IFFT {R} (4)
[0043] where IFFT denotes the fast inverse Fourier transform operation. Finally, the displacement vector (Ax, Ay) is determined by finding the coordinates of the maximum value r ij in the cross-correlation image r as follows:
[0044]
[0045] where i and j are the pixel indices corresponding to the x and y coordinates, respectively. In some examples, a model function can also be fitted to the peak in the cross-correlation image to achieve sub-pixel positioning accuracy. The operations represented by equations (1)-(5) are repeated for different pairs of pixelated images received by the image shift tracker 210 via the detector readout signal 182. The resulting sequence of measured displacement vectors (Ax, Ay) forms the stream 212, which is directed to the stage controller 220.
[0046] In other examples, the image shift tracker 210 can be configured to determine the displacement vector (Ax, Ay) and generate the data stream 212 using other suitable image registration, correlation, and / or tracking techniques.
[0047] Figures 1-2The flowchart in FIG. 3 illustrates a drift estimation algorithm 300 used in stage controller 220 according to some examples. Algorithm 300 takes as input a stream of measured displacement vectors (Δx k ,Δy k ) 212 generated by image offset tracker 210 or the like, and computes an estimated drift velocity vector at time k. The estimated drift velocity vector stream 322 is directed to a driver circuit connected to stage 110, and used to generate control signals 158 sent to stage 110 after pre-processing and / or mapping (see also Figure 5 ).
[0048] Block 310 of algorithm 300 is used to convert the stream of measured displacement vectors (Δx k ,Δy k ) 212 into a corresponding stream of measured velocity values U k 312. Each velocity U k is a vector value having two corresponding components (u x ,u y ), which are computed as follows:
[0049] u x = Δx k / Δt k (6)
[0050] u y = Δy k / Δt k (7)
[0051] where (Δx k ,Δy k ) is the measured displacement vector corresponding to time k; and Δt k is the time difference between the two corresponding pixelated images f and g. In some examples, Δt k is determined by computing the time difference between the respective time stamps of the image frames carrying images f and g. The stream of measured velocity values U k 312 generated in this way is applied to Kalman filter 302, which includes blocks 320, 330 and 340.
[0052] Kalman filter 302 performs Kalman filtering, also known as linear quadratic estimation (LQE). Kalman filtering uses a series of measurements observed over time, including statistical noise and other inaccuracies, and generates estimates of unknown variables that tend to be more accurate than estimates based on a single measurement alone. In algorithm 300, stream 312 represents a series of measurements observed over time, and stream 322 represents estimates generated. In various examples, stream 312 includes a first stream portion corresponding to a first position of electron beam 114 on sample S and a second stream portion corresponding to a second, different position of electron beam 114 on sample S. See Figure 4 for a more detailed description of such first and second position examples. The first and second stream portions of stream 312 are applied to Kalman filter 302 in succession. Kalman filter 302 uses the two stream portions to generate stream 322.
[0053] Kalman filter 302 implements an example of a recursive algorithm that can run in real time, using only the current velocity measurement U k and the velocity state (comprising respective covariances) calculated in the previous iteration. As used herein, the term “real time” refers to a computer-based process that controls a corresponding environment by receiving data, processing the received data, and generating a response at a speed fast enough to affect the environment without significant delay. Real-time responses are generally understood to be on the order of milliseconds, and sometimes microseconds. In the context of control loop 200, “real-time” updates mean that the velocity state is accurate enough to represent the motion of sample S at time k corresponding to drift.
[0054] Blocks 320 and 330 represent two different processing stages of Kalman filter 302, referred to as an update stage and a prediction stage, respectively. In update stage 320, the estimated drift velocity vector is updated according to the previously calculated velocity state and the current velocity measurement U kand applicable state-space model calculations. A typical example of a state-space model that can be used for the calculation of block 320 is described in E. P. van Horssen, B. J. Janssen, A. Kumar, et al., “Image-based feedback control for drift compensation in an electron microscope,” IFAC Journal of Systems and Control, vol. 11, pp. 100074-100088, 2020, which is hereby incorporated by reference in its entirety. In various additional examples, other suitable state-space models can likewise be used for block 320.
[0055] In the prediction phase 330, the velocity state is predicted (including the corresponding covariance) from the estimated drift velocity vector and a dynamic model of the drift. In some examples, the dynamic model of the drift can be an exponentially decaying model. For the first iteration, the estimated drift velocity vector is not available, and the initial velocity guess value V0is used instead In some examples, the initial velocity guess value is V0= 0.
[0056] The operation of block 340 serves to update the time index of the various computed variables in preparation for the next round of calculations corresponding to the provision of the next velocity measurement U k in response to the receipt of the next displacement vector (Δx k , Δy k ) value by block 310. Block 340 appears in the processing loop of Kalman filter 302 as a manifestation of the corresponding computational recursive nature.
[0057] Figure 4 The performance of algorithm 300 is illustrated graphically according to one example. Figure 4 The data shown in FIG. 4 was obtained by computer simulation. In the example shown, the spectrum 402 represents the “true straight-line” drift velocity, which is not directly observable in scientific instrument 100. Spectrum 404 represents the stream 312 of measured velocity values U k . Spectrum 404 is significantly offset from the true straight-line spectrum 402. The offset is a manifestation of the effect of velocity measurement noise. A first-order hold (FOH) method of compensating for the drift-induced motion of sample S directly from the immediate velocity values U k would disadvantageously produce a scatter in control signal 158 similar to that of spectrum 404 about spectrum 402.
[0058] Figure 4The spectrum 406 shown in FIG. 6 represents the estimated drift velocity vector generated using the algorithm 300 of the flow 322. In this example, the initial velocity guess value applied to the block 330 of the algorithm 300 is V0= 0. Multiple iterations of the Kalman filter 302 are needed before the spectrum 406 converges to the reference straight-line spectrum 402. The corresponding convergence time is denoted as t Figure 5 in FIG. 6. c At time t > t c , the spectrum 406 substantially locks with the reference straight-line spectrum 402.
[0059] Figure 5 The operation of the deflector driver 230 is illustrated according to one example in a diagrammatic manner. More specifically, Figure 2 A low-resolution TEM image 500 of the sample S is shown. The central portion of the image 500 represents the POI where the radiation-sensitive specimen is located. The circles labeled 2141 and 2142 (see also Figure 5 ) represent the first and second positions of the electron beam 114 on the sample S, respectively. The first position 2141 is outside the POI. The second position 2142 overlaps with the POI. To move the electron beam 114 from the first position 2141 shown in FIG. 6 to the second position 2142 by the beam translation vector 502, the deflector driver 230 changes the beam deflector control signal 168 applied to the beam deflector 128 in a step-like manner. As a result of this change, the electron beam 114 substantially jumps from the first position 2141 to the second position 2142 without any significant dwell at other points along the length of the beam translation vector 502. Figure 5
[0060] In some examples, the electron beam 114 can also be moved from the first position 2141 to the second position 2142 on the sample S by operating the stage 110 instead of the beam deflector 128. In such examples, the stage controller 220 changes the control signal 158 applied to the stage 110 in a step-like manner while the beam deflection angle remains unchanged. As a result of the change in the control signal 158, the stage 110 moves in a direction opposite to the vector 502, causing the electron beam 114 to move from the first position 2141 to the second position 2142 relative to the sample S, as shown in Figure 6 .
[0061] Figure 6 The flowchart in FIG. 6 illustrates a drift compensation method 600 implemented using the control loop 200 according to some examples. The method 600 has parallel threads 601, 603, 605, and 607 corresponding to the camera 180, the deflector driver 230, the image shift tracker 210, and the stage controller 220, respectively. Figures 1-6 The timelines shown to the left of threads 601, 603, 605, and 607 indicate the relative timing of different operations performed within the threads. Continuing with reference to Figure 5 method 600 will now be described.
[0062] Threads 601, 603, 605, and 607 respectively include control operations 602, 604, 606, and 608 that are executed at t = t0. Control operation 604 configures deflector driver 230 to generate control signal 168, which causes beam deflector 128 to deflect electron beam 114 such that the electron beam irradiation point is at a first position 2141 (see also Figure 6 ). In some examples, the selected first position 2141 is such that the corresponding region of sample S includes relatively high contrast features and is relatively resistant to electron irradiation. Control operation 602 causes camera 180 to begin acquiring a sequence of image frames of the illuminated region of sample S, e.g., at regular time intervals. Each acquired image frame is timestamped and provided to image offset tracker 210 via readout signal 182. Control operation 606 causes image offset tracker 210 to begin processing pairs of image frames received from camera 180 to determine corresponding displacement vectors (Δx k , Δy k ), e.g., according to formulas (1)-(5) cited above. Control operation 608 causes stage controller 220 to initiate drift estimation algorithm 300 and begin processing stream 212 and determining an estimated drift velocity vector
[0063] Thread 607 further includes control operation 618 that is executed at t = t1. Threads 603 and 605 further include control operations 614 and 616 that are executed at t = t2, respectively. In various examples, the following relative timings for times t1 and t2 can be implemented: (i) t1 < t2 as Figure 4 shown, without any implied limitation; (ii) t1 = t2; or (iii) t1 > t2. In each such example, the selected time difference (t2 - t0) is generally greater than the convergence time t c , as described in Figure 4 cited above.
[0064] Control operation 618 causes stage controller 220 to begin actuating stage 110 based on the estimated drift velocity vector computed using algorithm 300 for stream 322. As Figure 5 shown, such actuation tends to relatively accurately cancel out the motion caused by drift of sample S, thereby keeping the sample nearly stationary within the field of view of camera 180.
[0065] Control operation 614 configures the deflector driver 230 to change the control signal 168 applied to the electron beam deflector 128 so that the electron beam illumination spot jumps from a first location 2141 in the sample S to a second location 2142, e.g., as indicated by the beam translation vector 502 in Figures 7A-7B In some examples, the second location 2142 overlaps a POI of the sample S that can be relatively sensitive to electron irradiation.
[0066] In some examples, control operation 616 configures the image shift tracker 210 to skip one output of the stream 212. The skipped output corresponds to an image frame pair f, g, where image frame f is acquired with the electron beam 114 at the first location 2141 and image frame g is acquired with the electron beam 114 at the second location 2142. While the Kalman filter 302 normally alternates between update phase 320 and prediction phase 330 in runtime, the alternation is not strictly required. For example, if no measured velocity value U k is received for any reason, then the update phase 320 can be skipped and another instance of the prediction phase 330 can be performed using the current existing configuration. In Kalman filtering techniques, this type of processing is referred to as a "multiple prediction procedure." Thus, in response to the skipped output from the image shift tracker 210, the algorithm 300 operates to skip an instance of the update phase 320 and continues with the next instance of the prediction phase 330 according to the multiple prediction procedure. After the skipped output corresponding to control operation 616, the image shift tracker 210 resumes regular output of the displacement vector (Δx k , Δy k ) now measured using the image frame pair f, g acquired with the electron beam 114 at the second location 2142. The algorithm 300 thus also resumes the regular alternation of the update phase 320 and the prediction phase 330. In other examples, the above-described scenario of applying a skip to the image shift calculation in the image shift tracker 210, rather than applying a skip to the stream 212, can occur when the deflection corresponding to the beam translation vector 502 is relatively fast. Generally, the image shift tracker 210 can need to be "reinitialized" to handle the movement of the electron beam from the first location 2141 to the second location 2142. By way of example, such reinitialization can include resuming tracking without considering the history of one or more previous frames.
[0067] Threads 601, 603, 605, and 607 stop at time t = t3. In some examples, time t3 is selected such that the integrated electron beam exposure of the POI over the time interval [t2, t3] reaches a fixed threshold dose. The threshold - dose value is a configuration parameter of method 600, which can be selected according to the content of the POI and the electron irradiation tolerance of the corresponding chemical and / or biological substances. In other examples, time t3 is selected such that the time difference (t3 - t2) equals a fixed threshold duration. Again, the threshold duration is a configuration parameter of method 600, which can be selected according to the content of the POI and the electron irradiation tolerance of the corresponding chemical and / or biological substances.
[0068] In some examples, method 600 can be configured to revisit first position 2141 one or more times to improve the lock of Kalman filter 302 on sample S drift-induced motion or to recalibrate the drift compensation parameters. The revisit can be useful, for example, when the accuracy of the lock of second position 2142 degrades gradually during a long acquisition, or when the tracking of second position 2142 does not yield sufficiently accurate measurements over the time interval between times t2 and t3.
[0069] After method 600 terminates, the stack of time-stamped image frames acquired over the time interval [to, t3] typically requires post-processing. An example of a post-processing operation includes dividing the acquired image frames into a first batch and a second batch, corresponding to the time intervals [to, max(tl, t2)] and [max(tl, t2), t3], respectively. The time interval [max(tl, t2), t3] corresponds to a configuration of control loop 200 in which (i) electron beam 114 is at second position 2142, and (ii) stage controller 220 actively actuates stage 110 to counteract drift-induced motion and to make sample S nearly stationary in the field of view of camera 180. In some examples, the output format of the second batch is the EER format, where the acronym EER stands for Electron Event Representation. The EER format is described in detail in U.S. Patent Application Publication No. 2019 / 0228949, which is incorporated herein in its entirety. In some examples, the first batch is discarded directly and the second batch is processed to obtain science-relevant data.
[0070] An example of a post-processing operation further includes applying global and local motion correction to the second batch of image frames to construct a single high-resolution image of the POI. Suitable motion correction software is commercially available, one representative example being the MotionCor3 software package sold by Chan Zuckerberg Imaging Institute (CZII). Further post-processing operations can be applied to implement cryo-electron tomography or single-particle analysis, depending on the intended application.
[0071] Figure 7A The operation of the beam deflector 128 and the optional beam valve 120 during the execution of the method 600 is illustrated graphically according to some examples. More specifically, Figure 7B The position of the electron beam 114 as a function of time is illustrated graphically. Figure 7A The gating of the beam valve 120 applied to the electron beam 114 as a function of time is shown graphically.
[0072] Reference is made to Figure 7B At time t < t2, the electron beam 114 is in the first position 2141. At time t = t2, the electron beam 114 is moved from the first position 2141 to the second position 2142 along the beam equilibrium vector 502. At time t > t2, the electron beam 114 is in the second position 2142.
[0073] Reference is made to Figure 8 The gating signal 160 has a first segment and a second segment, labeled 702 and 704, respectively, with a transition from the first segment 702 to the second segment 704 occurring at time t = t2. Each of the first segment 702 and the second segment 704 includes a respective sequence of gating pulses, with states alternating between off and on. In the off state of the gating signal 160, the beam valve 120 prevents the electron beam 114 from reaching the sample S. In the on state of the gating signal 160, the beam valve 120 allows the electron beam 114 to hit the sample S. The electronic controller 150 operates the camera 180 to cause the camera to acquire a respective image frame in the on state of the gating signal 160 and to read out a respective image frame from the camera during the off state of the gating signal 160.
[0074] In some examples, the pulse repetition rate (or period) of the first segment 702 and the second segment 704 is the same, but the respective on duty cycle is different. More specifically, the on duty cycle in the first segment 702 is greater than the on duty cycle in the second segment 704. This characteristic of the gating signal 160 facilitates the algorithm 300 to lock onto the drift-induced motion of the sample S relatively quickly and advantageously limits the radiation exposure of the POI.
[0075] Figure 1 The flowchart in FIG. 8 illustrates a method 800 for providing support to the instrument 100 via a computing device according to various examples. In some examples, the method 800 is implemented via the controller 150 Figure 9 In other examples, the method 800 is implemented via one or more computing devices 900 Figure 5 Different embodiments of the method 800 can be used with scientific instruments 100 configured to operate in different configurations, such as the TEM configuration and the STEM configuration described above.
[0076] The method 800 includes obtaining a set of drift measurements (in block 802). In different examples, such a set of drift measurements can include a single drift measurement or two or more drift measurements. In various examples, the drift measurements obtained in block 802 can be position values, velocity values, or acceleration values. In some examples, the drift measurements are obtained by processing one or more image frames, e.g., using the formulas (1)-(5) referenced above.
[0077] In at least some examples, different instances of block 802 are executed in different scenarios of a processing loop, including blocks 802-808. In some examples, an instance of block 802 includes obtaining drift measurements corresponding to a first portion of the sample S. In other examples, an instance of block 802 includes obtaining drift measurements corresponding to a second portion of the sample S.
[0078] Figure 9 The electron beam illumination spots 2141 and 2142 shown in FIG. 2 provide non-limiting examples of such first and second portions, respectively.
[0079] The method 800 also includes computing a drift estimate (in block 804). In various examples, the drift estimate is computed in block 804 based on a set of drift measurements obtained in one or more previous instances of block 802. For at least some instances of the processing loop 802-808, the operation of block 804 includes computing the drift estimate based at least in part on one or more drift measurements obtained from a set of image frames captured from the aforementioned first portion of the sample. For at least some instances of the processing loop 802-808, the operation of block 804 includes computing the drift estimate based at least in part on one or more drift measurements obtained from a set of image frames captured from the aforementioned second portion of the sample. For at least some instances of the processing loop 802-808, the operation of block 804 includes computing the drift estimate based on (i) one or more drift measurements obtained from a set of image frames captured from the aforementioned first portion of the sample and (ii) one or more drift measurements obtained from a set of image frames captured from the aforementioned second portion of the sample.
[0080] In some examples, the operations of block 804 include updating a previously computed drift estimate, e.g., using a recursive update algorithm. Algorithm 300 is a non-limiting example of such a recursive update algorithm. In some examples, the previously computed drift estimate is obtained using the following operations: (i) computing a first sequence of drift measurements using different subsets of the set of image frames acquired from the above-described first portion of the sample; (ii) applying the first sequence to a first smoothing filter. The previously computed drift estimate is then updated using the following operations: (i) computing a second sequence of drift measurements using different subsets of the set of image frames acquired from the above-described second portion of the sample; (ii) applying the second sequence to a different, second smoothing filter. In some examples, the second smoothing filter is the same as the first smoothing filter, and the second sequence is applied thereto after the first sequence, e.g., the Kalman filter 302 referenced above.
[0081] The method 800 further includes performing drift compensation (in block 806). In some examples, the operations of block 806 include generating one or more control signals based at least in part on the drift estimate computed in block 804, and applying such control signals to one or both of the electron beam column 102 and the stage 110. In some examples, the operations of block 806 include controlling actuation of the stage coupled to the sample. In some examples, the operations of block 806 include controlling a charged particle optical element of the charged particle beam column to apply a beam correction corresponding to the drift estimate.
[0082] As noted above, different instances of block 806 are performed in different scenarios of the processing loop 802-808. In some
[0083] Examples, the instance of block 806 includes performing drift compensation when the charged particle beam is illuminating the above-described first portion of the sample. In some examples, the instance of block 806 includes performing drift compensation when the charged particle beam is illuminating the above-described second portion of the sample.
[0084] The operations of decision block 808 control exit from the processing loop 802-808, and include determining whether image acquisition is complete. In some examples, the determination of decision block 808 includes comparing a cumulative dose of illumination to which the second portion of the sample has been subjected to a fixed (e.g., preselected) threshold. In other examples, the determination of decision block 808 includes running a timer to count a cumulative illumination time of the second portion of the sample, and comparing the cumulative illumination time to a fixed (e.g., preselected) duration of time. In yet other examples, other suitable (e.g., sample-specific) exit criteria can be similarly used in decision block 808.
[0085] When it is determined that image capture is not complete (NO at decision block 808), the method 800 loops back to block 802. When it is determined that image capture is complete (YES at decision block 808), the method 800 terminates.
[0086] Figure 9 The block diagram in FIG. 9 illustrates a computing device 900 according to some examples. In various examples, the electronic controller 150 can be implemented by a single computing device 900 or multiple computing devices 900. In some examples, an instance of the computing device 900 can be used to implement the algorithm 300 and / or the method 600.
[0087] Figure 9 The computing device 900 is shown as having a number of components, but any one or more of these components can be omitted or duplicated, as appropriate, and / or disposed according to an application and setup. In some embodiments, some or all of the components included in the computing device 900 can be attached to one or more motherboards and enclosed in a housing. In some embodiments, some of the components can be manufactured onto a single system on a chip (SoC) (e.g., the SoC can include one or more electronic processing devices 902 and one or more storage devices 904). Further, in various embodiments, the computing device 900 can not include one or more of the components shown, but can include an interface circuitry to couple to the one or more components using any suitable interface (e.g., a universal serial bus (USB) interface, a high-definition multimedia interface (HDMI) interface, a controller area network (CAN) interface, a serial peripheral interface (SPI) interface, an Ethernet interface, a wireless interface, or any other suitable interface). Figures 1-9
[0088] The computing device 900 includes a processing device 902 (e.g., one or more processing devices). As used herein, the terms “electronic processor device” and “processing device” are interchangeable and refer to any device or portion of a device that processes electronic data from registers and / or memory to transform that electronic data into other electronic data that can be stored in registers and / or memory. In various embodiments, the processing device 902 can include one or more digital signal processors (DSPs), application-specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), server processors, field-programmable gate arrays (FPGAs), or any other suitable processing devices.
[0089] The computing device 900 also includes a storage device 904 (e.g., one or more storage devices). In various embodiments, the storage device 904 can include one or more memory devices, such as random access memory (RAM) devices (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard disk drive-based memory devices, solid-state memory devices, network drives, cloud drives, or any combination of memory devices. In some embodiments, the storage device 904 can include a memory that shares a die with the processing device 902. In such embodiments, the memory can function as cache memory and include, for example, embedded dynamic random access memory (eDRAM) or spin-transfer torque magnetic random access memory (STT-MRAM). In some embodiments, the storage device 904 can include a non-transitory computer-readable medium having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 902), cause the computing device 900 to perform any appropriate method disclosed herein, or portions of such methods.
[0090] The computing device 900 also includes interface device(s) 906 (e.g., one or more interface devices 906). In various embodiments, the interface device(s) 906 can include one or more communication chips, connectors, and / or other hardware and software to manage communication between the computing device 900 and other computing devices. For example, the interface device(s) 906 can include circuitry for managing wireless communications for the transmission of data to and from the computing device 900. The term “wireless” and its derivatives can be used to describe circuits, devices, systems, methods, techniques, communications channels, and / or the like that can communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. The circuitry included in the interface device(s) 906 for managing wireless communications can implement any of a number of wireless standards or protocols, including but not limited to IEEE 802.11 standards including Wi-Fi, IEEE 802.16 standards, Long Term Evolution (LTE) project and any amendments, updates and / or revisions thereof (e.g., LTE-Advanced, Ultra Mobile Broadband (UMB) project (also referred to as “3GPP2”), and / or the like). In some embodiments, the circuitry included in the interface device(s) 906 for managing wireless communications can operate in accordance with Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile
[0091] In some embodiments, the interface device 906 can include circuitry for managing wired communications, such as electrical communication protocols, optical communication protocols, or any other suitable communication protocols. For example, the interface device 906 can include communication circuitry that supports communications in accordance with Ethernet technology. In some embodiments, the interface device 906 can support both wireless and wired communications, and / or can support multiple wired communication protocols and / or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 906 can be dedicated to short-range wireless communications such as Wi-Fi or Bluetooth, while a second set of circuitry of the interface device 906 can be dedicated to long-range wireless communications such as Global Positioning System (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, and so on. In other embodiments, a first set of circuitry of the interface device 906 can be dedicated to wireless communications, and a second set of circuitry of the interface device 906 can be dedicated to wired communications.
[0092] The computing device 900 also includes a battery / power supply circuit 908. In various embodiments, the battery / power supply circuit 908 can include one or more energy storage devices (e.g., batteries or capacitors) and / or circuitry for coupling components of the computing device 900 to an energy source separate from the computing device 900 (e.g., to an AC line power source).
[0093] The computing device 900 also includes a display device 910 (e.g., one or more separate display devices). In various embodiments, the display device 910 can include any visual indicator, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat-panel display.
[0094] The computing device 900 also includes additional input / output (I / O) devices 912. In various embodiments, the I / O devices 912 can include one or more data / signal transmission interfaces, audio I / O devices (e.g., microphones or microphone arrays, speakers, headphones, earbuds, alarms, etc.), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, etc.), image capture devices (e.g., one or more cameras), human interface devices (e.g., keyboards, cursor control devices such as mice, stylus, trackballs, or touchpads), and so on.
[0095] According to particular embodiments of system 100, various components of interface device 906 and / or I / O device 912 can be configured to transmit and receive appropriate control messages, appropriate control / telemetry signals, and data streams. In some examples, interface device 906 and / or I / O device 912 include one or more analog-to-digital converters (ADCs) for converting received analog signals to a digital form suitable for performing operations by processing device 902 and / or storage device 904. In some additional examples, interface device 906 and / or I / O device 912 include one or more digital-to-analog converters (DACs) for converting digital signals provided by processing device 902 and / or storage device 904 to an analog form suitable for being communicated to corresponding components of system 100.
[0096] According to one example disclosed above, e.g., in any combination of the Abstract section and / or Figures 1-9 a method performed by a computing device for providing support for a charged particle beam system, the method comprising: computing a drift estimate based at least in part on a first set of image frames acquired from a first portion of a sample using a charged particle beam column and a detector; configuring the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; performing drift compensation during acquisition of the second set of image frames based at least in part on the drift estimate.
[0097] In some examples of the above method, performing drift compensation comprises controlling actuation of a stage coupled to the sample.
[0098] In some examples of any of the above methods, performing drift compensation comprises controlling a charged particle optical element of the charged particle beam column to correct for the drift estimate.
[0099] In some examples of the above method, the method further comprises adjusting a charged particle beam directed to the sample via the charged particle beam column in accordance with a pulsed gating signal.
[0100] In some examples of the above method, the pulsed gating signal is configured to assume a first duty cycle value when the beam is directed to the first portion of the sample and a different second duty cycle value when the beam is directed to the second portion.
[0101] In some examples of any of the above methods, the first set of image frames comprises a first subset and a second subset, acquisition of the second subset being later than acquisition of the first subset; and wherein performing drift compensation comprises performing drift compensation during acquisition of the second subset based at least in part on a preliminary value of the drift estimate, the preliminary value being computed based at least in part on the first subset.
[0102] In some examples of any of the above-described methods, the second set of image frames includes a first subset and a second subset, the second subset being acquired later than the first subset; and the method further includes updating the drift estimate based at least in part on the first subset; wherein performing drift compensation includes performing drift compensation based at least in part on the updated drift estimate during acquisition of the second subset.
[0103] In some examples of any of the above-described methods, calculating the drift estimate includes determining one or more displacement vectors based at least in part on the first set of image frames.
[0104] In some examples of any of the above-described methods, calculating the drift estimate includes: calculating a sequence of drift measurements using different subsets of the first set of image frames; and determining the drift estimate based at least in part on the sequence.
[0105] In some examples of any of the above-described methods, the method further includes updating the drift estimate using one or more image frames of the second set of image frames.
[0106] In some examples of any of the above-described methods, calculating the drift estimate includes: calculating a first sequence of drift measurements using different subsets of the first set of image frames; applying the first sequence to a smoothing filter; wherein updating the drift estimate includes: calculating a second sequence of drift measurements using different subsets of the second set of image frames; applying the second sequence to the smoothing filter after the first sequence.
[0107] In some examples of any of the above-described methods, the drift measurements in the first and second sequences are selected from the group consisting of position values, velocity values, and acceleration values.
[0108] In some examples of any of the above-described methods, the smoothing filter is configured to perform multiple predictions at a junction between the first and second sequences.
[0109] A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform operations comprising one of any of the above-described methods.
[0110] According to another example disclosed above, e.g., in any combination of the Abstract section and / or Figures 1-9 the Summary section, there is provided a charged particle beam system, comprising: a charged particle beam column configured to direct a charged particle beam to a sample; a detector configured to detect a response of the sample to the charged particle beam; an electronic controller configured to: calculate a drift estimate based at least in part on a first set of image frames acquired from a first portion of the sample using the charged particle beam column and the detector; configure the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; perform drift compensation during acquisition of the second set of image frames based at least in part on the drift estimate.
[0111] In some examples of the aforementioned systems, the system also includes a stage coupled to the sample, wherein the electronic controller is configured to control the actuation of the stage by at least partly based on drift estimates for drift compensation.
[0112] In some examples of any of the above systems, the electronic controller is configured to perform drift compensation by controlling the beam deflection of the charged particle beam barrel based at least in part on drift estimates.
[0113] In some examples of any of the above systems, the first set of image frames and the second set of image frames represent transmission electron microscope (TEM) images.
[0114] In some examples of any of the above systems, the first set of image frames and the second set of image frames represent scanning transmission electron microscopy (STEM) images.
[0115] In some examples of the above systems, the first and second parts are non-overlapping portions of the sample.
[0116] According to another example disclosed above, such as in the summary section and / or in part or in whole citation Any combination thereof provides a method executed by a computing device for supporting a charged particle beam system, the method comprising: calculating a drift estimate based at least in part on a first set of image frames acquired from a first portion of a sample using a charged particle beam microscope and detector; configuring a stage thereto, with which the sample is coupled, to move the sample relative to the detector, thereby enabling the charged ion beam microscope and detector to acquire a second set of image frames from a second portion of the sample; and performing drift compensation at least in part on the drift estimate during the acquisition of the second set of image frames.
[0117] It should be understood that the above description is intended to be illustrative and not restrictive. Many specific implementations and applications beyond the examples provided will become apparent upon reading the above description. The scope should not be determined by reference to the above description, but rather by reference to the appended claims and the full scope of their equivalents. Future developments in the art discussed herein are anticipated and intended, and the disclosed systems and methods will be incorporated into the future examples described. In conclusion, it should be understood that this application is capable of modifications and variations.
[0118] All terms used in the claims are intended to be given their broadest reasonable interpretation and their ordinary meaning as understood by one of ordinary skill in the art as described herein, unless expressly indicated otherwise herein. Specifically, the use of singular articles such as “a,” “the,” “the,” etc., should be understood to enumerate one or more of the indicated elements, unless the claims expressly limit to the contrary.
[0119] The Abstract is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is not intended to be used to interpret or limit the scope or meaning of the claims. Additionally, in the foregoing Detailed Description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure can be practiced without
[0120] Unless specifically stated otherwise, each numerical value and range should be interpreted as approximately as if the word "about" preceded the respective value and range.
[0121] Although elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence it is not necessarily meant to imply that those elements need to be performed in the order recited, or in any particular order.
[0122] The use of the ordinal adjectives "first," "second," "third," etc. are to distinguish between two or more aspects, implementations, examples, etc. and are not to be construed as limiting the number of objects that can be employed in accordance with the disclosure.
[0123] Objects thus designated need not always be in temporal or spatial priority to each other, unless otherwise explicitly stated.
[0124] Unless specifically stated otherwise, the term "if' can or alternatively be interpreted as meaning "when" or "while" or "in response to determining" or "in response to detecting," depending on the context. For example, the phrase "if a condition is satisfied" or "if [a stated condition or event] is detected" can be interpreted as meaning "upon satisfaction of a condition" or "in response to a determination" or "upon detecting [a stated condition or event]" or "in response to detecting [a stated condition or event]."
[0125] Also for purposes of this specification, the terms "coupled" and "connected," or any variant thereof, are intended to mean any connection or coupling, either direct or indirect, between elements, and can encompass a physical or electrical relationship between the elements. In contrast, the term "directly coupled" or "directly connected" is intended to mean that two elements are coupled or connected without any additional elements interposing between them.
[0126] The functions of the various elements shown in the figures, including any functional blocks labeled as "processors" and / or "controllers", can be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which can be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and can implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and / or custom, can also be included. Similarly, any switches shown in the figures are conceptual only. Their function can be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
[0127] As used in this application, the term "circuitry" can refer to one or more or all of the following: (a) hardware-only circuitry (e.g., in an analog and / or digital circuit); (b) a combination of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware; and (ii) any portions of hardware processor(s) with software (including digital signal processor; software; and memory that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) ; and (c) hardware circuit(s), such as a microprocessor(s) or a portion of a microprocessor, that requires software (e.g., firmware) to operate, but that software can not be present when it is not needed for the microprocessor to operate. This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation that has a dedicated hardware circuit or processor (or multiple processors) and accompanying software / or firmware that work together to cause an apparatus, such as a baseband or processor integrated circuit for a mobile device, or a similar integrated circuit in a server, cellular network device, or other computing or network device, to perform various functions. The term "circuitry" also covers (for example, and if applicable to a particular claim element) an implementation that is a combination of hardware circuit(s) and / or processor(s) with software (including digital signal processor; software; and memory that work together to cause an apparatus, such as a baseband or processor integrated circuit for a mobile device, or a similar integrated circuit in a server, cellular network device, or other computing or network device, to perform various functions).
[0128] Those of ordinary skill in the art will appreciate that any block diagrams herein representing illustrative circuit conceptualizations embodying the principles of the present disclosure. It will also be appreciated that any flow diagrams, flow charts, state transition diagrams, pseudocode, and the like represent various processes which can be substantially represented in computer readable medium and thus executed by a computer or processor, whether or not the computer or processor is explicitly shown.
Claims
1. A method performed via a computing device for providing support for a charged particle beam system, the method comprising: computing a drift estimate based at least in part on a first set of image frames acquired from a first portion of a sample using a charged particle beam column and a detector; configuring the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; performing drift compensation based at least in part on the drift estimate during acquisition of the second set of image frames.
2. The method of claim 1, performing the drift compensation comprises controlling actuation of a stage coupled to the sample.
3. The method of claim 1, performing the drift compensation comprises controlling a charged particle optical element of the charged particle beam column to correct for the drift estimate.
4. The method of claim 1, further comprising adjusting a charged particle beam directed to the sample via the charged particle beam column in accordance with a pulsed gating signal.
5. The method of claim 4, wherein the pulsed gating signal is configured to assume a first duty cycle value when the beam is directed to the first portion of the sample and a different second duty cycle value when the beam is directed to the second portion.
6. The method of claim 1, wherein the first set of image frames comprises a first subset and a second subset, acquisition of the second subset being later in time than the first subset; wherein performing the drift compensation comprises performing drift compensation based at least in part on a preliminary value of the drift estimate during acquisition of the second subset, the preliminary value being computed based at least in part on the first subset.
7. The method of claim 1, wherein the second set of image frames comprises a first subset and a second subset, acquisition of the second subset being later in time than the first subset; wherein the method further comprises updating the drift estimate based at least in part on the first subset; wherein performing the drift compensation comprises performing drift compensation based at least in part on the updated drift estimate during acquisition of the second subset.
8. The method of claim 1, wherein computing the drift estimate comprises determining one or more displacement vectors based at least in part on the first set of image frames.
9. The method of claim 1, wherein computing the drift estimate comprises: computing a sequence of drift measures using different subsets of the first set of image frames; determining the drift estimate based at least in part on the sequence.
10. The method of claim 1, further comprising updating the drift estimate using one or more image frames of the second set of image frames.
11. The method of claim 10: wherein computing the drift estimate comprises: computing a first sequence of drift measures using different subsets of the first set of image frames; applying the first sequence to a smoothing filter; wherein updating the drift estimate comprises: computing a second sequence of drift measures using different subsets of the second set of image frames; applying the second sequence to the smoothing filter after the first sequence.
12. The method of claim 11, the drift measures in the first sequence and the second sequence are selected from the group consisting of position values, velocity values, and acceleration values.
13. The method of claim 11, wherein the smoothing filter is configured to perform multiple predictions at a juncture between the first sequence and the second sequence.
14. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform operations comprising the method of claim 1.
15. A charged particle beam system comprising: a charged particle beam column configured to direct a charged particle beam to a sample; a detector configured to detect a response of the sample to the charged particle beam; an electronic controller configured to: calculate a drift estimate based at least in part on a first set of image frames acquired from a first portion of the sample using the charged particle beam column and the detector; configure the charged particle beam column and the detector to acquire a second set of image frames from a second portion of the sample; perform drift compensation based at least in part on the drift estimate during acquisition of the second set of image frames.
16. The charged particle beam system of claim 15, further comprising a stage coupled to the sample, wherein the electronic controller is configured to perform the drift compensation by controlling actuation of the stage based at least in part on the drift estimate.
17. The charged particle beam system of claim 15, wherein the electronic controller is configured to perform the drift compensation by controlling beam deflection of the charged particle beam column based at least in part on the drift estimate.
18. The charged particle beam system of claim 15, wherein the first set of image frames and the second set of image frames represent transmission electron microscope (TEM) images.
19. The charged particle beam system of claim 15, wherein the first set of image frames and the second set of image frames represent scanning transmission electron microscope (STEM) images.
20. The charged particle beam system of claim 15, wherein the first portion and the second portion are non-overlapping portions of the sample.
Citation Information
Patent Citations
Innovative imaging technique in transmission charged particle microscopy
US20190228949A1
Cited By
Improved navigation for electron microscopy
US20240339293A1