Ozzy

Joined 25 March 2015
346 bytes added ,  26 March 2015
Line 81: Line 81:




I would like to implement a general algorithm for maximum entropy reconstruction. This is an algorithm for estimating distributions and have applications in various fields. It is used for deblurring/deconvolution of images, power spectrum estimation, smoothing, measurement data processing in biology, physics and more.
I would like to implement a general algorithm for maximum entropy reconstruction. This is an algorithm for estimating distributions and have applications in various inverse or ill-posed problems. It is used for deblurring/deconvolution of images, power spectrum estimation, smoothing, measurement data processing in biology, physics and more.


The algorithm would find its place in one of the existing packages (where ''optim'' or ''signal'' sound appropriate) or as a separate package. I plan to prepare two versions of the general algorithm, (temporal name {{codeline|maxent}})
The algorithm would find its place in one of the existing packages (where ''optim'' or ''signal'' sound appropriate) or as a separate package. I plan to prepare two versions of the general algorithm, (temporal name {{codeline|maxent}})
Line 94: Line 94:
The returned value {{codeline|x}} is such that
The returned value {{codeline|x}} is such that
<math> y \approx Dx</math>
<math> y \approx Dx</math>
where each of the coordinates of {{codeline|y}} lies within {{codeline|alpha}} confidence interval (normal distributed error assumed). Out of all possible {{codeline|x}} the one with the highest entropy is chosen. {{codeline|info}} describes the convergence of the algorthm. The other returned parameters will describe final gradients, hessians and Lagrange's coefficient.
where each of the coordinates of {{codeline|y}} lies within {{codeline|alpha}} confidence interval (normal distributed error assumed). Out of all possible {{codeline|x}} the one with the highest entropy is chosen. {{codeline|info}} describes the convergence of the algorthm. The other returned parameters will describe final gradients, Hessians and Lagrange's coefficient.


* another version would be defined for a non-linear function. The declaration would very similar
* another version would be defined for a non-linear function. The declaration would very similar
Line 102: Line 102:
</syntaxhighlight>}}
</syntaxhighlight>}}


All the parameters have the similar meaning here, and the new parameter {{codeline|fun}} is the handle to a function which accepts vector argument, which describes the problem. This time the returned value should obey  
All the parameters have the similar meaning here, and the new parameter {{codeline|fun}} is the handle to a function which accepts vector argument, which describes the problem to be inverted. This time the returned value should obey  
 
<math> y \approx f(x)</math>
<math> y \approx f(x)</math>


* some wrapper functions will be provided to allow the user quickly use MEM in their problem. This includes function for 1D and image deconvolutions, time series components analysis, power spectral estimation and other applications I will be able to find in Matlab or other computational software.
It is convienient to have this version of the algorithm for problem where obtaining the transformation matrix is difficult to compute or affects performance (think fft). The algorithm is expected to give good results for linear functions. For non-linear the chances are still there.
 
Additional  work will be put to provide some wrapper functions to allow the user quickly use MEM in their problem. This includes function for 1D and image deconvolutions, time series components analysis, power spectral estimation and other applications I will be able to find in Matlab or other computational software.
 
 


* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.''
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.''
[[Category: Summer of Code]]
[[Category: Summer of Code]]
46

edits