5.8K Views
•
15:04 min
•
July 3rd, 2021
DOI :
July 3rd, 2021
•0:00
Introduction
1:23
Acquiring High-Quality Annular Dark Field (ADF)/ Annular Bright Field (ABF) STEM Images
9:17
Physical Information Extraction
12:22
Representative Results
14:41
Conclusion
Transcription
The aberration correction has allowed us to push the resolution in advanced electron microscopes down to the sub-angstrom level, and this has allowed us to resolve the individual atoms in a crystal. With this progress we are still lacking software or advanced data analysis methods which I know is a big barrier for many scientists. Here we are presenting a self-developed, free MATLAB application that's called EasySTEM which allows us to perform complete metrology of atomic resolution stained images.
It's a software graphical user interface that can be used by simple mouse clicks, and there's no need to write dedicated advanced codes. Here in this tutorial, we first present tips for post acquisition denoising and drift correction and then we show how to accurately quantify the atom column positions, quantification of the lattice strain, and distortion in the crystal, as well as the defects and interfaces. We then show how to separate out overlapping atom columns that's tricky in many STEM images, and also how to separate out different kinds of atoms using the unit 7 mixing algorithms that we have developed and included in the software.
Here is the flow chart showing the general procedure of the atomic position quantification. The protocol starts with a few tips for acquiring good image data. First ensure a high TEM sample quality.
Try to use stained, clean, and undamaged TEM samples for imaging. Avoid accidentally contaminating the sample by touching during the sample handling and loading. Second, clean the sample before insertion.
Clean the sample by using plasma cleaner, baking the vacuum, or applying beam shower. Avoid damaged or contaminated areas where imaging. Third, align the microscope and tune the aberration correctors to minimize the aberration coefficients as much as possible.
Task the resolution by acquiring a few STEM images on a standard sample to confirm the spatial resolution is sufficient. Four, during imaging, tilt the sample until the optical axis is aligned with the specific zone axis of the crystal. Fifth, optimize the electron dose while minimize electron beam damage and limit the sample drift during imaging.
The goal here is to have a higher signal to noise ratio without causing beam damage or creating imaging artifacts. Finally, acquire STEM images with different scanning directions. Normally first acquire one scan image, and then take the second one from the same region immediately after rotating the scanning direction by 90 degrees.
The images should be taken using the same imaging condition, except for the scanning directions. The purpose of this step is to feed the rotated images to the drift correction algorithm. Next perform drift correction with non-linear correction algorithm by feeding two or more images with different scanning directions into the correction algorithm.
The algorithm will output the drift corrected STEM images. The open-source MATLAB code and detailed description of the process can be found in the original paper, authored by Colin Ophus. Here we introduce a free interactive MATLAB app, named Easy-STEM, with a graphical user interface to help with the analysis.
The interface is shown in the figure with all the steps labeled on the corresponding buttons. Before the analysis, first load the drift-corrected STEM image by clicking the load image file button on the top left corner. Then, manually input the calibration value in the unit of picometer per pixel.
The next step is applying various image denoising techniques. The related functions can be found in the bottom left corner of the interface. The first technique is the Gaussian filtering.
There's a slider to select the number of nearby pixel intensities to average. Move the slider and Gaussian filter will be applied on the image. The second one is the Fourier filtering.
Find a tab called FFT on the bottom left. There's a slider for restricting the spatial frequency to reduce the high-frequency noise. Move the slider and the Fourier filter will be applied to the image.
The third one is the Richardson and Lucy deconvolution. Find a tab called deconvolution on the bottom left corner, where there are two input boxes for the iterations of blind deconvolution and Richardson-Lucy deconvolution, respectively. change the value and apply the deconvolution algorithm by clicking the button.
Step two:atom position finding and refining. The related functions can be found on the right side panel. First, find the initial atom positions.
Define the minimum distance in pixels by changing the value in the input box that defines the distance between the nearest two peaks. Then click the find initial position button, in the Easy-STEM app Please note, almost inevitably, there are extra positions or missing positions using this simple algorithm. So a manual correction mode is created in the Easy-STEM app to correct the initial atom positions.
It allows you to use the mouse cursor input to add or remove initial positions Next index the initial atom positions with a unit cell vector based system. First, define an origin point in the image. In the Easy-STEM app, click on the find origin button after clicking the button, drag the pointer to one of the initial atom positions to define it as the origin.
Second, define the 2D unit cell u and v vectors and the unit cell fractions. Please note, the lattice fraction, u and v, determines the lattice fraction value along the unit cell vector. For example, in ABO3 perovskite unit cell, the unit cell can be divided equally into two halves along the two perpendicular unit cell vector directions.
Consequently, there are two fractions along each unit cell vector directions. So the unit cell fraction values are 2 and 2, for u and v directions, respectively. Click the find u, v button and drag the pointer to the end of the unit cells.
Define the lattice fraction value by changing the value in the lattice frac u and lat frac v input boxes. Then click on the calculate lattice button to index all the atoms after obtaining the initial atom positions and indexing the atoms in the image. A 2D Gaussian fitting around each atomic column needs to be performed to achieve the sub-pixel level precision in the analysis.
Click on the refined positions in the EasySTEM app to refine atom positions with 2D Gaussian fitting. The center of the fitted peaks will be plotted after the fitting. Here is an optional step:Refine the atomic positions using the MPFit algorithm.
When the intensities from adjacent atomic columns are overlapping with each other, click the MPFit overlaps button in the EasySTEM to refine the atomic position with 2D Gaussian multi-peak fitting algorithm. Finally save the results by clicking save atom position spot button. The app will prompt the user for the saving location and the file name.
All saved results are included in the variable called atom_pos, in the MATLAB workspace. Inside the variable atom_pos there's a field called posRefineM. The refined positions are listed in column three and four and indexing are listed in column eight and nine.
Figure three shows the example results of atom position tracking. A raw ADF stem image of a unit cell of the APO3 perovskite is shown in figure 3A and its intensity profile is plotted in 3D, in figure 3B. Figure 3C shows the results after Gaussian filtering is applied to the STEM image in figure 3A, and the intensity profile is plotted in figure 3D.
The initial atom positions are indicated by the yellow circles in figure 3E. The atomic positions are indexed based on the unit cell vectors are shown in figure 3F. In figure 3G and 3H, the 2D Gaussian refined positions are indicated as red circles.
Lastly, the advantage of applying the MPFit algorithm on the overlapping intensities is showcased in figure 3I. Step three:physical information extraction. To demonstrate the physical information extraction, the app STEM image of the calcium-3 ruthenium-2 oxide-7 Calcium Ruthenate crystal is shown in figure 4A and 4B.
Following the step one and step two, the refined atom positions are determined and show in figure 4C. Furthermore, by using the indexing system, each type of atom can be identified and used for further processing. For example, the calcium atoms at the upper center and lower side of the perovskite layer can be easily identified and their position are presented with circles filled with different colors as shown in figure 4D.
Here is the demonstration on how to measure the atomic displacement based on the unit cell index. The STEM image data from the Calcium Ruthenate crystal is used here, as an example. The polar displacement in this crystal can be visualized in ADF STEM images by analyzing the displacement of calcium atoms in the center of the double perovskite layer.
First define a unit cell center. Here, the reference position for measuring the center calcium displacement is defined as the average position of upper and lower calcium atoms. Please note the lattice fraction number 4 the Calcium Ruthenate crystal in this image is 10 in the vertical direction and two in the horizontal direction, as shown here.
By using the aforementioned indexing system, all the atoms in each unit cells are indexed. The two types of calcium atoms in the first layer are labeled with 0 and 0.4. And those in the second layer are labeled with 0.5 and 0.9.
Second, find the position of the displaced atom. The displaced counting atom here is labeled with 0.2 and 0.7 Third, iteratively find the positions of the reference unit cell centers and displaced atoms for all the complete unit cells in the image. Finally, calculate the displacement vector, based on the measured positions.
The related MATLAB code that includes iteratively, finding the positions of certain atoms and measuring the displacement is attached in the supplementary materials. Next, quantify the lattice strain. In the EasySTEM app, click on the calculate strain based on the atomic positions button under the quantify tab on the top left of the interface.
The detailed calculation process involves multiple steps and is elaborated in the manual script. There are several common methods for data visualization, including line maps, vector maps, and color maps, for displaying atomic distance, atomic displacement, strain, and so on. The detailed implementation is included in the manuscript text and here are some representative results from the previous example on the Calcium Ruthenate crystal.
Figure 5A is an example of the implementation of the vector maps showing the polar displacement. The arrows are colored based on the orientation. The vertical 90 degree domain walls are indicated with blue arrows and a horizontal 180 degree domain wall is indicated with a red arrow.
Figure 5B is an example of the implementation of color maps showing the polarizations. The colors indicates the magnitude in left and right directions. Reduce the magnitude results in a faded color Figure 5C is an example of implementation of the color maps showing the strain in the horizontal direction.
The red and blue color indicate the value of tensile strain and compressive strain, respectively. To demonstrate the measurement precision, figure 6A shows the statistical quantification of the measured distance between perovskite A-sites, presented as a histogram. The normal distribution fitting is plotted and overlayed as a red dashed the line showing the mean of 300.5 picometers, and the standard deviation of 4.8 picometers.
Figure 6B shows the statistical quantification of the perovskite unit cell vector angle measurement, presented as histogram. The normal distribution fitting is plotted and shows the mean of 90.0 degrees and a standard deviation of 1.3 degrees. Figure 6C shows the statistical quantification of the polar displacement measurement in the Calcium Ruthenate crystal, presented as histogram.
The normal distribution fitting is plotted and shows the mean of 25.6 picometers and a standard deviation of 7.7 picometers. After the analysis, make sure to double check with your raw data to make sure there are no artifacts generated by the data processing. I believe this procedure, proposed here, will have a wide range of applications, seeing electron microscopy image processing, and it will help the researchers categorize and determining the structural property relationships.
This work presents a workflow for atomic position tracking in atomic resolution transmission electron microscopy imaging. This workflow is performed using an open-source Matlab app (EASY-STEM).