Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Locating Individual Vials #6

Closed
jakeisnt opened this issue Jan 19, 2020 · 1 comment
Closed

Locating Individual Vials #6

jakeisnt opened this issue Jan 19, 2020 · 1 comment
Assignees

Comments

@jakeisnt
Copy link
Collaborator

Note that this issue may be dependent on the completion of #1 and #4, depending on approach.

Motivation

To obtain color values from each of the vials on the ELISA plate, we should start by identifying the locations of each individual vial. This will allow us to pinpoint the color of each vial in the image and record these colors, both relative and absolute.

Task

Utilizing OpenCV, identify each vial on the ELISA plate in the image. Track each vial by highlighting them in a visual output from the image and storing some information about the location of each image in a fitting data structure mapping the ELISA coordinate system to the vial (i.e. vial A-1 is at posn (x,y) of the image). We can then either extend this script to track color values or pass this information on to another system that will do so.

Logistics

We know we have a fixed number of vials in a fixed arrangement; if we utilize the normalized image, we may simply be able to align the image with some grid of locations and pinpoint the locations of each vial by lining things up properly. However, identifying the circles atop the vials is more extensible, and will allow us to error upon not finding the proper number of vials in the image (to avoid misidentification).

Many of the resources from #1 are useful here as well, they just have to be translated to locating a multitude of circles rather than a single rectangle in the image. If our algorithm properly bounds the box and normalizes the image, we know we have x circles in the image, and we can use this to ensure that we find all of them. Locating a gradient between fluid in a vial and either table or fluid seen through multiple layers of glass seems like the way to go here to find each circle.

Extension! Many of the vials have cross-contamination from other vials, perhaps due to uneven lighting conditions or other problems with the process of taking the picture and processing the image. As such, lighting from test tubes can be cast onto neighboring test tubes, slightly changing their color and appearance depending on the color and direction of the light. Our algorithm can attempt to compensate for this by excluding parts of the circle that don't match some color profile of the entire circle or stand out in some way (how they stand out is to be determined). This is a task all its own and may require its own issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants