JSPM

  • Created
  • Published
  • Downloads 3246
  • Score
    100M100P100Q141097F
  • License MIT

Package Exports

  • ml-peak-shape-generator

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ml-peak-shape-generator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ml-peak-shape-generator

NPM version build status npm download

Peak shape generator, the current kind of shapes supported are:

Name Equation
Gaussian
Lorentzian
Pseudo Voigt

where

Installation

$ npm i ml-peak-shape-generator

Usage

import { gaussian, lorentzian, pseudoVoigt} from 'ml-peak-shape-generator';

// It's possible to specify the windows size with factor option
let {data, fwhm} = gaussian({factor: 3.5, sd: 500});
// or fix the number of points as Full Width at Half Maximum
let {data, fwhm} = gaussian({factor: 3.5, fwhm: 500});

// It's possible to specify the windows size with factor option
let {data, fwhm} = loretzian({factor: 5, fwhm: 500});

// It's possible to specify the windows size with factor option
let {data, fwhm} = pseudoVoigt({{factor: 5, fwhm: 500}});
import { getShape, GAUSSIAN, LORENTZIAN, PSEUDO_VOIGT} from 'ml-peak-shape-generator';

// If you want to dynamically select a shape you can use the `getShape` method.
let {data, fwhm} = getShape(LORENTZIAN, {factor: 3.5, sd: 500});

It is also possible to get a function that allows to calculate y for any x

import { gaussianFct} from 'ml-peak-shape-generator';
const func = gaussianFct({ x: 0, y: 2, width: 0.2 });

You can create a class as well and add many peaks

const peakShapeGenerator = new PeakShapeGenerator({cacheSize:20});

let shape = peakShapeGenerator.getShape(GAUSSIAN, { fwhm: 500 });
let shape2 = peakShapeGenerator.getShape(GAUSSIAN, { fwhm: 500 });
// shape===shape2 true

let shape3 = peakShapeGenerator.getShape(GAUSSIAN, { fwhm: 100 });
// shape===shape3 false
let shape4 = peakShapeGenerator.getShape(GAUSSIAN, { fwhm: 100 });
// shape3===shape4 true

API Documentation

License

MIT