A Streamlit app for custom colorimeter calibrations

Highlighting the oc-calibration-app developed using Streamlit for the Open Colorimeter.

A Streamlit app for custom colorimeter calibrations

The Open Colorimeter currently comes with four default colorimetric tests. However, your can easily add any colorimetric test to the device. To do this, you need to add a new "calibration object" to the default Open Colorimeter calibration.json file.

"Calibration objects" in the calibration.json file are used to calculate an unknown value, typically concentration, from the measured absorbance at a particular wavelength.

Any user-added "calibration object" needs to be in a specific .json format as shown in the example below:

Example of a "calibration object"

To support users with producing a json "calibration object" from their data in the correct format, we have developed two tools:

  • oc-cal: this is our command-line program for fitting data and generating the calibration.json file used by the colorimeter.  See the tutorial on creating a custom calibration. Using this tool requires installing some python software and some familiarity with the command line. However,  it can process more than one set of calibration data at time making it suitable for batch processing.
  • oc-calibration-app:  our new calibration web app which provides an easy method for fitting your calibration data and generating the required json calibration object for your colorimeter. It can be run from the browser and does not require any software installation. See this Newsletter for tutorial link!

Either tool can be used depending on preference. They both produce the same formatted "calibration object".

A Streamlit Web App

The oc-calibration-app was developed using Streamlit, an open-source, free app framework which makes it simple to turn Python data scripts into simple web apps.

GitHub - streamlit/streamlit: Streamlit — The fastest way to build data apps in Python
Streamlit — The fastest way to build data apps in Python - GitHub - streamlit/streamlit: Streamlit — The fastest way to build data apps in Python

Streamlit apps can be deployed on the Community Cloud Platform or  run locally from your computer.  The frame work is supported by documentation, with forums and user guides such as this Get Started guide:

Get started - Streamlit Docs

User Guide for oc-calibration-app

Learn more about using the oc-calibration-app from the new User Guide linked below. The guide includes links to running the app in your browser, link to the Github repository & more.

Creating custom calibrations using oc-calibration-app
In this set of notes we describe how to generate custom calibrations for the Open Colorimeter using a simple web app called the Open Colorimeter Calibrator. This app makes fitting your calibration data and generating the required .json file for your colorimeter quick and easy. The app is developed u…

Community Survey

One of the best parts of working at IO Rodeo is the people we have met over the last 13 years! The open hardware and science instrument community is a diverse, international group from a wide range of backgrounds and industries. We love to hear about what you're working on so we can do a better job at supporting you, especially around the use of open science hardware in your work and projects. As we shared in the last newsletter, we have put together a short community survey which we are inviting you to fill out at the link below. Thank you to subscribers that already submitted your responses!

✨ This is our last newsletter of 2022, but we will be back in January! We started this newsletter with the goal of sharing information about the open source tools & resources we use in our work. Along with our open designs, we hope that by sharing knowledge and increasing transparency around our work, we can contribute to the wider open science goals of lowering barriers to science. Continuing into 2023 you can expect more weekly technical notes on open science hardware projects we are working on alongside other highlights. See you in 2023 ✨