udfConvertCardioClick static method
Implementation
static List<List<double>>? udfConvertCardioClick({
required List<int> event,
required int channelCount,
required int sampleCount,
}) {
final res = List.generate(
channelCount,
(_) => List.filled(sampleCount, 0.0),
growable: false,
);
if (event.isEmpty) return null;
/// [V6, L1, L2, V2, V3, V4, V5, V6, V1]
final ordering = [11, 0, 1, 7, 8, 9, 10, 6];
final skip = 0;
for (var i = 0; i < sampleCount; i++) {
for (var j = 0; j < 8; j++) {
final msb = event[skip + 16 * i + j * 2];
final lsb = event[skip + 16 * i + j * 2 + 1];
final value = toDoubleTwoByte(msb, lsb);
res[ordering[j]][i] = value;
}
}
for (var i = 0; i < sampleCount; i++) {
final l1 = res[0][i];
final l2 = res[1][i];
res[2][i] = (l3(l1, l2));
res[3][i] = (aVR(l1, l2));
res[4][i] = (aVL(l1, l2));
res[5][i] = (aVF(l1, l2));
}
return res;
}