ml-spectra-fitting
Version:
Fit spectra using gaussian or lorentzian
23 lines • 859 B
JavaScript
/**
* This function returns the sumOfShapes function
* This function gives sumOfShapes access to the peak list and the associated data
* @param internalPeaks
*/
export function getSumOfShapes(internalPeaks) {
return function sumOfShapes(parameters) {
return (x) => {
let totalY = 0;
for (const peak of internalPeaks) {
const peakX = parameters[peak.fromIndex];
const y = parameters[peak.fromIndex + 1];
for (let i = 2; i < parameters.length; i++) {
const shapeFctKey = peak.parameters[i];
peak.shapeFct[shapeFctKey] = parameters[peak.fromIndex + i];
}
totalY += y * peak.shapeFct.fct(x - peakX);
}
return totalY;
};
};
}
//# sourceMappingURL=getSumOfShapes.js.map