My main engagement with the GaugeCam GRIME Lab these days is a port of the GRIME2 camera based water level measurement software. It was initially written in C++ as a prototype research project starting back in 2009. It morphed into production software, but has always suffered from its beginnings. It was developed on Linux using that ecosystem, but delivered only as a Windows desktop installer. It really did a great job for what it was initially intended to be, but was only adequate as a production software release.

We have wanted to make improvements to the software to handle things like biofouling at the waterline and the ability to find a much smaller target, so that was planned to be my next project. When I got my fingers back into the code to do that, I decided I was going to make this a longer term project with production code as opposed to just making the minimal fixes to make it all work just well enough to gather data and publish a couple of papers. Troy Gilmore and I have frequently discussed some of the things that would make the product better, so I decided to try to morph GRIME2 into GRIME3 with the following aims in mind:

  • Port to Python (that is where the user base is going)
  • Cross-platform compatible
    • Desktop (Linux, Windows, Apple)
    • Linux embedded (Raspberry Pi)
    • Cloud server
  • Browser based GUI
  • Extensive CLI support
  • Measurement improvements
    • Smaller calibration targets (hoping for something that fits on a standard staff gauge)
    • AI model to extract waterline in the face of biofouling

This work and corresponding publications are well under way. It is also important to note that GRIME4 is on the road map and aimed at a stretch goal and production level functionality that could have a significant impact on this niche research area.