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
 Origin Forum
 Deconvolution fitting
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

rvasan

USA
2 Posts

Posted - 03/16/2017 :  1:39:17 PM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Ver. and Service Release (Select Help-->About Origin): Origin 8 pro SR0 Ver. 8.0724
Operating System:Win7

Hello,

I'm trying to use Origin to perform a deconvolution fitting of fluorescence decay curves with the instrument response function.There are no built in functions in origin for this application. I found this tutorial in Origin website
http://www.originlab.com/doc/Tutorials/Fitting-Convolution with a program to perform the operation. Unfortunately, when I tried to run the program I get following compiling error
Error, Member function Project::GetNLFitContext not defined or does not have matching prototype.
So i tried to find this function in my workspace, but could not find it. Could anyone help me with this.

Thanks

Ramesh Vasan

arstern

USA
237 Posts

Posted - 03/16/2017 :  3:53:41 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi Ramash,

The error may be occurring when you create the Fitting Function from the Fitting Function Organizer dialog box.

Some things to note: Make sure when you you select the code builder next to the Function box that the box is blank. Make sure to input the parameters and variables before selecting the code builder.

As well, when you input the text into the code builder that is shown in the tutorial. There are few things to edit and keep.

Lines 1 - 6 should be changed to read:
#pragma warning(error : 15618)
#include <origin.h>
// Header files need to be included
#include <ONLSF.H>
#include <fft_utils.h>

Scroll down in the code builder to where it reads
//Beginning of editable part

After this line Copy and paste from tutorial:

NLFitContext *pCtxt = Project.GetNLFitContext();
Worksheet wks;
DataRange dr;
int c1,c2;
dr = pCtxt->GetSourceDataRange(); //Get the source data range
dr.GetRange(wks, c1, c2); //Get the source data worksheet
if ( pCtxt )
{
// Vector for the output signal in each iteration.
static vector vSignal;
// If parameters were updated, we will recalculate the convolution result.
BOOL bIsNewParamValues = pCtxt->IsNewParamValues();
if ( bIsNewParamValues )
{
// Read sampling and response data from worksheet.
Dataset dsSampling(wks, 0);
Dataset dsResponse(wks, 2);
int iSize = dsSampling.GetSize();

vector vResponse, vSample;

vResponse = dsResponse;
vSample = dsSampling;

vSignal.SetSize(iSize);
vResponse.SetSize(iSize);
vSample.SetSize(iSize);

// Compute the exponential decay curve
vSignal = A * exp( -t*vSample );
// Perform convolution
int iRet = fft_fft_convolution(iSize, vSignal, vResponse);
//Correct the convolution by multiplying the sampling interval
vSignal = (vSample[1]-vSample[0])*vSignal;


}

NLSFCURRINFO stCurrInfo;
pCtxt->GetFitCurrInfo(&stCurrInfo);
// Get the data index for the iteration
int nCurrentIndex = stCurrInfo.nCurrDataIndex;
// Get the evaluated y value
y = vSignal[nCurrentIndex] + y0;
// For compile the function, since we haven't use x here.
x;
}


Select compile before closing the code builder. Does the compile work?

--Aviel Stern
OriginLab


Edited by - arstern on 03/16/2017 3:54:42 PM
Go to Top of Page

rvasan

USA
2 Posts

Posted - 03/16/2017 :  4:31:14 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
I tried to compile it and I'm getting a similar error. I made sure the fit parameters, independent variable and dependent variables are declared correctly. Attached is the screen shot





Ramesh Vasan
Go to Top of Page

arstern

USA
237 Posts

Posted - 03/16/2017 :  5:16:03 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi Ramesh,

I apologize for not noticing this before. To perform convolution while fitting you are required to a have a minimum version of Origin 2016 SRO. I recommend updating your version of Origin as there are many new features and apps that can be utilized.

--Aviel Stern
OriginLab
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