Giter Club home page Giter Club logo

imagedataextractor's Introduction

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

imagedataextractor's People

Contributors

by256 avatar jan-janssen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.