Deconvoluting a curve with two Gaussian components with similar amplitudes, peaks separated by <FWHM

168 views
Skip to first unread message

Mark Olson

unread,
May 26, 2017, 2:14:29 PM5/26/17
to fityk-users
Hi all,

I'm just learning how to use Fityk to analyze spectra from Vis-NIR spectrophotometric titrations of copper (II) with ethylenediamine. I believe that the analyte solutions contain only two strongly absorbing species over the range of interest. Their peaks are separated (in energy) by about one standard deviation and the ratio of their amplitudes (in molar absorptivity) is about 2.5:1. Given the small separation of the peaks and 2.5:1 intensity ratio, this is a more difficult problem than I necessarily want to start with, so I'm just starting with the simpler problem of deconvoluting a curve that's the sum of two Gaussians with roughly 1.5:1 intensity ratio and separation about 0.8*FWHM.
I haven't gotten desperate enough yet to try dealing with Fityk's coding language, because I don't have any background in computer science. Any help would be much appreciated.

Be well and stay sane,

Mark Olson 

Daniel Farrell

unread,
May 26, 2017, 3:00:30 PM5/26/17
to fityk...@googlegroups.com
Hello Mark,

I know you are enjoying using Fityk and I'm sure it's possible but you might also be able to tackle this problem using the Python programming language. Here is an example doing more or less what you want, https://stackoverflow.com/questions/10143905/python-two-curve-gaussian-fitting-with-non-linear-least-squares

Best wishes,

Daniel

--
http://groups.google.com/group/fityk-users
---
You received this message because you are subscribed to the Google Groups "fityk-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fityk-users...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dan Parshall

unread,
May 26, 2017, 3:33:15 PM5/26/17
to fityk...@googlegroups.com
You should also look into the literature regarding "super-resolution".  Here are a couple of references

Imaging Below the Diffraction Limit:
A Statistical Analysis
Morteza Shahram and Peyman Milanfar
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 13, NO. 5, MAY 2004

http://iopscience.iop.org/0266-5611/6/1/007

http://dx.doi.org/10.1088/0266-5611/27/6/065012

DOI : 10.1007/s00041-013-9292-3



To unsubscribe from this group and stop receiving emails from it, send an email to fityk-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
http://groups.google.com/group/fityk-users
---
You received this message because you are subscribed to the Google Groups "fityk-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fityk-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Dan Parshall
Shorty George Productions
Washington, DC

Marcin Wojdyr

unread,
May 26, 2017, 3:48:43 PM5/26/17
to fityk...@googlegroups.com
Hi Mark,
what happens if you just add two functions and try to fit them?
By this I mean: select Add Peak Mode [F4] on the toolbar.
Select Gaussian from the list of functions.
Manually position two peaks with mouse.
click Start fitting.

BTW Fityk by default assumes that the standard deviation of y is
sqrt(y). If it's not the case it's possible to change it in a few
places, for example:
Data > Transformations > std.dev.=1

Assuming that you tried it and but the data is too noisy and it
doesn't work - then you need to set some constraints.
There is a button on the right hand sidebar (under tab "functions")
that sets the same width for all functions.
More complex constraints require typing a fityk command. For example
if you want the heights to be exactly 1.5:1, type:
F[1].height = 1.5 * F[0].height
If it's the area's that should be 1.5:1, use function GaussianA and
replace .height in the command with .area

I could misunderstand where the actual problem is as I don't know
anything about Vis-NIR.

Cheers,
Marcin
> --
> http://groups.google.com/group/fityk-users
> ---
> You received this message because you are subscribed to the Google Groups
> "fityk-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to fityk-users...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages