PPG data acquisition and processing
To obtain photoplethysmographic data, we acquired 12-bit skin images
within 40 s at a 50 Hz frame rate and then processed the whole stack of
2000 frames in MATLAB. The key stages of the data processing pipeline
have previously been described and are shown in Figure 3 .
Briefly, we eliminated uneven illumination and sensor non-uniformity and
then enhanced the contrast of all images and carried out frame-to-frame
matching using the GeFolki algorithm to exclude image shifts caused by
the patient’s movements. The change of pixel intensity in the areas
associated with the blood flow in the resulting image stack is a
pulsatile signal. For other regions, this change is insignificant and
aperiodic. To compute the blood flow signal, we subtracted slowly
time-varying background and frequency components out of the
cardiovascular-related range of 0.3–7 Hz. The resulting well-matched,
noise-free and intensity-corrected blood flow images were made suitable
for PPG calculation by averaging the intensity pixel values of each
frame. The PPG amplitude was proportional to the amount of arterial
blood that reaches the visualized skin area and thus characterized its
blood perfusion. It was measured in arbitrary units (AU). We performed
photoplethysmographic assessments of the volar forearm of all patients 5
min before and 10 min after the ice cube application.