Inspiration
Talking to the people from Enveda Biosciences about something completely unrelated yesterday made me remember how much I hated working with these blood coagulation machines during a summer research internship. One of the machines we were testing out was needlessly complicated. At that time I had wanted to make a simpler solution, but due to lack of time I never thought about it again.
What it does
The complete project can be split into two parts:
- Hardware - The 3D designs for the mounts / lateral flow cassette and the entire "kit" that can be used to perform this assay
- Software - The Desktop / Web applications that can be used to process these experiments and get meaningful data out of
In its current state, this is a proof of concept that this project can be helpful in providing diagnosis to patients with blood disorders that might cause their blood coagulation times to be different. This can also be used as a way to test out different compounds rapidly in blood/liquid samples.
How we built it
The initial prototype was done in Python using OpenCV, before being rewritten in JavaScript to have an installation free way to use this.
The 3D models were generated using OpenSCAD.
Challenges we ran into
While experimenting with the data processing side, I first tried printing out fiduciary (ArUco) markers and then applying a perspective transform, but this was really computationally expensive (even after skipping n frames in the middle).
Another issue I had was that my code would randomly stop working on my phone after trying to reload the page to get the latest changes. Turns out this is a bug in WebKit for iOS, and was first reported in 2021 (#222097)
Accomplishments that we're proud of
Just the fact that this works, is something I am really proud of. There was a good chance that this would just not work at all, because this is a mix of a Hardware-Software hack.
I am also really happy that I was able to work with all the video processing stuff without running into any memory issues.
What we learned
JavaScript is an okay language
What's next for iSeeRed
Implement a few different threshold algorithms to try and pick the best one when processing.
I also want to test this more, rather than just my own blood and some food dye. Since there is nothing in the code restricting it to only work for blood, this can maybe be used to test Plasma as well.
Built With
- chart.js
- javascript
- opencv
- openscad
- python
Log in or sign up for Devpost to join the conversation.