getBaselineWindowSmoothAverage method
Implementation
int? getBaselineWindowSmoothAverage(List<int?> list, int index, int window) {
int start = index - window;
int stop = index + window;
int divisor = window * 2 + 1;
int value = 0;
for (int i = start; i <= stop; i++) {
if (list[i] == 0 || (list[i]! - list[i + 1]!).abs() > 30) {
divisor--;
} else {
value += list[i]!;
}
}
if (divisor != 0) {
return (value / divisor).truncate();
} else {
return list[index];
}
}