Exponential time decay and laser scanning instrument

Discussion in 'MATLAB' started by simran, Apr 25, 2005.

  1. simran

    simran Guest

    Hi all-

    I have written the following code to study the effect of fluorescence
    lifetime decay in a theoretical laser scanning microscope:

    %%%%%%%%%
    function f1=DFD;

    %create data set
    data=zeros(1,256);
    data:),:)=0.7;
    data(128:168)=0.3;
    t=[1:256]-128;

    %bi-exponential decay function
    a= 0.8935; b= -0.376;
    filter=fftshift(a*exp(b*t));

    %apply function on data
    f1=ifft(fft(filter).*fft(data));
    f1=f1./max(f1:)))*data(1,1);
    figure, plot(t,fftshift(f1),'r:',t,data,'b-')
    axis([-128 128 0 1])
    xlabel('time, or pixel position')
    ylabel('pixel brightness')
    title('exponential lifetime decay')
    %%%%%%%%%

    The data-set represents one scan line that includes a central block
    with lower brightness values. I want to study the theoretical effect of
    the fluorescence life time decay on the edges in the data-set:
    When the scanner moves from a lighter to a darker pixel the lifetime
    decay effect blurs the sharp edge as photons excited at pixel x-1 (and
    x-2 etc) arrives at pixel location x and increases its pixel brightness
    value.
    However, when the scanner moves from a darker pixel to a lighter pixel
    the lifetime effect should be much smaller (as the contribution to
    pixel brightness x is much smaller from the preceding darker pixels).
    In my model the effect is the same, which is clearly wrong.

    Could someone please recommend how this can be modeled.

    Many thanks in advance.

    -Peter
     
    simran, Apr 25, 2005
    #1
    1. Advertisements

  2. simran

    simran Guest

    Sorry, there was a typo in the code. It should be:

    %%%%%%%%%
    function f1=DFD;

    %create data set
    data=zeros(1,256);
    data:),:)=0.7;
    data(128:168)=0.3;
    t=[1:256]-128;

    %bi-exponential decay function
    a= 0.8935; b= -0.376;
    filter=fftshift(a*exp(b*t));

    %apply function on data
    f1=ifft(fft(filter).*fft(data) );
    f1=f1./max(f1:)))*data(1,1);
    figure, plot(t,fftshift(f1),'r:',t,data,'b-')
    axis([-128 128 0 1])
    xlabel('time, or pixel position')
    ylabel('pixel brightness')
    title('exponential lifetime decay')
    %%%%%%%%%
     
    simran, Apr 25, 2005
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.