Re: I Can't Get No Less Diffraction ...

Detail Man wrote:

I just get the list of "switches" (arguments), including "-p". I don't see PSF options listed there. Just "profile" and "Generate MTF50 profile". Am I missing something more in your Help section ?

Hi DM,

Sorry for the radio silence, but I had some "real work" to do

./mtf_generate_rectangle -h

will list all the switches. It should list all the allowed arguments for the "-p" option. If you try

./mtf_generate_rectangle -p bogus

it will explicitly list the only the allowed arguments for "-p". Let me know if you have any questions regarding the meaning of the different supported PSF types (I hope the names are sufficiently descriptive, but I'd gladly clear it up they aren't).

Questions: I am a bit uncertain what "OLFP (4-dot, 0.35 pixel spacing)" component of the composite PSF means in terms of the first spatial-frequency zero in the [ cosine (pi * x) ? ] OLPF spatial-frequency response.

Is 0.35 pixels the spatial "split distance", with a "total spread" of 0.7 pixels ?

The 0.35 (actually, looking at the code, it is 0.375) is the offset of the beam from the original centre of the photosite. In other words, the four beams are centered at (+- 0.375, +- 0.375). Since the photosite is convolved with the beam splitter at each of these four locations, we can visualise the four squares (100% coverage photosites) representing the photosites being placed (centred) at these locations.

Since the extent of each of the photosites is (+- 0.5, +- 0.5), the outer extent (bounding box) will be from (-0.375-0.5, -0.375-0.5) to (0.375+0.5, 0.375+0.5), or (-0.875, -0.875) to (0.875, 0.875). This makes the width of the photosite convolved with the beam splitter 1.75 pixels, i.e., the effective OLPF is 0.75 pixels wider than the non-OLPF photosite.

If we increase the "split distance" to 0.5, then our effective OLPF is just a plain square photosite with sides equal to 2 pixels. The value of 0.375 seems to be a reasonable compromise between the extremes of 1-pixel wide OLPFs (no low pass filtering) and 2-pixel wide OLPFs (no benefit from using 1-pixel wide photosites, other than the Bayer filter and friends).

I have added the "--olpf-offset" command to MTF Mapper 0.4.14, which will allow you to play with this parameter. You will see that MTF Mapper prints out the effective MTF for the "-p airy-4dot-olpf" PSF.

How does one calculate the spatial-frequency value of the first zero ?

The MTF of the OLPF convolved with the photosite aperture is

2.0 / pi * (|a*sinc(b*f)| + |c*sinc(d*f)|)

where

a = 0.5 + olpf_offset,

b= 1 + 2*olpf_offset,

c = 0.5 - olpf_offset,

d = 1 - 2*olpf_offset

You can plot this function (gnuplot?) to see where the zero is, or you can do the math to find the frequency f' at which both sinc() terms will be zero simultaneously. (Around 0.68 for olpf_offset = 0.375, IIRC).

Am guessing here. "0.35 pixel spacing" means a "beam separation distance" equal to 0.70 pixel, and the first zero in the spatial frequency response occurs at frequency f=0.7142857 (or 1/1.4 pixels) ?

Almost. There are two sinc() terms, so it is slightly more involved, as shown above.

Can this (pixel spacing) parameter be specified - or is it set to a fixed numerical value ?

If the value is specifiable by the user, how would I go about specifying a different value ?

Yes, see above.