Skip to main content

Rapid Diagnostic


A group of researchers (Dr. Breno Cruz, Danial Shamsaei) led by Dr. Anderson, working on chromatography, has an existing prototype allowing a user to take photos of certain chemical reactions, creating visible color outputs and identifying the concentration of the target chemical in the solution. 

The existing 3D-printed prototype requires a user to have a literal “black box” where the vials can be taken pictures of without distortion from outside sources (such as colored lighting, background lighting, etc.). This is not ideal, because chemists in the field are not keen on carrying around a heavy black box and may not have access to the material to print and assemble the box. 

Our team is tasked with implementing an application that negates the need to use the 3D-printed "black box" to collect the photos of the chemical reaction in order to get the photo of the chemical reaction as close as possible to the “true” color. The color of the chemical reactions is vital, as different color temperatures indicate different concentrations. The team will use ML/regression techniques to identify the concentration of the target chemical in the mixture from the images

Further, our team will use ML techniques on training data (provided by the chromatography team)  to identify the concentration of the target chemical in the mixture.

User Story

Two main user stories:

1.  A team of researches wants to release a test for checking if there is an above-zero amount of substance A in a sample. The chemistry team creates a chromatographic reaction in a sample with known concentration, and then trains the model in app. 

2. A user wants to check if the sample has an above-zero amount of substance A. They download the model for substance A and run the analysis; the ML engine deduces if there is an above 0 amount of substance A in the sample. 


The architecture for the project will be a classic 3-tier application, with a data science component. The core requirements are as follows:

  • The application must “color correct” the photos to not require the prototype black box.
    • We intend to do this by including a “control” in the photo, like a white piece of paper. 
  • The application must predict the concentration of the target chemical with reasonable accuracy.
    • This is largely a product of data: like all ML, the more data, the better.
  • The application must be accessible on android devices.
    • though cross platform is a “want” for the team: The trouble with crossplatform is building with different cameras causes additional noise in the process, making ML training harder.
    • In the initial stages, we will build with a cross platform UI framework, but only test / train on android devices: this will allow us to, in the future, quickly ship on iOS.
  • The application must work entirely offline.
    • Because the end goal of the application will be to give chemists in the field a way to rapidly get the chemical breakdown of substances from their color, the team intends the application to be used in rural environments with little to no internet connection.
    • The app may have online components in the future, but core functionality must work offline.
  • The ML engine will be built on tensor flow lite.
    • Tensorflow machine learning models are lightweight enough for them to be able to be stored and ran locally on a users machine, allowing us to deliver on the "offline" functionality. 
    • The ML engine must be general enough to be able to run for many chemicals; in short, the engine must, provided enough training data, accurately tell if a certain mixture is "positive" or not.