|
Particle Identification and Tracking
|
00001 //Copyright 2008,2009 Thomas A Caswell 00002 //tcaswell@uchicago.edu 00003 //http://jfi.uchicago.edu/~tcaswell 00004 // 00005 //This program is free software; you can redistribute it and/or modify 00006 //it under the terms of the GNU General Public License as published by 00007 //the Free Software Foundation; either version 3 of the License, or (at 00008 //your option) any later version. 00009 // 00010 //This program is distributed in the hope that it will be useful, but 00011 //WITHOUT ANY WARRANTY; without even the implied warranty of 00012 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 //General Public License for more details. 00014 // 00015 //You should have received a copy of the GNU General Public License 00016 //along with this program; if not, see <http://www.gnu.org/licenses>. 00017 // 00018 //Additional permission under GNU GPL version 3 section 7 00019 // 00020 //If you modify this Program, or any covered work, by linking or 00021 //combining it with MATLAB (or a modified version of that library), 00022 //containing parts covered by the terms of MATLAB User License, the 00023 //licensors of this Program grant you additional permission to convey 00024 //the resulting work. 00025 #include "mex.h" 00026 #include <vector> 00027 00028 #ifndef MATLAB_UTILS 00029 #define MATLAB_UTILS 00030 namespace utilities{ 00038 template<class T> 00039 void vector_to_mat(mxArray** out, const std::vector<T> &in) { 00040 *out = mxCreateDoubleMatrix(1,in.size(), mxREAL); 00041 double*data = mxGetPr(*out); 00042 int j = 0; 00043 typename std::vector< T >::const_iterator it; 00044 for(it = in.begin(); it<in.end(); ++it,++j) 00045 data[j] = (double)(*it); 00046 }; 00051 void array_to_mat(mxArray** out, double * in, int rows, int cols) ; 00052 00053 } 00054 00055 00056 #endif
1.7.6.1