Solved

Easiest way to scale x-axis values in MTF plots?

  • 30 December 2021
  • 3 replies
  • 202 views

Userlevel 1
Badge +1

What I’m really trying to do is show the MTF in object space (what I would get if I reversed the lens and plotted MTF).  I believe all I need to do is scale the cycles/mm axis by the magnification.  Not sure how to do that without exporting the data to some other application.  Can it be done in ZPL alone?

icon

Best answer by Jeff.Wilde 30 December 2021, 23:56

View original

3 replies

Userlevel 7
Badge +3

Yes, I think writing a ZPL script to do this should be relatively straightforward.  You can loop through a range of image-space frequencies, using GETMTF inside the loop to find the sagittal and tangential response values for the field(s) of interest.  Then the system magnification can be extracted using GETSYSTEMDATA.  Lastly, a new plot using the scaled frequencies can be generated using the PLOT keyword.

 

Userlevel 1
Badge +1

Thanks Jeff!  Do you think there’s any way to directly replace the axis values of the default MTF plots, rather than create new plots?

Userlevel 7
Badge +3

I don’t know of any way to simply replace the x-axis data in a standard analysis plot window.  However, you could try the following.  Use a pair of paraxial lenses following your image plane to implement a magnification change (via the ratio of the lens focal lengths).

 

Then the MTF frequencies scale accordingly.  Here’s an example with a 2X magnification adjustment:

In the first graph the surface is chosen as the original image surface, while the second graph uses the new (magnified) image plane.  It’s very simple and doesn’t require any programming.

 

Reply