# Doppler echocardiography

Doppler echocardiography is a procedure that uses Doppler ultrasonography to examine the heart. An echocardiogram uses high frequency sound waves to create an image of the heart while the use of Doppler technology allows determination of the speed and direction of blood flow by utilizing the Doppler effect.
An echocardiogram can, within certain limits, produce accurate assessment of the direction of blood flow and the velocity of blood and cardiac tissue at any arbitrary point using the Doppler effect. One of the limitations is that the ultrasound beam should be as parallel to the blood flow as possible. Velocity measurements allow assessment of cardiac valve areas and function, any abnormal communications between the left and right side of the heart, any leaking of blood through the valves (valvular regurgitation), calculation of the cardiac output and calculation of E/A ratio (a measure of diastolic dysfunction). Contrast-enhanced ultrasound-using gas-filled microbubble contrast media can be used to improve velocity or other flow-related medical measurements.
An advantage of Doppler echocardiography is that it can be used to measure blood flow within the heart without invasive procedures such as cardiac catheterization.
In addition, with slightly different filter/gain settings, the method can measure tissue velocities by tissue Doppler echocardiography. The combination of flow and tissue velocities can be used for estimating left ventricular filling pressure, although only under certain conditions.
Although "Doppler" has become synonymous with "velocity measurement" in medical imaging, in many cases it is not the frequency shift (Doppler shift) of the received signal that is measured, but the phase shift (when the received signal arrives). However, the calculation result will end up identical.
This procedure is frequently used to examine children's hearts for heart disease because there is no age or size requirement.

## 2D Doppler imaging

Unlike 1D Doppler imaging, which can only provide one-dimensional velocity and has dependency on the beam to flow angle, 2D velocity estimation using Doppler ultrasound is able to generate velocity vectors with axial and lateral velocity components. 2D velocity is useful even if complex flow conditions such as stenosis and bifurcation exist. There are two major methods of 2D velocity estimation using ultrasound: Speckle tracking and crossed beam Vector Doppler, which are based on measuring the time shifts and phase shifts respectively.

### Vector Doppler

Vector Doppler is a natural extension of the traditional 1D Doppler imaging based on phase shift. The phase shift is found by taking the autocorrelation between echoes from two consecutive firings. The main idea of Vector Doppler is to divide the transducer into three apertures: one at the center as the transmit aperture and two on each side as the receive apertures. The phase shifts measured from left and right apertures are combined to give the axial and lateral velocity components. The positions and the relative angles between apertures need to be tuned according to the depth of the vessel and the lateral position of the region of interest.

### Speckle tracking

Speckle tracking, which is a well-established method in video compression and other applications, can be used to estimate blood flow in ultrasound systems. The basic idea of speckle tracking is to find the best match of a certain speckle from one frame within a search region in subsequent frames. The decorrelation between frames is one of the major factors degrading its performance. The decorrelation is mainly caused by the different velocity of pixels within a speckle, as they do not move as a block. This is less severe when measuring the flow at the center, where the changing rate of the velocity is the lowest. The flow at the center usually has the largest velocity magnitude, called "peak velocity". It is the most needed information in some cases, such as diagnosing stenosis. There are mainly three methods of finding the best match: SAD (Sum of absolute difference), SSD (Sum of squared difference) and Cross correlation. Assume $X_{0}(i,j)$ is a pixel in the kernel and $X_{1}(i+\alpha ,j+\beta )$ is the mapped pixel shifted by $(\alpha ,\beta )$ in the search region.
SAD is calculated as: $D(\alpha ,\beta )=\sum _{i=1}\sum _{j=1}|X_{0}(i,j)-X_{1}(i+\alpha ,j+\beta )|$
SSD is calculated as: $D(\alpha ,\beta )=\sum _{i=1}\sum _{j=1}(X_{0}(i,j)-X_{1}(i+\alpha ,j+\beta ))^{2}$
Normalized cross correlation coefficient is calculated as: $\rho (\alpha ,\beta )={\frac {\sum _{i=1}\sum _{j=1}(X_{0}(i,j)-{\bar {X_{0}}})(X_{1}(i+\alpha ,j+\beta )-{\bar {X_{1}}})}{\sqrt {(\sum _{i=1}\sum _{j=1}(X_{0}(i,j)-{\bar {X_{0}}})^{2})(\sum _{i=1}\sum _{j=1}(X_{1}(i+\alpha ,j+\beta )-{\bar {X_{1}}})^{2})}}}$
where ${\bar {X_{0}}}$ and ${\bar {X_{1}}}$ are the average values of $X_{0}(i,j)$ and $X_{1}(i,j)$ respectively. The $(\alpha ,\beta )$ pair that gives the lowest D for SAD and SSD, or the largest ρ for the cross correlation, is selected as the estimation of the movement. The velocity is then calculated as the movement divided by the time difference between the frames. Usually, the median or average of multiple estimations is taken to give more accurate result.

#### Sub pixel accuracy

In ultrasound systems, lateral resolution is usually much lower than the axial resolution. The poor lateral resolution in the B-mode image also results in poor lateral resolution in flow estimation. Therefore, sub pixel resolution is needed to improve the accuracy of the estimation in the lateral dimension. In the meantime, we could reduce the sampling frequency along the axial dimension to save computations and memories if the sub pixel movement is estimated accurately enough. There are generally two kinds of methods to obtain the sub pixel accuracy: interpolation methods, such as parabolic fit, and phase based methods in which the peak lag is found when the phase of the analytic cross correlation function crosses zero.

##### Interpolation method (parabolic fit)

As shown in the right figure, parabolic fit can help find the real peak of the cross correlation function. The equation for parabolic fit in 1D is: $k_{int}=k_{s}-{\frac {(R_{12}(k_{s}+1)-R_{12}(k_{s}-1))}{2(R_{12}(k_{s}+1)-2R_{12}(k_{s})+R_{12}(k_{s}-1))}}$
where $R_{12}$ is the cross correlation function and $k_{s}$ is the originally found peak. $k_{int}$ is then used to find the displacement of scatterers after interpolation. For the 2D scenario, this is done in both the axial and lateral dimensions. Some other techniques can be used to improve the accuracy and robustness of the interpolation method, including parabolic fit with bias compensation and matched filter interpolation.

##### Phase based method

The main idea of this method is to generate synthetic lateral phase and use it to find the phase that crosses zero at the peak lag.
The right figure illustrates the procedure of creating the synthetic lateral phase, as a first step. Basically, the lateral spectrum is split in two to generate two spectra with nonzero center frequencies. The cross correlation is done for both the up signal and down signal, creating $R_{up}$ and $R_{down}$ respectively. The lateral correlation function and axial correlation function are then calculated as follows: $R_{lateral}=R_{up}*R_{down}^{*};R_{axial}=R_{up}*R_{down}$
where $R_{down}^{*}$ is the complex conjugate of $R_{down}$.
They have the same magnitude, and the integer peak is found using traditional cross correlation methods. After the integer peak is located, a 3 by 3 region surrounding the peak is then extracted with its phase information. For both the lateral and axial dimensions, the zero crossings of a one-dimensional correlation function at the other dimension’s lags are found, and a linear least squares fitted line is created accordingly. The intersection of the two lines gives the estimate of the 2D displacement.

### Comparison between vector Doppler and speckle tracking

Both methods could be used for 2D Velocity Vector Imaging, but Speckle Tracking would be easier to extend to 3D. Also, in Vector Doppler, the depth and resolution of the region of interest are limited by the aperture size and the maximum angle between the transmit and receive apertures, while Speckle Tracking has the flexibility of alternating the size of the kernel and search region to adapt to different resolution requirement. However, vector Doppler is less computationally complex than speckle tracking.

### Volumetric flow estimation

Velocity estimation from conventional Doppler requires knowledge of the beam-to-flow angle (inclination angle) to produce reasonable results for regular flows and does a poor job of estimating complex flow patterns, such as those due to stenosis and/or bifurcation. Volumetric flow estimation requires integrating velocity across the vessel cross-section, with assumptions about the vessel geometry, further complicating flow estimates. 2D Doppler data can be used to calculate the volumetric flow in certain integration planes. The integration plane is chosen to be perpendicular to the beam, and Doppler power (generated from power Doppler mode of Doppler ultrasound) can be used to differentiate between the components that are inside and outside the vessel. This method does not require prior knowledge of the Doppler angle, flow profile and vessel geometry.

## Promise of 3D

Until recently, ultrasound images have been 2D views and have relied on highly-trained specialists to properly orient the probe and select the position within the body to image with only few and complex visual cues. The complete measurement of 3D velocity vectors makes many post-processing techniques possible. Not only is the volumetric flow across any plane measurable, but also, other physical information such as stress and pressure can be calculated based on the 3D velocity field. However, it is quite challenging to measure the complex blood flow to give velocity vectors, due to the fast acquisition rate and the massive computations needed for it. Plane wave technique is thus promising as it can generate very high frame rate.