Ranger is a piece of MatLab™ code for the identification of atoms or atomic-columns in atomic resolution dark-filed STEM images (white-atom contrast). It is designed to be highly automated and self-optimising to minimise the need for user interaction.
The code supports various image forms including single-crystal images, grain/twin boundaries, crystal edges and free-standing nano-particles. To achieve this a robust peak-finding search algorithm is used that requires no prior knowledge of image magnification or orientation and that identifies genuine features based on:
- The distance between the features (column-column separation),
- Intensity of local signal at every region in the image, and
- Widths of fitted Gaussians for all candidate features.
To identify the most appropriate feature-feature spacing values are trialled iteratively. A user display shows the features that are identified at each step during this initial optimisation phase as well as a plot of the total number of features. This graph updates with each iteration and gradually a profile is created that is used to identify the optimum feature-separation.
After the optimum feature separation is found this value is used to generate a course estimate of the peak-positions with integer pixel-coordinates. The user at this point manually add or remove as many peaks as they wish and can choose to perform an optional 2D Gaussian refinement of these estimates to yield sub-pixel precision estimates of the feature coordinates.