function filterData(dataStages, filterVar, curve, allowSDs) {
let filterData = [];
let meanFentom = curve[3];
let SD1Fenton = curve[4];
let meanOMS = curve[10];
let SD1OMS = curve[11];
for (let line of dataStages) {
if (line.Code === "1-0006080") {
debugger;
}
let time = line.__time;
let meanCurve = time < 40 ? meanFentom.data : meanOMS.data;
let SDCurve = time < 40 ? SD1Fenton.data : SD1OMS.data;
let meanPoints = findPreAndPostValue(time, meanCurve);
let SDPoints = findPreAndPostValue(time, SDCurve);
let interpolatePoint = (time - meanPoints[0][0]) / (meanPoints[1][0] - meanPoints[0][0]);
let interpolateMean = d3.interpolateNumber(meanPoints[0][1], meanPoints[1][1])(interpolatePoint);
let interpolateSD = d3.interpolateNumber(SDPoints[0][1], SDPoints[1][1])(interpolatePoint);
let currentSD = interpolateSD - interpolateMean;
let upperLimit = interpolateMean + currentSD * allowSDs;
let bottomLimit = interpolateMean - currentSD * allowSDs;
if (line[filterVar] < upperLimit && line[filterVar] > bottomLimit) {
filterData.push(line)
}
}
return filterData;
}