Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


An AFM image analysis program to batch process data and obtain statistics from images.

There is more complete documentation on the projects documentation website.


TopoStats is available via PyPI and can be installed in your Virtual Environment with...

pip install topostats

For more on installation and how to upgrade please see the installation instructions.

How to Use

Tutorials and Examples

For a full description of usage please refer to the usage documentation.

A default configuration is loaded automatically and so the simplest method of processing images is to run run_topostats in the same directory as your scans after having activated the virtual environment in which you have installed TopoStats


If you have your own YAML configuration file (see Usage : Configuring TopoStats) then invoke run_topostats and use the argument for --config <config_file>.yaml that points to your file.

# Edit and save my_config.yaml then run TopoStats with this configuration file
run_topostats --config my_config.yaml

The configuration file is validated before analysis begins and if there are problems you will see errors messages that are hopefully useful in resolving the error(s) in your modified configuration.

You can generate a sample configuration file using the --create-config-file argument which takes a single argument, the name of the file to save the configuration to (e.g. config.yaml or settings.yaml). This will not run any analyses but will instead write the default configuration to the file config.yaml in the current directory.

NB - This feature is only available in versions > v2.0.0 as it was introduced after v2.0.0 was released.

run_topostats --create-config-file config.yaml


Example Jupyter Notebooks are in have been developed that show how to use TopoStats package interactively which is useful when you are unsure of what parameters are most suited to your scans. Other notebooks exist which show how to produce plots of the summary grain and tracing statistics or how to generate plots of scans from processed images which saves having to run the processing again. See the documentation on Notebooks for further details.


See contributing guidelines.


This software is licensed as specified by the GPL License and LGPL License.


Please use the Citation File Format which is available in this repository.