ml-gsd
Version:
Global Spectral Deconvolution
33 lines • 1.04 kB
JavaScript
export function getMinMaxIntervalsDy(y, x, dY, dX) {
let lastMax = null;
let lastMin = null;
const intervalL = [];
const intervalR = [];
for (let i = 1; i < y.length - 1; ++i) {
if ((dY[i] < dY[i - 1] && dY[i] <= dY[i + 1]) ||
(dY[i] <= dY[i - 1] && dY[i] < dY[i + 1])) {
lastMin = {
x: x[i],
index: i,
};
if (dX > 0 && lastMax !== null) {
intervalL.push(lastMax);
intervalR.push(lastMin);
}
}
// Maximum in first derivative
if ((dY[i] >= dY[i - 1] && dY[i] > dY[i + 1]) ||
(dY[i] > dY[i - 1] && dY[i] >= dY[i + 1])) {
lastMax = {
x: x[i],
index: i,
};
if (dX < 0 && lastMin !== null) {
intervalL.push(lastMax);
intervalR.push(lastMin);
}
}
}
return { intervalL, intervalR };
}
//# sourceMappingURL=getMinMaxIntervals.js.map