The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 Origin Forum for Programming
 Forum for Origin C
 Convolution with NLSF Problem
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

phenning

USA
Posts

Posted - 09/14/2009 :  5:50:13 PM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Ver. 8.0 (Demo) SR6
Operating System: Vista 64 SP2

I'm trying to analyze fluorescence lifetime data using the method here:

http://wiki.originlab.com/~originla/howto/index.php?title=Tutorial:Fitting_With_Convolution

This method works for the sample data provided by Origin, but I'm having problems with my data. NLSF only returns the first 100 or so points out of 512 datapoints in the dataset. Also, the time axis appears to be stretched in the fitting window. And, when I look at the output data, the time values are resampled (1,5,10... vs 1,2,3...). Also, when I plot the convoluted response against the original time axis, the fit is quite good, except that the tail end of the curve (80% of the data) is absent. However, the residuals are calculated for all time values in the original data. The tail end has a lot of significance to the recovered lifetimes/parameters for fluorescence lifetime data.

I cropped the measured data to 512 points, then cropped the response function to 255 points, and finally cropped the response function to 233 datapoints. I've also tried this with simulated data using the convolution routine in Origin with my response function. In all cases, the result was the same as described above.

I also tried to perform convolution without the FFT using the code below, but the NLSF only performed 1 iteration and it did not converge. The code produces the correct convolution with the response function when used as a function in OriginC, but does not seem to work in the NLSF wizard.

for ( int i=0; i<Size; i++ )
{
for( int j=i; j<Size; j++ )
{
Temp = 0;
Temp = vIRF[i] * Amp * exp(-(vTime[j]-Shift)/Tau);
vConv[j] = vConv[j] + Temp;
}
}

Any assistance is greatly appreciated. TIA

larry_lan

China
Posts

Posted - 09/14/2009 :  10:51:33 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi:

Could you please send your OPJ and FDF file to us, and we can have a look.

Thanks
Larry
Go to Top of Page

phenning

USA
Posts

Posted - 09/22/2009 :  02:46:48 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
I finally think I figured out the source of the problem. The number of datapoint returned was set to 100 in the NLSF dialog window - Settings tab - Fitted Curves item - X Data Type item - Unifrom Linear menu item. I changed the first menu box to "Same as Input Data" and all of the issues were resolved. Thank you for your help.
Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000