Case study: Blood vessel detection

This case study describes work done by a team of students working to develop a low-cost medical device as part of a summer program in India. The team designed and built a tool for detecting blood vessels during laparoscopic surgery.

Clinical need

Laparoscopic surgery is increasingly replacing traditional open surgery due to its many advantages, including reduced trauma from surgical incisions, lower rates of postoperative infection/morbidity, and faster patient recovery and hospital discharge. However, the closed nature of the surgery means that surgeons have to rely on endoscope visuals and their knowledge of anatomy to safely navigate the surgical workspace, and no longer have depth-perception or direct tactile and force feedback. This can elevate the risk of accidental injury to the patient.

In particular, injury to arterial vessels is dangerous as the patient can bleed out very rapidly. These vessels often cannot be differentiated from the surrounding tissue by visual inspection alone, and anatomical variation in the patient population means that vessels are not always located where they are expected to be. Below is an example of accidental vessel injury during a laparoscopic cholecystectomy (gallbladder removal).

In open surgery, these vessels can easily be identified by palpating the tissue, but this is not possible in laparoscopic surgery. Conversion to open surgery may be required after vessel injury to prevent the patient from bleeding to death.


To address the above clinical need, the team built a laparoscopy-compatible tool for blood vessel detection. The sensing component of the device is a pressure sensor based on the low-cost TakkTile sensors developed in the Harvard Biorobotics lab. Though the MEMS sensors used in TakkTiles and the associated equipment for mounting them were not readily available in India, the team had access to an altitude/pressure sensor breakout from SparkFun which uses the Freescale MPL3115A2 sensor, similar to the MPL115A2 used in TakkTiles but more sensitive, with a pressure resolution of 1.5 Pa as opposed to 150 Pa. This increased sensitivity comes with the tradeoff of a lower threshold for sensor saturation and more variable results of rubber casting. After being cast under silicone rubber, the sensor was able to detect the slight pressure fluctuations caused by pulse when placed against a blood vessel.

To enable use of this sensor in laparoscopic surgery, the sensor is integrated into a tool consisting of a long shaft with a steerable end segment, with the sensor mounted at the tip. A dial/capstan mechanism enables this segment to rotate 180 degrees, giving the surgeon a large range of motion which enables access to difficult-to-reach areas. However, the tool is still stiff enough for stable placement of the sensor on test sites. Below is the prototype of the device showing the mechanism, and a second version with a more ergonomic form-factor.

Once the sensor is placed, the real-time pressure signal is processed through an algorithm which determines whether a pulse is present or not. The signal is first filtered through a band-pass filter which allows frequencies around and near the patient’s heart rate, but removes high-frequency sensor noise and low-frequency variation in the baseline caused by movement of the surgeon’s hand. This filtered signal is then analyzed via a fast Fourier transform. In the frequency domain, a regular heartbeat signal results in a single strong peak within the bandpass filter range. Therefore, the algorithm detects when there is only a single peak in this frequency window, with the added criteria that this peak has to have a stable amplitude (be within a certain height window for a minimum amount of time). If these conditions are met, the surgeon will hear an audible beeping or receive other feedback within 3-4 seconds of placing the tool, indicating that there is a blood vessel under the sensor.

Above are examples of data from when the sensor is placed over random tissue (top) or over a blood vessel (bottom), and what the filtered data and the FFT of the filtered data looks like in each case. The black dots indicate when the algorithm detects a heartbeat.