Open zunzun opened 7 years ago
thank you for comment. this is my first time using GitHub as communicate someone not just using for archive.
anyway, I will attempt to several solution for parameter learning, we can may be using beautiful approach that you suggested. so, I`m doing this Project for some bioinformatics, perhaps there terms "Peak" in nuclear engineering?
and my major programming language is also Python. I`m glad to see Python Lover. if I have some question to use that, I will tell you.
Dong Pin Oh
The example Python code is for Raman spectroscopy of carbon nanotubes. My nuclear fission days were in the 1980's as a submarine nuclear reactor operator in a US Navy. In the 1990's I traveled the world as an industrial radiation physics engineer in the metals industry. In the 2000's I worked as software engineer in the USA. I have a lot of Python code for curve fitting and 3D surface fitting on GitHub at https://github.com/zunzun?tab=repositories - some web based and some GUI based.
The technique in my example code can be used for any equation, and is not specific to peak equations.
I see from your GitHub project that you are working with peak detection in Python. The authors of scipy have added a genetic algorithm for initial parameter estimation in curve fitting, the module is named scipy.optimize.differential_evolution.
I have used scipy's Differential Evolution genetic algorithm to determine initial parameters for fitting a double Lorentzian peak equation to Raman spectroscopy data and found that the results were excellent. The GitHub project, with a test spectroscopy data file, is:
https://github.com/zunzun/RamanSpectroscopyFit
If you have any questions, please let me know. My background is in nuclear engineering and industrial radiation physics, and I love Python so I will be glad to help.
James Phillips