Example #1
0
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
  struct input *X;
  char docname[MAXPATH];
  mxArray *mx_string;
  int status;

  if(nrhs != 1)
    mexErrMsgIdAndTxt("STAToolkit:staRead:numArgs","1 input argument required.");
  if(nlhs != 1)
    mexErrMsgIdAndTxt("STAToolkit:staRead:numArgs","1 output argument required.");

  /* Read in the file name from the Matlab world */
  mx_string = mxDuplicateArray(prhs[0]);
  mxStringToCString(mx_string,docname);

  /* Allocate memory for X */
  X = (struct input *)malloc(sizeof(struct input)); /* memory freed in staReadComp if it returns EXIT_FAILURE */

  /* Call fillSwatches */
  status = staReadComp(docname,X);
  if(status==EXIT_FAILURE)
    mexErrMsgIdAndTxt("STAToolkit:staRead:failure","staRead failed.");

  /* Pass X into the Matlab world */
  plhs[0] = WriteInput(X,1);

  FreeInput(X);

  return;
}
Example #2
0
BOOL WINAPI CtrlHandler(DWORD CtrlType)
{
	switch(CtrlType)
	{
	case CTRL_C_EVENT:
		return TRUE;

	case CTRL_BREAK_EVENT:
		if(!CancelIoInProgress().Signaled())
		{
			CancelIoInProgress().Set();
			Thread(&Thread::detach, &CancelSynchronousIoWrapper, Global->MainThreadHandle());
		}
		WriteInput(KEY_BREAK);

		if (Global->CtrlObject && Global->CtrlObject->Cp())
		{
			if (Global->CtrlObject->Cp()->LeftPanel && Global->CtrlObject->Cp()->LeftPanel->GetMode()==PLUGIN_PANEL)
				Global->CtrlObject->Plugins->ProcessEvent(Global->CtrlObject->Cp()->LeftPanel->GetPluginHandle(),FE_BREAK, ToPtr(CtrlType));

			if (Global->CtrlObject->Cp()->RightPanel && Global->CtrlObject->Cp()->RightPanel->GetMode()==PLUGIN_PANEL)
				Global->CtrlObject->Plugins->ProcessEvent(Global->CtrlObject->Cp()->RightPanel->GetPluginHandle(),FE_BREAK, ToPtr(CtrlType));
		}
		return TRUE;

	case CTRL_CLOSE_EVENT:
		Global->CloseFAR=TRUE;
		Global->AllowCancelExit=FALSE;

		// trick to let wmain() finish correctly
		ExitThread(1);
		//return TRUE;
	}
	return FALSE;
}
void WriteFullProcMLP::Loop()
 {

  std::cout << "Loop varSet = " << varSet << std::endl;
  addVariables();
  FillMLP(varSet);
  
  WriteHeader();
  WriteInput();
  WriteCategory();
  WriteCount("var1", "input", "trackSip2dSig");
  //********Chunk for Combined BvsDUSG and BvsC starts***********
  WriteNormalize();
  WriteSplitters();
  if (writeSplittersForNonMultiple) WriteSplittersForNonMultiple();
  WriteLRx();
  WriteLRall();
  WriteLRsplit();
  WriteOptional();
  if (writeMatrices) {WriteMatrices(); WriteOutput("input", "jetPt"); return;}
  WriteProcMLP(mlp);
  WriteBiasNorm(procBiasNorm+tagVtx, "var1", procMLP+tagVtx, "var1");
  WriteLRBias(procLike+tagVtx, "var1", procBiasNorm+tagVtx, "var1");
  //********Chunk for Combined BvsDUSG and BvsC starts***********
  
  if (Flavour != "Combined") {
    WriteOutput(procLike+tagVtx, "var1");
    return;
  }
  
  tagVtx = "C";
  
  //Need to reset Vector for ProcOptional
  Oprocess.clear();
  Oid.clear();
  //Need to reset mlp with the corresponding variables with C instead of "DUSG" tag
  FillMLP(varSet);
  
  
  //For combined xml, copy previuos structure from WriteNormalize to WriteLRBias
  //  then add ProcLinear and output
  //**************Insert here Chunk for Combined: begin**************
  WriteNormalize();
  WriteSplitters();
  if (writeSplittersForNonMultiple) WriteSplittersForNonMultiple();
  WriteLRx();
  WriteLRall();
  WriteLRsplit();
  WriteOptional();
  if (writeMatrices) {WriteMatrices(); WriteOutput("input", "jetPt"); return;}
  WriteProcMLP(mlp);
  WriteBiasNorm(procBiasNorm+tagVtx, "var1", procMLP+tagVtx, "var1");
  WriteLRBias(procLike+tagVtx, "var1", procBiasNorm+tagVtx, "var1");
  //**************Insert here Chunk for Combined: end****************
  WriteLinear();
  WriteOutput(procLinear, "var1");

}
Example #4
0
void SetInput(NET* Net, INT* Input, BOOL Protocoling)
{
  INT i;
   
  for (i=1; i<=Net->InputLayer->Units; i++) {
    Net->InputLayer->Output[i] = Input[i-1];
  }
  if (Protocoling) {
    WriteInput(Net, Input);
  }
}
Example #5
0
BOOL WINAPI CtrlHandler(DWORD CtrlType)
{
	switch(CtrlType)
	{
	case CTRL_C_EVENT:
		return TRUE;

	case CTRL_BREAK_EVENT:
		if(!CancelIoInProgress.Signaled())
		{
			CancelIoInProgress.Set();
			HANDLE Thread = CreateThread(nullptr, 0, CancelSynchronousIoWrapper, MainThreadHandle, 0, nullptr);
			if (Thread)
			{
				CloseHandle(Thread);
			}
		}
		WriteInput(KEY_BREAK);

		if (CtrlObject && CtrlObject->Cp())
		{
			if (CtrlObject->Cp()->LeftPanel && CtrlObject->Cp()->LeftPanel->GetMode()==PLUGIN_PANEL)
				CtrlObject->Plugins->ProcessEvent(CtrlObject->Cp()->LeftPanel->GetPluginHandle(),FE_BREAK, ToPtr(CtrlType));

			if (CtrlObject->Cp()->RightPanel && CtrlObject->Cp()->RightPanel->GetMode()==PLUGIN_PANEL)
				CtrlObject->Plugins->ProcessEvent(CtrlObject->Cp()->RightPanel->GetPluginHandle(),FE_BREAK, ToPtr(CtrlType));
		}
		return TRUE;

	case CTRL_CLOSE_EVENT:
		CloseFAR=TRUE;
		AllowCancelExit=FALSE;

		// trick to let wmain() finish correctly
		ExitThread(1);
		//return TRUE;
	}
	return FALSE;
}
Example #6
0
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
  struct input *X,*Y;
  int n,N;
  double *vec_double;
  int *vec;

  if(nrhs != 2)
    mexErrMsgIdAndTxt("SpikeInfo:MultiSiteSubset:numArgs","2 input arguments required.");
  if(nlhs != 1)
    mexErrMsgIdAndTxt("SpikeInfo:MultiSiteSubset:numArgs","1 output argument required.");

  X = ReadInput(prhs[0]);

  N = mxGetNumberOfElements(prhs[1]);
  vec_double = mxGetPr(prhs[1]);
  vec = (int *)mxMalloc(N*sizeof(int));
  for(n=0;n<N;n++)
    {
      vec[n] = ((int)vec_double[n])-1;
      if(vec[n]>=X[0].N)
        {
          mxFreeInput(X);
          mxFree(vec);
	  mexErrMsgIdAndTxt("SpikeInfo:MultiSiteSubset:outOfRange","Index in vec exceeds number of sites in X.");
        }
    }

  Y = MultiSiteSubsetComp(X,vec,N);

  plhs[0]=WriteInput(Y,1);
  
  mxFreeInput(X);

  mxFree(vec);

  return;
}