CONTIN and Igor Pro

Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

Hallo everybody,

Has anyone implemented the CONTIN (or comparable alternate) algorithm
of S. Provencer for regularized solutions to ill-posed inversions of integral equations
using Igor?

Thanks
Sven


jtigor
Posts: 63
Joined: 2007-09-04
Location: United States

Sven,

I don't know that anyone has ported CONTIN to Igor. Have you looked at Provencher's web site ( http://s-provencher.com/pages/contin.shtml)? Provencher does provide his FORTRAN source code as well as compiled versions for Windows and Linux. I have successfully used his Windows version (or maybe I compiled it from his source with and old MS FORTRAN compiler, I don't quite remember). It runs in a DOS window and so is easily called from Igor. You can use Igor to prepare your data and assemble the input parameter set and then feed it to CONTIN. You'll then have to figure out what to do with the output from CONTIN, because it is still in the "Classic CONTIN" output style: a mix of numeric values and ASCII graphics. This is saved in a text file by CONTIN.

I can send you what I put together long ago to assemble the input file, but as I recall it is far too unnecessarily complex.

Jeff


andyfaff
Posts: 375
Joined: 2007-09-11
Location: Australia

I suppose it could depend on what you want to do with it. I'm very sceptical about the application of contin for dynamic light scattering applications. I reckon fitting a generalized exponential distribution (gex) is a much better idea. There is code for that on igorexchange.
If you need it for something else then 1) the fortran code could be translated to Igor b) one could use f2c to make an xop.


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

Thanks for your reply.
I want to use the CONTIN not only for dynamic light scattering data, I will use it for general.
I am not a programmer, so please can you post a compiled version on web, which I can use under Mac?

And furthermore, I could not find generalized exponential distribution (gex) on the Igor website.
So , please can you also post it there?

Thanks!


jtigor
Posts: 63
Joined: 2007-09-04
Location: United States

Take a look at the Linux version posted on Provencher's site. May it is compatible with the Mac?


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

jtigor,

of course this linux code is not compatible with mac.
Maybe there is somebody who can port this fortran code to c, which can then be implemented to igor file?


jtigor
Posts: 63
Joined: 2007-09-04
Location: United States

Apologies for the silly assumption; it's my mac i-gnorance showing.


Posts: 566
Joined: 2007-06-29
Location: United States

Sven wrote:

Maybe there is somebody who can port this fortran code to c, which can then be implemented to igor file?

A programmer who knows what they're doing, and has a FORTRAN compiler can include FORTRAN in an XOP. You have to be aware of function naming conventions, and parameter-passing conventions.

John Weeks
WaveMetrics, Inc.
support@wavemetrics.com


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

You may have right, but I am not a programmer. So therefore I post this feature request here, is anybody is so kind and willing to transform the
Fortran code into Igor code.
I think if you can implement this feature in the next release you will be ahead in the game, because a lot of scientific problems a dealing with
that inverse Laplace transformation (dynamic light scattering, NMR, etc.)


Posts: 566
Joined: 2007-06-29
Location: United States

Well, I contacted the author (Stephen Provencher) and he tells me that CONTIN is free to use, as long as we include proper citation for him and CONTIN. So that excuse is gone, now finding time...

John Weeks
WaveMetrics, Inc.
support@wavemetrics.com


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

Dear John,

thanks for contacting the author Steven Provencher.
It would be a great thing to implement this CONTiN-feature in the next Igor update with the nice output features as already in the FFT routine.
I completely undertstand that this programming costs time, but I think a lot of scientists would be thankful, because I know that this
inverse laplace transform feature is a suitable tool in many scientific problems, as I already pointed out above.
And, otherwise, no other good plotting program has this feature implemented, only the commercial software that belongs to the apparatus, as e.g. in dynamic light scattering.

It would be nice, if you could help...
SVen


Posts: 566
Joined: 2007-06-29
Location: United States

Sven wrote:
Dear John,

thanks for contacting the author Steven Provencher.
It would be a great thing to implement this CONTiN-feature in the next Igor update with the nice output features as already in the FFT routine.
I completely undertstand that this programming costs time, but I think a lot of scientists would be thankful, because I know that this
inverse laplace transform feature is a suitable tool in many scientific problems, as I already pointed out above.
And, otherwise, no other good plotting program has this feature implemented, only the commercial software that belongs to the apparatus, as e.g. in dynamic light scattering.

It would be nice, if you could help...
SVen


I have added it to the Wish List. I make no promises... :)
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

Dear John,

that would be great, if you can implement this feature. If you wish, that I check this routine, I can do this.

Sven


Bogdan Dragnea
Posts: 1
Joined: 2011-02-07
Location: United States

Adding the Laplace transform would be of great help.


JimProuty's picture
Posts: 180
Joined: 2007-07-19
Location: United States

The Laplace transform is symbolic and continuous, not numeric and discrete:

See http://en.wikipedia.org/wiki/Laplace_transform

We have the FFT, instead. You'd need something like Mathematica for the Laplace transform.

--Jim Prouty
Software Engineer, WaveMetrics, Inc.


Sven
Posts: 9
Joined: 2010-07-18
Location: Germany

Dear friends,

please have a look at this:
There is a Matlab code for it:

http://www.mathworks.com/matlabcentral/fileexchange/52

Please implement this in Igor Pro7.
When will it released?

Thanks!
Sven


Back to top