How to implement Discrete Integration of the Gaussian Function on a Grid?
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Neilabh Banzal
il 13 Mag 2020
Commentato: Bjorn Gustavsson
il 13 Mag 2020
Hi!
I want to implement a physical problem, where the photons are incident on a 2D sensor as a Gaussian Function. I need to find out the number of photons hitting each pixel.
I know the total number of photons incident on the sensor as well as the spread of the Gaussian Function.
I can't use the PDF of a Gaussian Function as its a point value.
Any ideas on how to implement this on Matlab would be extremely helpful.
0 Commenti
Risposta accettata
Bjorn Gustavsson
il 13 Mag 2020
In that case you better integrate your Gaussian (point-spread-function?) over the pixel-areas. You could use something like this:
ph_cnt = @(x,y,x0,y0,sx,sy) integral2(@(u,v) exp(-((u-x0).^2/sx^2)+(v-y0).^2/sy^2^2),x,x+1,y,y+1);
Where x and y are the pixel-indices, x0 and y0 are the centroid of your photon-beam, sx and sy are the horizontal and vertical widths of the beam. You will still have to manage the normalization of the integral to give you the correct total photon-count.
HTH
4 Commenti
Bjorn Gustavsson
il 13 Mag 2020
But if your beams are narrow, you certainly don't need to integrate over the entire 1024x1280 area. If you restrict the integration to an aera
around each centre-point your relative error should be on the order of 1-erf(5)^2 or ~3e-12. To detect that small differences would require "very good" accuray for your photon-count.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/292827/image.png)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!