John Hayes:
Understanding how to optimize pixel size for any given scope taking into account the local seeing conditions can be a little complicated. I outlined how image quality is determined by the MTF of an imaging system, which in turn is determined by the optics, the sensor, and the atmosphere in this presentation:
https://www.advancedimagingconference.com/articles/secrets-long-focal-length-imaging-john-hayes
(The AIC library is open to the public. All you have to do is to register at the AIC site.)
Although the discussion might go through a little more optics than you might like, I distilled the results down to a couple of charts to make it very easy to determine the optimum sampling interval for your scope and average seeing conditions (@ 40:28). I also provided the slides so that you didn’t have to dig through the presentation to find this stuff but it looks like the link to the slides is broken. Either way, if you can find time to check out this presentation, I think that you’ll leave with a little better understanding of how this stuff works.
John
Really nice charts!. To my surprise the formula I used to match my scope and camera, agrees very well with the value on the chart, at least for my scope.
I can't remember where I found it, but this is an extract from one of my python scripts:
pixelScopeMatch = (1/nyquistCriterium)*meanFWHM/(0.206265/(st.session_state['focalLength']/1000))
Where image FWHM is computed as per this ESO article :
Seeing and FWHMAnd the python code for it in case anyone needs it:
def imageQuality(seeing, aperture, imageScale, band, angle, guideRMS,L0):
#L0 wavefront outer scale
waveLength = band_selection(band)[0]
airmass = flux(20, float(angle), band)[1]
kolbFactor = (1/(1+300*(aperture/L0))) - 1
friedParameter = 0.1 * (seeing**-1) * (waveLength/500)**1.2 * airmass**-0.6
telescopeFWHM = 0.000212 * waveLength / aperture
atmosphereFWHM = seeing * (airmass**0.6) * ((waveLength/500)**-0.2) * np.sqrt(1+kolbFactor * 2.183 * (friedParameter/L0)**0.356)
guidingFWHM = guideRMS * 2 * np.sqrt(2 * np.log(2))
finalFWHMrms = np.round(np.sqrt(telescopeFWHM**2 + atmosphereFWHM**2 + imageScale**2 + guidingFWHM**2),3)
return finalFWHMrms
As a side note, calculating the telescope-camera system entendue can also be helpful, but I think one should be careful when comparing two very different systems just using entendue. For example I presume the Vera Rubin telescope has a higher entendue then JWST but they have very different goals/targets, so comparing them like this doesn't make much sense. One is a wide field - survey scope, the other one is a high resolution power horse.
But comparing the JWST with Hubble in terms of entendue makes more sense.