odb9402 / OPPA

Oppa _ 오빠 :: Optimize Parameter in Peak detection Algorithm by bayesian optimization. ( keep )
MIT License
1 stars 2 forks source link

Using scipy's genetic algorithm for fitting Raman spectroscopy data #1

Open zunzun opened 7 years ago

zunzun commented 7 years ago

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

odb9402 commented 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

zunzun commented 7 years ago

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.