Supplementary Data Codes
Authors/Creators
Description
Three-dimensional determination of individual carbon atoms
Na Yeon Kim1*, Hanfeng Zhong1,2*, Jianhua Zhang3*, Colum M. O’Leary1*, Yuxuan Liao1, Ji Zou4, Haozhi Sha1, Minh Pham1, Weiyi Li1, Yakun Yuan1, Ji-Hoon Park5, Dennis Kim6, Huaidong Jiang3, Jing Kong5, Miaofang Chi7, Jianwei Miao1†,
1Department of Physics and Astronomy and California NanoSystems Institute, University of California, Los Angeles, CA, USA.
2Department of Electrical and Computer Engineering, University of California, Los Angeles, CA, USA.
3Center for Transformative Science, ShanghaiTech University, Shanghai, China.
4Department of Physics, University of Basel, Basel, Switzerland.
5Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, MA, USA.
6Department of Chemistry and Biochemistry, University of California, Los Angeles, CA, USA.
7Center for Nanophase Materials Sciences, Oak Ridge National Laboratory, Oak Ridge, TN, USA.
*These authors contributed equally to this work.
†Correspondence author: J.M. (j.miao@ucla.edu).
Contents
Overview
This repository provides all experimental and simulated data, along with source code for ptychographic and tomographic reconstruction, atom tracing, position refinement, and data analysis associated with our study. We report the first experimental determination of the 3D coordinates of individual carbon atoms with picometer-scale precision using ptychographic atomic electron tomography (pAET). Using twisted bilayer graphene as a model system, our results reveal chiral lattice distortions and interlayer interactions that were previously inaccessible to conventional microscopy. We further demonstrate the generalizability of pAET to disordered and low-Z materials through simulations on amorphous carbon and a nitrogen-vacancy center in diamond. All resources are freely available for download and unrestricted use by the research community. We hope this repository supports further advances in high-precision 3D atomic imaging.
System Requirements
Hardware Requirements
We recommend a computer with 32G DRAM, AMD Ryzen 7 6800H with Radeon Graphics 3.20 GHz CPU, and a NVIDIA GeForce RTX 3070 Ti GPU to run most data analysis source codes.
Software Requirements
OS Requirements
This package has been tested on the following Operating System:
Linux: Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-173-generic x86_64).
Windows: Windows 11 Version 24H2 (OS Build 26100.3476).
Mac OSX: We have not tested it on a Mac yet, but it should in principle work.
Matlab Version Requirements
This package has been tested with Matlab R2022b. All the codes have to run in their own folders. We recommend the use of Matlab version R2021a or higher to test the data and source codes.
Repositary Contents
a. Experiment Data
Folder: Measured_data
This folder contains 13 experimental projections after ptychography reconstruction and alignment as well as their corresponding angles.
b. The Extended Ptychographical Iterative Engine (EPIE) Package
Folder: EPIE_package
Run the ptychography reconstruction code Main_EPIE.m to obtain the phase retrieval projections of the twisted bilayer graphene sample.
c. The Probe REal Space Iterative REconstruction (RESIRE) Package
Folder: RESIRE_package
Run the tomography reconstruction code Main_AET_RESIRE_probe.m to obtain the 3D reconstruction of the twisted bilayer graphene sample.
d. Reconstructed 3D Volume
Folder: Final_reconstruction_volume
This folder contains the 3D volume of the twisted bilayer graphene reconstructed from Main_AET_RESIRE_probe.m.
e. Atom Tracing
Folder: Tracing_atom_position
Run the code Main_1_polynomial_tracing_iteration.m to trace the initial atomic positions from the reconstructed 3D volume. After the manual checking of the 3D atomic positions, run the code Main_2_match_atom_with_projection.m to match the traced atom with the experimental projections. This is the pre-processing step for atimic position refinement.
f. Atomic Position Refinement
Folder: Position_refinement
Run the code Main_atom_position_refinement.m to refine the 3D atomic coordinates in the twisted bilayer graphene sample.
g. Experimental Atomic Model
Folder: Final_coordinates
The final 3D atomic model and chemical element types (i.e. Carbon and Silicon) of the twisted bilayer graphene sample.
h. Match Experimental and Flat Atomic Models
Folder: Match_atom
Run the code Main_match_atom.m to match the experimental atominc model with the flat atomic model.
i. Displacement Caculation
Folder: Calculate_displacement
Run the code Main_calculate_displacement.m to obtain the displacement between the experimental atomic model and the flat atomic model.
j. Meron and Skyrmion Caculation
Folder: Calculate_Meron_Skyrmion
Run the 6 codes inside the folder Main_calculate_antimeron_lower.m, Main_calculate_antimeron_upper_1.m, Main_calculate_antimeron_upper_2.m, Main_calculate_meron_lower.m, Main_calculate_meron_upper.m, and Main_calculate_skyrmion_lower.m to obatin the merons-like and skyrmion-like structure in the experimental atomic model as well as their corresponding skyrmion number.
k. Twisted Bilayer Graphene Multislice Simulation with 64 Frozon Phonons
Folder: Twisted_bilayer_graphene_multislice_simulation_with_64_frozon_phonons
Run the codes inside the folder Main_1_AET_RESIRE_Probe.m, Main_2_polynomial_tracing_iteration.m, Main_3_Match_Atom_With_Position.m, and Main_4_Atom_Position_refinement.m to obatin the traced atom positions for the twisted bilayer graphene multislice simulation with 64 frozon phonons.
l. Twisted Bilayer Graphene Multislice Simulation with 32 Frozon Phonons
Folder: Twisted_bilayer_graphene_multislice_simulation_with_32_frozon_phonons
Run the codes inside the folder Main_1_AET_RESIRE_Probe.m, Main_2_polynomial_tracing_iteration.m, Main_3_Match_Atom_With_Position.m, and Main_4_Atom_Position_refinement.m to obatin the traced atom positions for the twisted bilayer graphene multislice simulation with 32 frozon phonons.
m. Nitrogen Vacancy Center Multislice Simulation
Folder: Nitrogen_vacancy_center_simulation
Run the codes inside the folder Main_1_RESIRE_Multislice_With_Probe.m, Main_1_RESIRE_Multislice_Without_Probe.m, Main_1_RESIRE_Singleslice_With_Probe.m, Main_1_RESIRE_Singleslice_Without_Probe.m, Main_2_polynomial_tracing_iteration_Multislice_With_Probe.m, Main_2_polynomial_tracing_iteration_Multislice_Without_Probe.m, Main_2_polynomial_tracing_iteration_Singleslice_With_Probe.m, Main_4_Match_Atom_With_Position_Multislice.m, Main_1_RESIRE_Singleslice_With_Probe.m, Main_4_Match_Atom_With_Position_Multislice_Without_Probe.m, Main_5_Atom_Position_refinement_Multislice_With_Probe.m, and Main_5_Atom_Position_refinement_Multislice_Without_Probe.m to obatin the traced atom positions for the nitrogen vacancy center simulation.
n. Amorphous Carbon Multislice Simulation
Folder: Amorphous_carbon_simulation
Run the codes inside the folder Main_1_AET_RESIRE_Probe.m, Main_2_polynomial_tracing_iteration.m, Main_3_Match_Atom_With_Position.m, and Main_4_Atom_Position_refinement.m to obatin the traced atom positions for the amorphous carbon multislice simulation.
o. Resoluction Calculation
Folder: Calculate_resolution
Run the codes Main_calculate_resolution.m to calculate the resolution of the tomography reconstruction without support constraint.
p. 2D Tracing Refinement
Folder: 2D_tracing
Run the codes inside the folder Main_1_AET_RESIRE.m, Main_2_2D_Tracing_Lower_Layer.m, Main_2_2D_Tracing_Upper_Layer.m, Main_3_match_atom_with_projection.m, and Main_4_atom_position_refinement.m to obatin the traced atom positions for the experiment twisted bilayer graphene from 2D Tracing. Run the codes inside the folder Main_6_match_atom.m, and Main_7_calculate_displacement.m to obtain the corresponding displacement between the experimental atomic model and the flat atomic model.
q. Odd And Even Dataset Comparison
Folder: Experiment_odd_even_dataset
Run the codes inside the Even_dataset and Odd_dataset folders Main_1_AET_RESIRE_probe.m, Main_2_polynomial_tracing_iteration.m, Main_3_match_atom_with_projection.m, Main_4_atom_position_refinement.m, Main_5_match_atom.m, and Main_5_Atom_Position_refinement_Multislice_Without_Probe.m to obatin the traced atom positions for odd and even experiment twisted bilayer graphene dataset and the corresponding displacement between the experimental atomic model and the flat atomic model.
Files
a_Measured_data.zip
Files
(33.4 GB)
| Name | Size | Download all |
|---|---|---|
|
md5:75fb41730c418528b9ab701712346398
|
155.2 MB | Preview Download |
|
md5:1a2db1ac7b7a848a831aa52c68c721d2
|
7.1 GB | Preview Download |
|
md5:a8e24a1f0d2074668dc647f150865d6a
|
1.7 GB | Preview Download |
|
md5:084d085a045033fbb2b5e1e1e4eb3b6a
|
1.5 GB | Preview Download |
|
md5:7d0c5c6c2e4b1d1f92cc1af8376814b0
|
1.1 GB | Preview Download |
|
md5:278a8a34a5a5c6e556a0e067f4add373
|
70.7 MB | Preview Download |
|
md5:5bdfb243d382df3d69b4c1327d8cf86d
|
75.5 kB | Preview Download |
|
md5:43978d368c852d1d6ce9e01110d3f3e5
|
257.3 kB | Preview Download |
|
md5:3f0e2ef54c7177d683b3b6e1261e12aa
|
195.3 kB | Preview Download |
|
md5:7facc57fbb811897de802b69fc44c8fd
|
278.4 kB | Preview Download |
|
md5:a1f87ae6e9c5d8905ad33c697d7d866b
|
1.3 GB | Preview Download |
|
md5:5e457ef8354d7145bacba6a1adfdb108
|
976.5 MB | Preview Download |
|
md5:7b7fd71a9562977769de08597e587da2
|
13.4 GB | Preview Download |
|
md5:8aa3268174d7b17714a6e916de290608
|
20.3 MB | Preview Download |
|
md5:a11c1e47c8b9e9b4c50ebd2115e9e850
|
590.7 MB | Preview Download |
|
md5:20d081bbf2babd6af722462c96ba9fd7
|
562.0 MB | Preview Download |
|
md5:038ee12ab65112f3e9d6a095bcaaa014
|
5.0 GB | Preview Download |