Clarius Mobile Health , a Canadian based company with decades of experience in the medical imaging industry, brought their handheld ultrasonic scanners (built with Qt) to the market in December 2016. Since then, they've amassed a user group of over 20,000 medical professionals , performed over 500,000 scans and have recently released their new HD line of products. (30 -40% smaller than the originals and capable of streaming high resolution scans directly to tablets or smartphones/ to their cloud based service.) Have a look at Clarius HD trailer here.
Kris Dickie (Head of Clarius R&D) estimates that in the 2 year development phase of the Clarius HD range they;
(working on the assumption that, without Qt, 80% of one of his team members time would have been used to work on cross platform compatibility alone)
We had the chance to chat with Kris and discuss how their R&D team leveraged the strengths of the Qt Ecosystem to make this leap forward in ultrasound technology a reality.
According to Kris, Qt was selected as a foundation for the development process at Clarius because the team placed a great importance on being able to use a single codebase to deploy a feature filled, yet intuitive, user interface across multiple platforms with a unified look and feel. Mobile OS compatibility was considered a priority as well, and they sought a framework that could facilitate their plans around cloud functionality.
Uploading and securely storing scan data from their devices to the cloud allows for image timelines and more information to be analysed by medical staff after a scan has been carried out. Clarius benefitted from the baked-in cloud connectivity options found with Qt for their impressive cloud setup which connects and functions with AWS using REST APIs and JSON.
Qt provides a fully featured IDE, extensive tools and a modular C++ library. These can be used to design and develop applications for mobile devices using different operating systems, with ease. Many users, Clarius included, have been able to take advantage of these capabilities when designing companion apps to accompany their embedded products. Learn more about Qt for mobile application development here.
Whilst using Qt, you have the flexibility to use what is already built into Qt or integrate other specialised tools and libraries. The team at Clarius did just this with the C++ Boost library for communication between the app and the device, and when setting up their DICOM image formation export functionality. Take a look at a selection of both free & paid extensions, tools and libraries availiable at the Qt Marketplace.
Ultrasound devices are a class-II, medium risk, medical device. Clarius has therefore been able to take advantage of the slightly less strict regulations that are seen with class-III devices, and release consistent software/firmware updates to future proof their products. These patches however must be well tested and meticulously documented. Both of these processes are possible within the the Qt ecosystem.
The Clarius HD range of portable scanners stream real-time HD ultrasound imagery to compatible iOS and Android tablets, and even smartphones, thanks to the nifty companion app.
Following data transmission from the ultrasound, the app uses shader code to render the ultrasound image, in real-time, on the medical-professional's device of choice.
Leveraging Qt's cross-platform & mobile capabilities, Clarius was able to run its recognisable UI across different consumer-level hardware and varying screen sizes without compromising on functionality or performance.
The development branch of Clarius is currently using Qt 5.13, whilst the production branch takes advantage of the long term support of 5.12.
Qt Bluetooth supports Bluetooth Low Energy development for client/central role use cases and applications performing the peripheral/server role.
For low-latency updates and most responsive user interface creation, custom OpenGL shaders were created and easily integrated using Qt (GUI's) OpenGL bindings.
Clarius used Qt's declarative language, QML, "right from the start". It is perfectly suited for quick design iterations and building exceptional, cross-platform, user interfaces.
Clarius work with teams at around 200 different universities through data sharing, and even run machine learning courses based around the findings. Want to take a look at the incredible work carried out by Clarius? Kris was kind enough to point us to their repositories, now available on GitHub. It showcases their tools and how they use Qt. Be sure to take a look.