SIMulation for PLanning the Embolization of intracranial aneurisms



News and meetings




Private area


edit SideBar

Blood flow: in-vivo measurement and influence


The coil does not evolve in a static environment. In particular, the blood pressure, velocity and pulsatility might influence the deployment. This fourth sub-project aimed at evaluating if and how the blood flow should be taken into account.

Discussions with flow analysis specialists led us to consider only the blood velocity in a first approach: either the velocity full pattern in the pulsatile hypothesis, or the average velocity for a steady flow.

A two-step approach was followed:

  • devise means to measure the blood velocity in-vivo and analyze the flow inside the aneurism.
  • couple the coil simulation with a blood flow simulation which enable to study various scenario (flow or no flow, pulsatile or not).

Today, only the first step was initiated in the framework of Cédric Laurent's internship with the Magrit group (ended Sep. 13th 2008). The following page therefore must be considered as only a preliminary report.

Preliminary analysis

Need for an in-vivo measurement

Ultrasound (US) Doppler imaging is an easy way to measure the blood flow pattern in the internal carotid artery. Since we have a 3D model of the vasculature, the section size of the internal carotid artery is known and blood velocity can be computed.

Doppler ultrasound provides the blood flow pattern in the internal carotid artery.

However, US Doppler images are acquired the day before the intervention, in a stressless environment, and without the influence of medicine. Various causes may imply changes in the blood flow during the intervention: patient stress, medicine (heparin - anticoagulant that makes the blood more liquid - is often given to prevent the formation of blood clots during and just after the intervention), general anesthesia (sets the blood pressure under control), endoluminal micro-tools insertion... As a consequence, it appeared crucial to have means to measure the blood flow in-vivo.

Experimental blood flow study

The foreseen measure algorithm sketch considers DSA or fluoroscopy images during the manual injection of a small bolus of contrast agent in the internal carotid artery. The time-intensity pattern at each pixel on the main flow line should be translated in time as one goes upward in the vessel, depending on the blood velocity. The major difficulty consisted in devising means to validate our algorithm.

A trivial way was to use the anthropomorphic phantom of the brain vasculature (Elastrat, Geneva). Various tracers were tried out:

  • microscopic marbles, used to temporarily occlude blood vessels in neurosurgery, should appear dark if mixed with contrast medium. On next figure, the left image shows a central frame in the sequence (framerate=8fps): it was impossible to see the marbles in the vessels, but only in the aneurism (on the right of the image) where the flow seemed much lower than in the parent vessel. Click here for a movie.
  • air bubble should also appear white if pushed in contrast medium. On next figure, the middle image shows a central frame in the sequence: the bubble seems to be elongated all along the vessels and is only seen in 6 frames (framerate=8 fps). Click here for a movie.
  • the marbles were mixed with a very dense oily liquid so that they appeared more dense. On next figure, the right image shows a central frame in the sequence: still, the marbles are only seen in the aneurism (on the right of the image). However, this gives a nice pattern of the main streamlines (framerate=8 fps). Click here for a movie.

As a conclusion, it seems impossible to use tracers in the flow to have a ground-truth measurement in the phantom. Indeed, an X-ray image is not an instantaneous shot and the X-ray photons are collected over a certain time laps to reduce the noise in the final image. With regard to the blood velocity, the temporal filtering leads to far too blurry images to be able to track objects in the flow.

Blood flow computed simulation-based validation

Gerris open-source software

Gerris is an open source flow solver written by Stéphane Popinet, who is also the author of the GTS library. The expected use of such a software was to simulate X-ray images of a contrast medium injection with a known blood flow pattern and run our blood flow measurement algorithm for validation purpose. The first step consisted in at least roughly validate the use of such a software with our data. Blood velocity, vorticity and streamlines were computed on the phantom data (see images below). The simulation results are fully compatible with the above observations made on the phantom since the simulation is able to predict that the flow is much slower in the aneurism: see the velocity image below, where blue is for the slowest flow, and compare with the above X-ray images.

Flow simulation results on the phantom from Gerris software. From left to right: velocity (blue to red=slower to faster flow), vorticity, streamlines.

Simulating X-ray images

Gerris enables tracers to be placed in the flow and their position tracked. We used this functionality to simulate the injection of contrast medium and simulate X-ray images. The image below gives an example of such a simulation.

Simulation of contrast medium injection. Left: contrast medium propagation in 3D (click here for a movie). Right: Xray projection of the propagation (click here for a movie).

Blood velocity measurement


The algorithm sketch is as follows:

  • Extract the main streamline using Gerris
  • Choose manually two measure points on this line in the internal carotid artery. Add a N measure points regularly spaced in 3D along the line between these points.

For each measure point, project it in the X-ray images and extract a section segment orthogonal to the main line. In practice, we stop a few pixels before the vessel border so as not to consider the flow which is null at the vessel walls.

  • For each section, compute the pixel density profile along time.
  • Estimate the pairwise time shift between profiles by optimizing cross-correlation. Compute a velocity from the known 3D curved distance between the points.

the output velocity is the robust mean of all computed velocity

The following figure illustrates the main steps:

From left to right: extraction of the main streamline; selection of two extreme measure points and automatic determination of related segments over which the measure is averaged; extraction of pixel density time profile from X-ray images.

Tests and results


Xray images from a numerical simulation of contrast product (see above) were first used. The true velocity was 0.1132 m/s. The estimated velocity was 0.1092 m/s, that is an of 4%, with a maximum error of 13%, and a standard deviation of 0.01. The result was considered good enough for tests on real data.

Phantom data

X-ray images of the phantom were then used (8 fps). The estimated velocity was 0.4648 m/s, with a standard deviation of 0.376 and a maximum error of 17 %. Knowing that the velocity in the phantom is comparable to what can be measured on a patient, this figure can be compared to US Doppler data that give values between 0.37 m/s and 0.66 m/s depending on the diastolic and systolic period. Though not quite as good, this results are encouraging.

On-going work

The on-going work follows two directions:

  • patient data: we tried our algorithm on a patient for which we have US Doppler data. Unfortunately, the DSA images were taken at a 2 fps framerate which is too low for a good measure. We are expecting new patient data in a short period of time with images at 8 fps.
  • algorithm improvement: a global estimation approach was just tried out. Here, the velocity is supposed to be constant and a global maximization of the sum of all pairwise cross-correlation between density profiles is performed. Preliminary tests showed an improved estimation of the velocity.
View  Edit  Attributes  History  Attach  Print   Search