Close
0%
0%

Open Source Medical Ultrasound

The goal is to create a useful device that anyone can build at a reasonable cost.

Similar projects worth following
I began this project during my university years with the goal of making medical imaging accessible to other medical students. Over the years I made four prototypes, which unfortunately produced very low quality images, unsuitable for any relevant use; this work did give me useful practical knowledge and allowed me to explore different designs. Now that I'm about to enroll in a Master's Degree in biomedical engineering, it's time to keep going!

I've decided to start tracking progress here, on the path to a first working device. Here's a crude outline of what needs to be done:

1. More extensive state-of-the-art research, including more ambitious techniques and specific design and manufacture details.
2. Computer simulation of all relevant aspects, including finite-element, circuit simulation, as well as data processing algorithms.
3. Design of dedicated electronics, mechanical components (custom piezoelectrics, etc.) and software (FPGA).
4. Testing.

The final device should be usable by medical students for actual training, or even by physicians with no access to high-end ultrasonography equipment. Usage of the device should therefore require no technical knowledge outside what is expected of them.

At least 32 - 64 piezoelectric elements are required for reasonable resolution, as well as dedicated electronics and a powerful FPGA for digital signal processing. The most common range of frequencies in abdominal ultrasound should be handled, and phased array beam steering and focusing would improve the quality of images. Tissue harmonic imaging and color-coded Doppler imaging could additionally be provided.

The device should be easily manufactured by resorting to commonly available techniques and services, as well as open-source software and open standards. Ideally, interaction with it will be done via a connected consumer device, reducing the number of pieces to purchase and assemble. Everything should be kept to a manageable cost.

  • Setting up for FPGA programming

    Aritz Erkiaga12/22/2024 at 18:16 0 comments

    For my last prototype, I used a Tang Nano 20K FPGA board, and programmed it in Verilog using the open-source Yosys synthesis suite. This time, to improve on this workflow, I'm learning Chisel; I've started with the task to write a basic primitive library for the Gowin family of FPGAs (which the Tang boards sport). I've dived a little more into Yosys code and done a couple of changes to it. Now I've ordered a less powerful Tang Nano 1K board to begin testing.

  • Improved simulations

    Aritz Erkiaga12/12/2024 at 23:27 0 comments

    After improving the physical aspect of the simulation, as well as tuning the data processing algorithm (filtering region-of-interest correlation data and trying different diagonal loading coefficients before matrix inversion), image quality was greatly enhanced.


    The four short bright lines are where ultrasound-reflecting surfaces are located in the simulation. Other than a few artifacts, especially near the sensor, everything seems to keep its original shape.

    Only an actual experiment will tell how well real tissues show themselves with the chosen parameters, but at least this preliminary test hasn't given any reason to worry yet. It should work nicely once realized.

  • Simulations using Python

    Aritz Erkiaga12/10/2024 at 13:21 0 comments

    Using a Python script, I've tested the effect of different parameters and algorithms on the quality of the ultrasound image. Here is a 100 x 100 test with 50 elements, beam focusing on a 16 x 16 point grid, MVDR beamforming, de-modulated signal, 1 MHz fundamental imaging.


    It's not easy to simulate the propagation of ultrasound in tissues, so this picture is a greatly simplified, unrealistic approximation with lots of noise. But a real device with the same parameters should produce something at least as good as it, and I now have reference code for such a device.

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates