Welcome to Atomap’s documentation!¶
2022-4-28: Atomap 0.3.2 released
This is a maintenance release, updating Atomap to work with the newly released HyperSpy 1.7.
2021-6-11: Atomap 0.3.1 released!
This is a small release, with one bug fix from Tom Slater, and two performance improvements from Niels Cautaerts. The latter are related to finding the initial atomic column positions, and will especially improve the processing time for large images.
Atomap is a Python library for analysing atomic resolution scanning transmission electron microscopy images. It relies in fitting 2-D Gaussian functions to every atomic column in an image, and automatically find all major symmetry axes. The full procedure is explained in the article Atomap: a new software tool for the automated analysis of atomic resolution images using two-dimensional Gaussian fitting.
Atomap is under development and still in alpha, so bugs and errors can be expected. Bug reports and feature requests are welcome on the issue tracker. Contributors are welcome too!
If you publish scientific articles using Atomap, please consider citing the article Atomap: a new software tool for the automated analysis of atomic resolution images using two-dimensional Gaussian fitting. (M. Nord et al, Advanced Structural and Chemical Imaging 2017 3:9)
Atomap is available under the GNU GPL v3 license. The source code is found in the GitLab repository.
Contents on this webpage¶
- Start Atomap
- Finding the atom lattice
- Analysing atom lattices
- Dumbbell lattice
- Several phases
- GUI functionality
- Automation of the analysis
- Working with atomic models
- Quantify scan distortions
- Making datasets for testing
- Plotting for publications
- Various tools
- Become a contributor
- Development guide
- API documentation
2021-4-23: Try Atomap without having to install anything, via Binder
2021-1-30: Atomap 0.3.0 released!
Information about the 3D structure of
Sublatticescan now be added, allowing for 3D atomic models to be “converted” into an
Atom_Latticevia the Atomic Simulation Environment, and vice versa. This 3D information can be set manually, or via the intensity for homogeneous structures see statistical method and working with atomic models for more info. Thanks to Tom Slater and Eoghan O’Connell for implementing this!
The performance of atomic column integration has been greatly improved,
Atom_Lattice.integrate_column_intensitywill be much faster now. Thanks to Thomas Aarholt!
Sublatticehas been added for easily setting the scale and unit.
Better support for visualizing
Sublatticeobjects with scaled units. Thanks to Eoghan O’Connell for adding this.
2020-1-29: Atomap 0.2.1 released!
Add a method for getting the local, often high frequency, scanning distortions utilizing the shape of the atomic columns: Quantify scan distortions.
Improved the progressbar when using Atomap in Jupyter Notebooks. Thanks to Alexander Skorikov!
2019-10-17: Atomap 0.2.0 released!
2019-03-05: Atomap 0.1.4 released!
This release includes:
Functions to find shifts within unit cells, often seen in materials with polarization. This can for example be used to find shifts in B-cations in relation to the A-cations in a perovskite structure: Finding polarization.
Big optimization in refining the atom positions using centre of mass, which makes it much easier to work with images containing a large number of atoms. For smaller images the improvement is around 5-10 times, while for larger ones it is 1000 times faster. Thanks to Thomas Aarholt for implementing this!
Similar optimizations to
get_model_image(), which is primarily used to generate test data via the Dummy data module. This means generating test data like
get_fantasite()is 60 times faster, with even bigger improvements to larger test data. Thanks to Annick De Backer at EMAT for tips on how to improve this!
2018-11-26: Atomap 0.1.3 released!
Major features in this release includes:
A GUI function for adding and removing atoms, which makes it easier to set up the initial atom positions. See Adding atoms using GUI for more information.
A GUI function for toggling if atom positions should be refined or not, see Toggle atom refine.
Better handling of hexagonal structures, by adding a adding a
find_missing_atoms_from_zone_vector, thanks to Eoghan O’Connell for the suggestion!
The addition of
mask_radiusto the refine functions, which makes it easier to work with non-perodic atom positions, for example Working with single atom sublattices.
2018-06-13: Atomap 0.1.2 released!
This is a minor release, including a signal attribute in Sublattice and Atom_Lattice classes, minor changes in package dependencies and some improvements to the documentation.
2018-03-25: Atomap 0.1.1 released!
The major new features are methods for integrating atomic column intensity and quantifying this intensity in ADF STEM images, see Integration of atomic columns and Absolute Integrator for more info. Thanks to Katherine E. MacArthur for adding this! Other features include tools for rotating atomic positions for plotting purposes (Rotating image and points), and reduced memory use when processing data with many atoms.
2017-11-16: Atomap 0.1.0 released!
We are happy to announce a new Atomap release. It includes a major makeover of the tutorial, start with Finding the atom lattice. New features in this release are methods for finding atomic column intensity, new and simple plotting tools and a module for generating test data.
2017-07-03: version 0.0.8 released!
New features: ability to process dumbbell structures, fitting of multiple 2D Gaussians at the same time, improved background subtraction during 2D Gaussian fitting, and processing of nanoparticles.