Skip to main content

imagedataextractor is a Python library for electron microscopy image quantification.

Project description

Build Status PyPI version License

imagedataextractor is a Python library for nanoparticle electron microscopy image quantification.

Try the online Demo.


  • Automatic detection and download of microscopy images from scientific articles.
  • Particle segmentation with uncertainty quantification.
  • Particle localization.
  • Automatic scalebar detection (reading and measurement).
  • Particle size distributions.
  • Locations, sizes and aspect ratios of all particles in an image (in the form of a .csv file).
  • Radial distribution functions of extracted particle systems.


imagedataextractor requires Python 3.7 or above. We strongly recommend the use of a virtual environment for installation, as imagedataextractor requires specific versions of its requirements to be installed in order to function as intended.

Install Tesseract

imagedataextractor requires Tesseract 4. Installation instructions for Tesseract can be found here. On Linux, this is very simple:

sudo apt-get install tesseract-ocr libtesseract-dev

Installation with pip (recommended)

pip install imagedataextractor

Installation from source

  1. Clone the repo and move into the directory:
git clone
cd imagedataextractor
  1. Activate your virtual environment.

  2. Install:

python install


Simply provide as input a path to an image or a document, or a path to a directory of images and/or documents.

import imagedataextractor as ide

image_path = '<path/to/image>'
data = ide.extract(image_path)

# view extracted data as a pandas DataFrame
df = data.to_pandas()

# retrieve extracted scalebar data
sb_text = data.scalebar.text
conversion = data.scalebar.conversion  # pixels to meters

# resulting particle segmentations
seg = data.segmentation

If the input image is a figure containing a panel of images, these will be split and extraction will be performed on each sub-image separately.

See the example notebook. A more detailed usage guide can be found in the Documentation.


If you use imagedataextractor in your work, please cite the following works:

B. Yildirim, J. M. Cole, "Bayesian Particle Instance Segmentation for Electron Microscopy Image Quantification", J. Chem. Inf. Model. (2021)

K. T. Mukaddem, E. J. Beard, B. Yildirim, J. M. Cole, "ImageDataExtractor: A Tool to Extract and Quantify Data from Microscopy Images", J. Chem. Inf. Model. (2019)


This project was financially supported by the Science and Technology Facilities Council (STFC) and the Royal Academy of Engineering (RCSRF1819\7\10).



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imagedataextractor-2.0.4.tar.gz (18.2 kB view hashes)

Uploaded source

Built Distribution

imagedataextractor-2.0.4-py3-none-any.whl (98.3 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page