DL augmentation package is implemented for neural network-assisted atomic electron tomography. This package has two parts; data generator codes (written in matlab) & deep learning codes (written in python, pytorch package).
For the detail, please see the paper: J. Lee, C. Jeong and Y. Yang, “Single-atom level determination of 3-dimensional surface atomic structure via neural network-assisted atomic electron tomography”, Nature Communications (2021).
DL data generator is a package for generating input/target data for DL augmentation.
- matlab (>= 2017a)
- GENFIRE (reconstruction algorithm)
The original GENFIRE URL is below.
(https://www.physics.ucla.edu/research/imaging/dataSoftware.html)
The GENFIRE algorithm is modified to link this DL data generator easily (GPU accelerated vesion). The modified GENFIRE alogorithm for this data generator is also uploaded and recommended.
cd ./DL_data_generator
- Choose DLDGen_main.m for crystal structure or DLDGen_main_amorphous.m for amorphous structure.
- Set a folder location, a file name, and some parameters for generating atomic model.
- Run DLDGen_main.m or DLDGen_main_amorphous.m
DL augmentation takes input/target data as only mat file (in this version).
- pytorch (>=1.1) (1.1, 1.2, 1.3, 1.4 versions were tested)
- numpy
- scipy
- Linux
- CUDA (10.1 was tested)
- GPU memory (>= 4 GB for 1443 voxel size, >= 8 GB for 2563 voxel size) (if used)
- conda environment
cd ./DL_augmentation
- Choose train_DL_augmentation_Pt.py or train_DL_augmentation_Pt.ipynb for jupyter notebook.
- Set a folder location, a file name, and some parameters for training DL augmentation.
- Run train_DL_augmentation_Pt.py.
-
Please prepare input data (its size should be equal or smaller compared to training input/target data size). Before running DL augmentation, pre-processing for input data is reconmended for matching voxels size (required) and real interpolation (optional) to reduce noise.
-
Pre-processing (matlab) (If voxel size of input data is equal to training input data, this proccess can be skipped.)
- run ./Preproccesing_tomogram_for_DL_aug/Preprocessing_for_DL_aug_input.m
-
run DL_augmentation
- Choose run_DL_augmentation_Pt.py or run_DL_augmentation_Pt.ipynb for jupyter notebook.
- Set a folder location, a file name, and saved model parameter path.
- Run run_DL_augmentation_Pt.py.
python ./DL_augmentation/run_DL_augmentation_Pt.py