Skip to main content

Hi there!

 

I’m wondering if there’s an “inverse” to MTFT/S operands where instead of finding the MTF at a given spatial frequency I can find a spatial frequency for a given MTF value and field position. So:

 

Input: MTF value (0.6 for example), field (say 20 degrees), sagittal or tangential (1 or 0?)

Output: Spatial Frequency (say 200lp/mm).

 

Been doing this through many trial and errors using MTFT/S and was hoping there was an easier way to arrive at a spatial frequency!

I don’t think it is feasible to construct a function or operand that can handle the general version of this problem because the solution may not be single-valued.  For example, consider the simple case of a paraxial lens with defocus:

 

For OTF values less than 0.2, there are multiple spatial frequencies that have exactly the same contrast. 

I suppose if you were only interested in the solution corresponding to the smallest spatial frequency, you could write a ZPL macro to increment the spatial frequency (starting at zero or some small value) until the OTF crossed over the contrast value of interest, then iterate to converge on the desired spatial frequency value (e.g., using the Bisection Method).  This could then be implemented as a custom ZPLM operand to provide the answer.

Regards,

Jeff


Reply