New MTF plug in

The former ImageJ plug in SE_MTF has been updated with a new plug in version. As with the early plug in, the current version allows for the measurement of the Modulation Transfer Function from an slanted edge; new features are the MTF plot up to two times the Nyquist frequency and the possibility to choose between three frequency units. The name of the new plug in is SE_MTF_2xNyquist. The Figure shows an MTF plot obtained with the ImageJ plug in from an slanted edge image taken with a professional DSLR; the plot is adjusted to line pairs per millimeter (lp/mm) as frequency units. The plug in has been developed at the Laboratori de Qualitat de la Imatge (LQI) located in the Centre de la Imatge i la Tecnologia Multimèdia (CITM) from the Universitat Politècnica de Catalunya (UPC).

12 Replies to “New MTF plug in”

  1. Dear Carles Mitja,

    I need to use the SE MTF Nyquist plugin in Fiji. I’d like to use this some of images as a common operation.
    So I ‘d like to open a directory with lots of picture and create MTF for all images. If I try to do it with batch processor I have to set the same settings for all image.
    And I would like to set it just once.

    Could you help me?

    Yours faithfully,

    Erika Ludányi

    1. I’m sorry but this seems to be a programming question. I have designed the MTF measurement algorithm but I’m not an specialist in programming. May be you can find help in the ImageJ or Fiji web sites.

  2. Carles:
    I have been using your plug-in for ImageJ, SE MTF 2x Nyquist, on some images of edges taken with various color digital cameras. On some images, the program seems to have a problem, and does not deliver the 4 graphs that are the normal output. all that happens is that the imageJ area of interest box collapses to a line. There seems to be no indication of what problem to software encountered. Possibly there is a problem with the quality of the edge. We are using .bmp files for the input image to maintain image fidelity as far as possible. Do you have any suggestions as to the cause?


    1. Hi Clive. Provided that all recommendations in the plugin instructions are well followed, there are two main reasons causing the plugin no response. The first one, if there is conflict between the number of pixels chosen in the plugin settings and the actual number of pixels into the image selection. The other one, is the presence of an excessive amount of image noise, mainly in the dark side of the edge. The plugin calculates a derivative by differentiation from each row of pixels in the selection. This differentiation negative results in the LSF values and that blocks the calculation of the FFT and then, the MTF. If images contain a lot of noise, it can be locally low pass filtered preserving the edge itself before the calculation of the MTF. Hope this help.

    2. Hi Clive.
      I have the same problem as you. I turned my image (a vertical rotation to have the black part on the left) and now it’s working. I don’t know why but i have the 4 graphs. Maybe it can help you.


  3. Hi Carles,

    Thank you for the very helpful tool! I thought I remembered seeing documentation that went into the mathematical septs to generate the MTF, as well as explain the significance of the SPP plot. I can’t find it now, at least not through the link provided on this page. Is it available somewhere or am I misremembering?

    Kevin Lalli

    1. Hi Kevin. To the extend of my knowledge, there is any published paper about SPP (short for Sampling Periodicity Plot). This plot have been derived by us during the plug in development. The plot is obtained by Fourier Transform of the series of maximums of the LSF taken to calculate the average MTF. Initially and for a given number of pixel rows in the initial ROI selection, the first maximum in the plot indicates which is the minimum number of rows that is necessary to take to have a significant average MTF. Obviously, this is related with two main factors. In first place, the relative position of the edge and the pixel grid. The second, the more or less accurate counting of the AD converter. Measuring MTF from high end professional or technical grade cameras, shows a SPP with a clear first maximum and several periodically repeating maximums. On the other side, a poor or lower end camera shows a more complicated plot with few or no periodicity present. It is clear that in absence of internal malfunctions, a given position relationship between the edge target and the pixel grid must provide a clear periodicity in the respective LSF series. Hope this help.

  4. Hi Carles,

    First of all, thank you for this very useful piece of software!

    I have a couple of questions:
    1. Is the source code for this plugin available? We are potentially interested in adding some batch processing functions to it to speed up our measurements.
    2. I recently came across a page on the imatest website ( where they have some discussions on how they calculate their MTF results They also include a synthetic slanted edge example image ( and its theoretical MTF and imatest MTF results (approx 0.64 and 0.62 at the nyquist frequency, respectively). When I ran the example image through the SE MTF 2xNyquist plugin however, I got a result of ~0.28 at the nyquist frequency.. Do you have any ideas why these results are so different?

    Many Thanks,

  5. Hello everyone and thanks to the creators of the plug in.
    I have to analyze the mammography image and I cannot run the option lp/mm, using (SE_MTF_2xNyquist)
    The sensor, flat panel, has a size of 236.4 mm (vertical) x 296.4 mm (horizontal)
    The number of output brushes 4728 (vertical) x 5928 (horizontal) = 28 027 584 brushes
    14 bits of output.
    Resolution in brushes 50 x 50 μm / pix.
    What size value of the censor I put 😕
    # of photodetectors = 28 027 584
    Sample size:?
    I generated the MTF in cycles/ pixel, using ASI_MTF-master
    How do I know the Nyquist frequency?
    How do I calculate lp/mm of this curve?

    1. All do you need to note is one sensor side size (mm) and the number of corresponding pixels (pix) in this given side. The plug-in will calculate the resolution in lp/mm as the frequency unit in the MTF plot. Some sensors have different resolution for vertical or horizontal directions. You can always calculate the MTF of each direction using the corresponding sensor size (mm) and number of pixels (pix) on this given side. The Nyquist frequency corresponds to 0.5 cycles/pix. Beyond this frequency you can observe the amount of aliasing present. Hope this help.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: