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.

Features

  • 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.

Installation

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 https://github.com/by256/imagedataextractor.git
cd imagedataextractor
  1. Activate your virtual environment.

  2. Install:

python setup.py install

Usage

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.

Citing

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) https://doi.org/10.1021/acs.jcim.0c01455

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) https://doi.org/10.1021/acs.jcim.9b00734

Funding

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

License

License

Project details


Download files

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

Files for imagedataextractor, version 2.0.4
Filename, size File type Python version Upload date Hashes
Filename, size imagedataextractor-2.0.4-py3-none-any.whl (98.3 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size imagedataextractor-2.0.4.tar.gz (18.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page