Converting an Edge Response Function to LSF and then to a Normalized MTF

Hi there,
I have two CT images of the same gel sample, however these have been reconstructed using two different techniques. I am interested in the quantification of the image quality, so as to know that which method produced better results. In this regard, I guess the Modulation Transfer Function (MTF) needs to be calculated. To proceed, in this direction an artificial edge in the middle of the image has been inserted. My aim is to generate an edge response function (simply a profile through the edge), then differentiate it to obtain the LSF, and finally the Fourier transform of the LSF to obtain the normalized MTF (starting from 1). Conceptually, I am clear but it has been a long time and Matlab coding seems to be the real bottle neck issue:).I have taken a profile through the edge and saved the pixel numbers in variable called 'x'
x=[1 2 3 4 5 6 7 8 9 10 11 12 13];% These are the 13 pixels through which the profile passes pixVal= [0 0 0 0 0 0 0 14.16 14.36 14 12.92 12.48 13.24];% This array contains the CT # corresponding to the above 13 pixels.
Can some body help me in generating a code that will take the derivative of the pixVal array, then take its Fourier transform and generate the normalized MTF (starting from 1). Also the pixel numbers (in variable 'x'), how will these be converted to frequency that is the x-axis of the MTF plot.
If there are any other ideas to obtain an edge spread function please let me know. I have seen the Slantaedge script here on Matlab file exchange but that seems to be not working. Also I have tried a number of ImageJ plugins, but there are still issues with those. That has forced me to opt for my own code in Matlab.
Thanks in advance,
Basim

Answers (0)

Asked:

on 9 Sep 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!