Skip to main content

Antibiotic Resistance Image Process - ARIP

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

Metadata

Release files for arip 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arip 1.0.2
File Size Uploaded
arip-1.0.2.tar.gz 9.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for arip 1.0.2
File Interpreter ABI Platform
arip-1.0.2-py2.py3-none-any.whl Python 2, Python 3 none any Details
arip-1.0.2-py2-none-any.whl Python 2 none any Details

Total release size: 30.1 kB

Release files / arip-1.0.2.tar.gz

Download URL arip-1.0.2.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ae61af26c77822f3a4028dab0cab79b49b964add5f2d79168a612048527aa8f8
BLAKE2b-256 checksum
How to use checksums
f25890436bf147cbd2e57bad1514a9e8df31ada419b3e1550d5f8d1fd0b60585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / arip-1.0.2-py2.py3-none-any.whl

Download URL arip-1.0.2-py2.py3-none-any.whl
Size 10.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
234e92d6f9a1c48364ad8dd78d3aa440cfd4a2c0a8329413afc3249a60e91ddc
BLAKE2b-256 checksum
How to use checksums
32d58fc30d6d05b7f606244cf3110eef761ffd327f11056e99db5bb996975950
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / arip-1.0.2-py2-none-any.whl

Download URL arip-1.0.2-py2-none-any.whl
Size 10.6 kB
Tags Python 2
SHA-256 checksum
How to use checksums
4ecbed5d3e14f3b670d99732b14dcdeee9e95d7fa428d0c1330f0261b43520ad
BLAKE2b-256 checksum
How to use checksums
bc989d99b09ab214d0976d0d93eea0e7ee0d88af236da42f8008726c0a4f86df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.2 This release

3 release files

1.0.1

3 release files

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page