Skip to main content

ARIP, software to quantify bacterial resistance to antibiotics by analysing picture of phenotypic plates

Project description

This software is aimed to quantify bacterial resistance to antibiotics by analysing pictures of phenotypic plates. Currently it supports 96 well plates where different bacteria are cultured with different concentrations of antibiotics, but the application adapt to different plates size in rows and columns. Computer vision algorithms have been implemented in order to detect different levels of bacterial growth. As a result, the software generates a report providing quantitative information for each well of the plate. Pictures should be taken so that the plate is square with the picture frame, the algorithm should be able to cope with a slight rotation of the plate.

Key methods:

  • Hough Circles method to detect circles in an image doc

  • Wells segmentation using threshold feature of opencv doc combining binary and otsu threshold

  • Quality detection using a grid model by rows and columns and clustering them, robust to scale and sensible rotation.

Execution:

There are two ways for executing the process: binary or library * Binary using arip.py file allocated in the project:

python arip.py --image images/\<platename\>.png
  • Library installing as described below:

    import arip
    arip.process({'image': 'images/sinteticplate.jpg'})

input:

images/<platename>.png with a plate and ninety six wells

output:

  • Image with extracted wells: images/<platename>/outputXXX.png

  • Cropped image of extracted well: images/<platename>/<row><column><resistance>_<density>.png

  • Report in json format: images/<platename>/report.json

  • Log: images/<platename>/log.txt

description of schema: * row: well row index * column: well colmun index * total: well area in pixels * resistance: absolute resistance found in pixels * density: density of the resistance found

report example:

"7-J":{
   "density":0.17,
   "column":"A",
   "resistance":122,
   "total":706,
   "row":"4"
}

output images example:

4-A_122-0.23, is the well 4-A, with 122 pixels found as resistance with density of 17%

output log example:

customizing scale well: found False, num wells 93, min radius value 18, max radius value 23
customizing scale well: found False, num wells 96, min radius value 18, max radius value 24
customizing grid matching: found False, num wells recognized 96
Succesfully processed plate, found 96 wells

Installing dependencies

pip

sudo apt-get install python-pip ### opencv sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-opencv ### scilab sudo apt-get install python-scipy

Installing arip

There are two ways of installing pynteractive: * Cloning the project

$ git clone https://github.com/mazeitor/antibiotic-resistance-process.git
$ cd antibiotic-resistance-process
$ python setup.py install  ### (as root)

TODO

  • Normalizing radius by neighborhood instead of general average

  • Working with static grids or masks

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

arip-1.0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distributions

arip-1.0.2-py2.py3-none-any.whl (10.6 kB view details)

Uploaded Python 2 Python 3

arip-1.0.2-py2-none-any.whl (10.6 kB view details)

Uploaded Python 2

File details

Details for the file arip-1.0.2.tar.gz.

File metadata

  • Download URL: arip-1.0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for arip-1.0.2.tar.gz
Algorithm Hash digest
SHA256 ae61af26c77822f3a4028dab0cab79b49b964add5f2d79168a612048527aa8f8
MD5 0ccdc0bcde543e0181b7c4fca3e1c3c0
BLAKE2b-256 f25890436bf147cbd2e57bad1514a9e8df31ada419b3e1550d5f8d1fd0b60585

See more details on using hashes here.

File details

Details for the file arip-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for arip-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 234e92d6f9a1c48364ad8dd78d3aa440cfd4a2c0a8329413afc3249a60e91ddc
MD5 85662ee29920591329f91f0ff965c6dc
BLAKE2b-256 32d58fc30d6d05b7f606244cf3110eef761ffd327f11056e99db5bb996975950

See more details on using hashes here.

File details

Details for the file arip-1.0.2-py2-none-any.whl.

File metadata

File hashes

Hashes for arip-1.0.2-py2-none-any.whl
Algorithm Hash digest
SHA256 4ecbed5d3e14f3b670d99732b14dcdeee9e95d7fa428d0c1330f0261b43520ad
MD5 f19a2d031163e877c407b8c1442a5c2c
BLAKE2b-256 bc989d99b09ab214d0976d0d93eea0e7ee0d88af236da42f8008726c0a4f86df

See more details on using hashes here.

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