User Stories
GlucoLight Develops Automated Glucose Monitor Using MathWorks™ Tools
Download this user story 115k
|
|
|
Medical studies link elevated glucose levels with complications for all patients who have undergone surgery. While hospitals continuously check intensive-care patients' blood pressure, heart rate, pulse, and temperature using automated monitoring devices, glucose-level checking is still a time- and cost-intensive manual procedure.
GlucoLight Corporation has developed SENTRIS-100™, a hospital-based monitor that provides continuous, non-invasive monitoring of blood glucose levels. The monitor uses infrared light and sophisticated image and signal processing algorithms to detect, in real time, structural changes in the skin triggered by changes in blood glucose levels.
Glucolight used MathWorks™ tools for Model-Based Design to analyze and explore data, develop and validate detection algorithms, and generate embedded code for SENTRIS-100. "MathWorks tools and Model-Based Design enabled us to cut development time in half, eliminate errors associated with hand-coding, and proceed to clinical trials more quickly and with a higher level of confidence," explains Dr. Matthew Schurman, chief technology officer at GlucoLight.
Challenge
The SENTRIS-100 monitor collects raw infrared scans of the dermis and then uses signal processing and image processing to preprocess the data and extract a glucose-specific signal. “Developing sophisticated algorithms like those in SENTRIS-100 requires exploration and multiple iterations,” says Schurman. “At first we tried out new ideas by hand or with Excel®. We also wrote software to churn through numbers, but it was taking way too long. We needed to focus our limited programming resources on building the actual system, not on developing entire applications to try a new algorithm.”
Once the research team had refined an algorithm in C, programmers would translate it so that it was suitable for embedded implementation. “The translation was labor-intensive and error-prone,” says Schurman. “We needed an environment for data exploration and algorithm development. Then, we needed to rapidly and reliably implement those algorithms on our embedded processor.”
"For our company, getting the job done faster and not having to redo work is really important. MathWorks™ software and Model-Based Design give us a unified environment that accelerates development and enables us to eliminate errors introduced by hand coding and manual processes."Dr. Matthew Schurman
GlucoLight Corporation
Solution
GlucoLight used MathWorks tools and Model-Based Design to develop algorithms, analyze data to validate their approach, and generate code to deploy their algorithms onto the embedded processor.
Working in MATLAB®, GlucoLight engineers developed and tested algorithms that process the data from infrared sensors and detect signals from the skin that are linked to elevated glucose levels.
“The eye is a powerful data exploration tool,” explains Schurman. “I used MATLAB and built-in functions from Image Processing Toolbox™ to translate the steps my brain used—for example, selecting a region of interest in an image—into an algorithm.”
The team used Signal Processing Toolbox™ to filter out noise from input signals and Wavelet Toolbox™ to enhance signals and explore signal characteristics in more detail.
To understand trends within the data and factors that change from person to person, Schurman and his colleagues aggregated results from multiple test subjects using Statistics Toolbox™ and Curve Fitting Toolbox™.
GlucoLight software engineers initially translated their “concept” algorithms into embedded C code by hand. By writing these algorithms in the Embedded MATLAB™ language subset, they were able to test and debug them in a Simulink® model that simulated their entire system rather than on hardware. With Real-Time Workshop® they could then generate embedded C code from their MATLAB M-files, creating a direct path from MATLAB to implementation on a PC/104 processor.
To ensure that the software was free from run-time errors and to prepare SENTRIS-100 for clinical trials, GlucoLight used PolySpace™ products for C++ to verify new or changed code on a class-by-class basis.
GlucoLight has completed seven pilot studies of SENTRIS-100, including a study with post-cardiac surgery patients.
Results
- Development time reduced by 50%. “We have accelerated development dramatically with MATLAB, Simulink, and Real-Time Workshop,” says Schurman. “I can say with confidence that we’ve cut development time in half, and probably by more than that, freeing up programming resources to work on other aspects of the project.”
- Real-time results 100% consistent with simulations. “Our embedded code produces the same results in real time that our Simulink model does on my desktop. If we don’t like the results, I can use the model to detect the problem,” says Schurman. “Before using Simulink and Embedded MATLAB, we had to rewrite the code to produce log files and then try to analyze them, which made finding problems slower and more difficult.”
- Design issues corrected within hours. “With MathWorks tools and Model-Based Design, we can focus on developing and refining our products, not on troubleshooting,” Schurman says. “When we see a problem we go back to the model, solve the problem, and move on within a few hours. Without MATLAB and Simulink, it took us a day or more to solve the same issue.”
Products Used
- MATLAB
- Simulink
- Curve Fitting Toolbox
- Image Processing Toolbox
- PolySpace Client for Ada
- PolySpace Client for C/C++
- PolySpace Model Link SL
- PolySpace Model Link TL
- PolySpace Server for Ada
- PolySpace Server for C/C++
- PolySpace UML Link RH
- Real-Time Workshop
- Signal Processing Toolbox
- Statistics Toolbox
- Wavelet Toolbox
Store