The most related Wikipedia article seems to be https://en.wikipedia.org/wiki/Radial_distribution_function but still seems not related enough.
Someone asked this on Stack Overflow as [the question 21242011](https://stackoverflow.com/q/21242011).
Compared to original poster:

[The answer 21242776](https://stackoverflow.com/a/21242776) does not look so promising.
```python
fft1 = np.array(Image.open('circles.jpg')
def getRadialProfile(data, center):
y, x = np.indices((data.shape))
r = np.sqrt((x - center[0])**2 + (y - center[1])**2)
r = r.astype(np.uint32)
tbin = np.bincount(r.ravel(), data.ravel())
nr = np.bincount(r.ravel())
radialProfile = tbin / nr
return radialProfile
#radialProfile = getRadialProfile(np.log10(abs(fft1)), np.array(fft1.shape) / 2)
radialProfile = getRadialProfile(fft1, np.array(fft1.shape) / 2)
plt.plot(radialProfile)
plt.show()
```
`circles.jpg` being above image, maybe it is because the original poster works with raw data, other than the image itself.

Related to #70.
In fact if I use the center he specified (that is (509, 546)) that is not the center of the image (that is (552.5, 528)), then I get:
The different x axis scale remains unclear.
The peaks I found are at 270, 314, 450 and 517 which match quite perfecly what I measure with GIMP.
On my FFT the center of the image is also the center of the pattern but I still face a quite not satisfying result:
While we expect peaks at about 40 and 83. These peaks are not clearly visible.
In fact if I use the center he specified (that is `(509, 546)`) that is not the center of the image (that is `(552.5, 528)`), then I get:

The different x axis scale remains unclear.
The peaks I found are at 270, 314, 450 and 517 which match quite perfecly what I measure with GIMP.
On my FFT the center of the image is also the center of the pattern but I still face a quite not satisfying result:

While we expect peaks at about 40 and 83. These peaks are not clearly visible.
Translated with LibreTranslate from Google Doc Minutes:
In fact, what explains the difficulties in obtaining an interesting radial profile in the Fourier domain for the PRNU estimate is due to the fact that it is not circles but ellipses that are observed in this Fourier domain, this is particularly visible when one is interested in the profile of the two axes:
So we should expect more extensive ellipses on the axis of the ordered ones, but this is not obvious, an idea to determine whether they are circles or ellipses in the field of images? For trying by hand we talk about precision a few pixels and ??
Translated with LibreTranslate from Google Doc Minutes:
> In fact, what explains the difficulties in obtaining an interesting radial profile in the Fourier domain for the PRNU estimate is due to the fact that it is not circles but ellipses that are observed in this Fourier domain, this is particularly visible when one is interested in the profile of the two axes:


> So we should expect more extensive ellipses on the axis of the ordered ones, but this is not obvious, an idea to determine whether they are circles or ellipses in the field of images? For trying by hand we talk about precision a few pixels and ??
Do not use analyze_fft_ellipses.py, as it considers axes and here they are inpainted.
So we correctly obtain circles.
Do not use `analyze_fft_ellipses.py`, as it considers axes and here they are inpainted.
<img width="2897" alt="largest_crop_fft" src="/attachments/2d86540d-49fb-4ab2-9d9e-9802de8edd30">
<img width="812" alt="largest_crop_radial_profile" src="/attachments/1165311f-cdd0-4640-bda2-47424fcee35d">
So we correctly obtain circles.
plt.xlabel('Distance to the circle center')plt.ylabel('Average of the Fourier domain pixels at this distance from the circle center')
y-axis label looks too long:
```python
plt.xlabel('Distance to the circle center')
plt.ylabel('Average of the Fourier domain pixels at this distance from the circle center')
```
y-axis label looks too long:

Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The most related Wikipedia article seems to be https://en.wikipedia.org/wiki/Radial_distribution_function but still seems not related enough.
Someone asked this on Stack Overflow as the question 21242011.
Compared to original poster:
The answer 21242776 does not look so promising.
circles.jpgbeing above image, maybe it is because the original poster works with raw data, other than the image itself.Related to #70.
In fact if I use the center he specified (that is
(509, 546)) that is not the center of the image (that is(552.5, 528)), then I get:The different x axis scale remains unclear.
The peaks I found are at 270, 314, 450 and 517 which match quite perfecly what I measure with GIMP.
On my FFT the center of the image is also the center of the pattern but I still face a quite not satisfying result:
While we expect peaks at about 40 and 83. These peaks are not clearly visible.
Translated with LibreTranslate from Google Doc Minutes:
Do not use
analyze_fft_ellipses.py, as it considers axes and here they are inpainted.So we correctly obtain circles.
y-axis label looks too long: