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.