UNPKG

ml-gsd

Version:
38 lines 1.34 kB
import { tryMatchOneIntervalWithMinData } from "./tryMatchOneIntervalWithMinData.js"; export function getPeakFromIntervals(options) { let lastK = -1; const peaks = []; const { x, ddY, yData, yThreshold, intervalR, intervalL, minData } = options; for (let i = 0; i < intervalL.length; i++) { const intervalWidth = (intervalR[i].x - intervalL[i].x) / 2; const intervalCenter = (intervalR[i].x + intervalL[i].x) / 2; const { possible = -1, lastIndex } = tryMatchOneIntervalWithMinData({ x, lastK, minData, yThreshold, intervalWidth, intervalCenter, yData, }); if (possible !== -1) { const centerIndex = minData[possible]; const width = Math.abs(intervalR[i].x - intervalL[i].x); peaks.push({ id: crypto.randomUUID(), x: x[centerIndex], y: yData[centerIndex], width, index: centerIndex, ddY: ddY[centerIndex], inflectionPoints: { from: intervalL[i], to: intervalR[i], }, }); } lastK = lastIndex; } return peaks; } //# sourceMappingURL=getPeaksFromIntervals.js.map