Impedance cardiography

What Does This Channel Measure?

Electrical impedance changes in the thoracic cavity are largely dependent on the movement of blood. The largest contributor is the blood that is pumped vigorously by the left ventricle into the aorta with every heartbeat. The impedance cardiography (ICG) dZ/dt signal captures the velocity changes of the blood allows estimating pre-ejection period (PEP), left-ventricular ejection time (LVET), and stroke volume, among other cardiovascular parameters. PEP measures the latency between the onset of electromechanical systole, and the onset of left-ventricular ejection. Interest in PEP springs largely from studies suggesting it is most heavily influenced by sympathetic innervation of the heart. Particularly in combination with the parasympathetic marker of cardiovascular activity RSA, PEP can be used to partition components of autonomic activation in a study of cardiovascular reactivity. PEP is noninvasively measured for any given beat as the time between the Q-point in an electrocardiogram (ECG) signal and the B-point in the derived impedance signal, dZ/dt.







The B-point in the ICG represents the opening of the aortic valve, when the blood suddenly shoots out of the already contracted left ventricle into the aorta. The B-point dZ/dt value is usually around 0, corresponding to very low velocity of the blood. The X-point represents the closing of the aortic valve to prevent the blood from the aorta streaming back into the left ventricle. Since the direction of blood flow at this point has typically already reversed (because of the 'cardiac afterload', the blood pressure the heart has to pump against), the X-point dZ/dt value is usually somewhat negative. The Z-point (dZ/dtmax) represents the maximal speed of the blood ejection.  From these 3 points in relationship to the Q-point in the ECG, a variety of meaningful parameters can be estimated:



PEP (pre-ejection period, in ms): interval from Q-point in the ECG to the B-point in the ICG. PEP is inversely related to left-ventricular contractility and beta-adrenergic (=sympathetic) influences on the myocard (=heart muscle).

LVET (left-ventricular ejection time, in ms): interval from B- to X-point in the ICG. This is how long the heart pumps blood out of the left ventricle.

Inverse ejection-fraction index (ratio): ratio adjusting PEP for LVET (both are highly negatively correlated with heart rate): this is suggested to be an index of left-ventricular function that is inversely related to ejection fraction (the percentage of blood pumped out from the left-ventricle with each heart beat; compromised hearts have a lower ejection fraction).

Peak ejection velocity index (in Ohm/sec): this is the amplitude of the ICG Z-point (dZ/dtmax) relative to the B-point. A higher ejection velocity is produced by higher cardiac contractility.

Heather Index (Ohm/sec2): ratio of dZ/dtmax to Q-Z interval (electromechanical time interval). This index has been shown to be especially sensitive to changes in cardiac contractility. Sometimes this index is adjusted by the baseline impedance (Z0) and is then measured in units of 1/sec2.

Stroke volume (in ml): calculated from the ICG signal using the Kubicek formula:

    SV = rho * (L/Z0)2 * LVET * dZ/dtmax

    rho = blood resistivity
    L = distance between frontal ICG electrodes (in cm)
    Z0 = baseline impedance displayed on the impedance cardiograph during the recording (should be stable)
    LVET = left-ventricular ejection time (in sec)
    dZ/dtmax = peak ejection velocity

    From stroke volume, cardiac output (= heart rate * stroke volume) and total peripheral resistance (= mean blood pressure / cardiac output) can easily be computed.



Data preparation


Because the ICG signal is highly susceptible to even subtle movement artifacts and isometric muscular contraction near the thorax, it is typically necessary to average the wave forms across many beats to overcome the noise confound and assure reliable detection of the B-point and other inflection points in the ICG curve. This averaging relies on the times specified in a special icg timing file, which has the same type as standard anslab timing files, except that it's named 'MyFileName.icg.m' instead of 'MyFileName.m' (see timing files for more information): segments found in this file will be used for beat averaging. You can create such a timing file by running   marker analysis. You can additionally subdivide intervals created with the marer analysis using timing file modification  from the tools menu.


Information from the analyzed ECG file is also needed for performing averaging of the wave forms, so make sure to have run the ecg analysis beforehand. If beat averaging is not synchronized as shown in the picture below, sampling rate information that was used for ecg analysis is likely to be incorrect: times of R-waves are interpreted based on the sampling rate information and beat epochs are extracted according to these times. Therefore, if the ecg-sampling rate is incorrect, beat epochs are badly selected.


Thirdly, for each subject the main impedance level and the sensor distance is required. You can supply this information manually by entering the corresponding values in the dialog forms shown below:


Less laborious is however to collect these values for all subjects in a textfile and have anslab read the values from this textfile automatically. This textfile must located directly in the icg-subfolder of your study folder (not in a subfolder of it) and must be called icgparam.txt  . It should contain three tab delimited columns of only numbers, the first column beeing the subject number, the second column sensor distance given in centimeters and the third the the impedance given in ohm. An example content of icgparam.txt is shown below (subject 19 - 32) :


19    15      24
20    15      28.5
21    8.35    21.2
22    6.9     31
23    14.35   28
24    12.4    27
25    15.75   23.6
26    17.1    27
27    15      30
28    13.8    32
29    8.25    33
30    20.35   30.5
31    18.15   32
32    13.75   31


If you are using a textfile, be sure to select the corrsponding option in the icg-options dialog.



Editing of ICG Data

As with the other variables, select the file you want to look at.  Anslab preprocesses the dz/dt signal and in the first display (Axis A) shows the dZ/dt ensembles synchronized by the ECG Q-point of each heartbeat. In the second axis, an ensemble average across the shown beats is displayed, with standard error margins, and the automatically detected B-, Z-, and X-point, as shown below.





You can display the corresponding piece of raw signal by selecting the 'see raw signal' button:







Outlier exsclusion and autoexclusion:
You can manually exclude outlier curves using the 'exlusion box' outlier rectangular function, in the left axis.  Moreover, if autoediting is activated in the icg-options, anslab automatically exludes outlier curves, that are above or below the mean +/- 2 standard deviations in the B-point-window (shaded in light red). Special emphasis is made on the B-point window, as outliers distort this point most heavily, although you can extend the sensitive window to cover the entire beat. Exluded curves are plotted in light red. You can adjust the auto-editing parameters (sensitive window and standard deviations factor)  on the icg-options-dialog. The auto-editing outlier criterion is calculated statically using all beats in a segment, whereas the +/-1 standard deviation range in the average plot is updated automatically based on remaining valid beats. Hitting the 'clear segment'-button will undo all exclusions for the current segment (including auto-exclusions).


Adjusting the B-, Z- and X point:
And you can drag-and-drop the B-, Z,- and X-point in the right axis. You can also drag-and-drop the X-point-detection-window border lines. Dragging the left line will change both lines by the same amount (leaving the window size constant). Dragging the right line does not move the left window border, allowing you to change the window size. Number of beats, number of excluded beats, segment number, PEP and LVET values are displayed and updated according to editing steps in the data window. X-detection-window limits are displayed in the dynamic section of the command window as shown below. You can thus change the x-detection-window also parameterically by entering values in the corresponding edit boxes. You can save the x-detection-window settings for use with other files by hitting the 'save'-button. If you drag-and-drop a point, this point will be activated for precise readjustment with the keyboard. This is indicated by the 'arrow key setting active for:'-radiobuttons shown below. The activated option here determines which point will be moved, if you press the 'left' or 'right' arrow buttons. Using this option, points are moved by a very small amount (1 ms per keystroke). Therefore, adjusting the points roughly with drag-and-drop first is abvisable. Anslab will remember exluded beats for a segment and point position changes you performed with drag-and-drop. If you whish to reset these choices for a given segment, hit the 'clear segment'-button. Hitting the 'clear all'-button will reset all editing steps performed so far, and restart with the first defined segment.





Hitting 'accept' will save the current averaged waveform and it's B-, Z- and X-points and continue with loading the beats of the next segment.You can set a segment to missing data by choosing the 'set missing'-button. Hitting the 'back'-button allows you to go back to a previous segment and continue editing there. You can jump to a segment of your choice by entering a number in the 'jump to segment'-editbox, and you can save editing results to the current point by hitting the 'save'-button. If loading of previous results is activated in the icg-options, these editing results are loaded when reopening the file for analysis. You can then use the 'last edited'-button to jump to last edited segment (more precisely to the latest segment for which editing results can be found). After the last segment has been processed, extracted parameters are plotted over the duration of the file, and you can choose to save the reduced data to file or discard analysis results.  Note that extracted calculated traces are plotted as 'event'-type traces and can be directly aligned and compared with raw icg and ecg signal, by switching from 'event' to 'raw'-display-mode.


Beat-by-beat analysis:
Starting with anslab2.4, you can also run an icg analysis on every single beat, having anslab find the B-,Z- and X-point automatically (to activate the beat-by-beat analysis, set the "analysis mode" dropdown box on the icg-options page to "both" or "beat-by-beat"). This gives you better temporal resolution, but accuracy of the calculated parameters depends much more on the signal quality. After the beat-analysis, the calculated parameters are displayed (as shown below) and you can edit the calculated parameters for outliers using the exclude editing tool. If both the segment and the beat-by-beat analysis are run, beats excluded in the segment analysis will automatically be set to missing in the beat-by-beat analysis.






Guidelines for Resetting Characteristic Points

The Z-point is almost always easy to identify and the detection algorithm does not make an error here. The B- and X-points can be more problematic in some subjects during certain tasks, especially if there is much movement artifact. And of course, analyzing ICG is much easier in young healthy students than in older adults with cardiac disease.


If you can see a distinct B-point in the raw data but not in the ensemble average this indicates that the ensembles are not aligned well and the inflection point is 'washed out'. This could be because of a noisy ECG resulting in some msec errors in the Q-point detection. The Q-point times are the basis for the alignment of the ICG ensembles. In this case you could use the setting use_q_fixed=1, which forces to align by a Q-point estimated from the more reliable R-waves. Another reason could be that the period you are averaging over doesn't represent a steady state. If the PEP changes considerably across your averaging period, this would also wash out the B-point inflection from the ensembles. In this case it is recommended that you define smaller segments in the U-variable in your study definition file. A reasonable estimation of ICG parameters can be based on as few as 15 beats. Note that PEP and other ICG parameters depend to somewhat on the filling of the lungs, so it is important to average across several breaths.


If you cannot see a distinct B-point in both the ensemble averages and raw data, this indicates that the subject has a cardiac and thoracic morphology that makes estimation of PEP with just spot electrodes difficult. You could exclude this subject from the ICG statistics, or use the zero crossing mode, or manually reset the B-point to the zero dZ/dt line. This needs to be done across all tasks to be consistent.


The X-point can sometimes be ambiguous. There can be two or even three dips after the peak in the ICG signal. As a general rule, it is then the second or third dip. Between those two, it is the one with a consistently steeper immediately following increase, which indicates the closing of the aortic valve and sudden stop of reflux of blood into the left ventricle. Another guideline is that typical LVET values for young healthy subjects range between 300 and 350 ms, but it also depends much on various factors like physical fitness and body mass index. It is important to be consistent with the identification of the X-point within subjects.


Sometimes excluding a problematic subject from the analysis of ICG derived parameters is the best option and helps to not to distort group statistics.



 ICG options dialog:







* The main consideration is to make sure that the analysis sampling rate that was used during the ECG analysis is set correctly. If this is not done, the ensembles don't line up. It is recommended to use the highest possible analysis sampling rate allowed by the data for both ECG as well as ICG analysis (recommendation is 1000 Hz) to achieve an appropriate effective resolution for PEP and RSA estimation.
* For some subjects, there is no indication of any inflection in the wave form indicative of the B-point. For these subjects, it is best to use the zero-crossing mode across all tasks.
* Usually the 60 Hz digital notch filter should be applied to filter out 60 Hz line noise.
* If the ECG was very noisy, the Q-point detection is relatively unstable, and it is better to estimate it by a fixed interval backward from the R-wave peak. This interval can be set for each subject based on an inspection of the raw ECG in Exam.
* The resistivity of the blood can change with age and during stress, but it has been shown that under normal circumstances it can be set to a constant value of 135 Ohm * cm in humans.
* The stroke volume calibration factor allows to adjust the stroke volume estimation by a constant factor. This is especially useful if a concurrent invasive measurement of baseline stroke volume was done. In that case, ICG derived stroke volume tracks real stroke volume during stress very well. Without calibration, ICG derived stroke volume can be inaccurate on an absolute level, and thus baseline differences between groups have to be interpreted with caution.
* Usually taking the median across the ensembles is more accurate than the mean, because outliers are given less weight.
* The ICG wave form display window can be adjusted to provide optimal resolution for judging the location of the B- and X-points. Especially for subjects with very high baseline heart rates this can be made smaller, e.g., 500 ms.
* In many subjects there is a double-trough in the area where the X-point is expected. With some judgment (see also below), you can decide which one represents the closing of the aortic valve. This decision then has to be applied to all tasks for this subject. Xwin1 and xwin2 allow to setup a search mask for detection of the correct X-point. It is applied both to the ensemble and beat-by-beat analysis.
* The detection algorithm for the B-point looks for an inflection point somewhere in the area before the steepest increase in the ICG signal occurring before the Z-point. Some subjects have pronounced inflection points, others have barely visible ones. B_fact and B_fact_en allow to adjust the sensitivity of this detection.