cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar
guilhem
Level II

Peak integration features in JMP

Hi

Is there any peak detection features for time series in JMP? With tools like peak integration, baseline optimisation, etc. ?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
ian_jmp
Level X

Re: Peak integration features in JMP

Depending on the depth and breadth of your specific requirements, JMP has many of the building blocks that you might need. For example, the following code generates some random data and shows how to fit two Gaussians (using 'Analyse > Distribution'). Do 'File > New > New Script', copy and paste the code into the window that appears, then do 'Edit > Run Script'):

NamesDefaultToHere(1);

// Make some data with two peaks . . .

n1 = 500; mu1 = 0; sig1 = 1;

n2 = 500; mu2 = 2; sig2 = 2;

peak1 = J(n1, 1, RandomNormal(mu1, sig1));

peak2 = J(n2, 1, RandomNormal(mu2, sig2));

peaks = VConcat(peak1, peak2);

dt = NewTable("Peaks", NewColumn("Y", Numeric, Continuous, Values(peaks)));

// Use 'Normal Mixtures' in 'Distribution' to fit

dt << Distribution(Continuous Distribution( Column( :Y ), Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )));

But you probably want to fit a mixture of Lorentzians, in which case you will need 'Analyse > Modeling > Nonlinear' (see, for example: https://www.jmp.com/about/events/summit2013/resources/Paper_Susan_Walsh.pdf to get started with this).

However, remember that JMP is 'all purpose' statistical software: If you want the full range of capabilities that more niche software provides for dealing with spectral data, you would have some work to do, and require some knowledge to do it.

View solution in original post

6 REPLIES 6
ian_jmp
Level X

Re: Peak integration features in JMP

Perhaps I have misunderstood, but I associate 'peak integration' and 'baseline optimisation' more with spectral data, than with time series. Can you be a little more specific about what data you have, and what you hope to get from it, please?

guilhem
Level II

Re: Peak integration features in JMP

I am looking at traces from thermo analytical methods. By looking at peak integrations, I can infer the reaction progress (alpha). Combining such calculations along the different traces, one can estimate the kinetics parameters of the reactions involved in process.

ian_jmp
Level X

Re: Peak integration features in JMP

Depending on the depth and breadth of your specific requirements, JMP has many of the building blocks that you might need. For example, the following code generates some random data and shows how to fit two Gaussians (using 'Analyse > Distribution'). Do 'File > New > New Script', copy and paste the code into the window that appears, then do 'Edit > Run Script'):

NamesDefaultToHere(1);

// Make some data with two peaks . . .

n1 = 500; mu1 = 0; sig1 = 1;

n2 = 500; mu2 = 2; sig2 = 2;

peak1 = J(n1, 1, RandomNormal(mu1, sig1));

peak2 = J(n2, 1, RandomNormal(mu2, sig2));

peaks = VConcat(peak1, peak2);

dt = NewTable("Peaks", NewColumn("Y", Numeric, Continuous, Values(peaks)));

// Use 'Normal Mixtures' in 'Distribution' to fit

dt << Distribution(Continuous Distribution( Column( :Y ), Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )));

But you probably want to fit a mixture of Lorentzians, in which case you will need 'Analyse > Modeling > Nonlinear' (see, for example: https://www.jmp.com/about/events/summit2013/resources/Paper_Susan_Walsh.pdf to get started with this).

However, remember that JMP is 'all purpose' statistical software: If you want the full range of capabilities that more niche software provides for dealing with spectral data, you would have some work to do, and require some knowledge to do it.

guilhem
Level II

Re: Peak integration features in JMP

Hi Ian,

Thank you for the kind suggestions. I would not have thought that numerically integrating a plot (which requires some baseline modelling) or calculating some local optima would be niche but maybe it does not fit the initial intent of JMP. I agree that these functions can be scripted - integration is 'just' a sum of lozenges - but if I could avoid reinventing the wheel...

ian_jmp
Level X

Re: Peak integration features in JMP

In making my comments about 'niche software', I had in mind something like http://www.sigmaplot.co.uk/products/peakfit/peakfit.php.

As I also said, though, how JMP stacks up against your requirements ultimately depends on the depth and breadth of the latter (and also who else in your workgroup, if anyone, needs to do what you want to do). I have some code to do simple peak areas if you want to mail me at an.cox@jmp.com. If what you want is simple, I would be happy to make an add-in for the file exchange (but I can't promise to do that right away).

guilhem
Level II

Re: Peak integration features in JMP

Ah you’re right, I was not thinking something as thorough as PeakFit. I am definitely interested in the add-in you mentioned. I’ll email you about it.