FranckLab / FIDVC

Fast Iterative Digital Volume Correlation Algorithm
31 stars 18 forks source link

Error using mex #22

Closed xianghuix closed 6 years ago

xianghuix commented 6 years ago

Dear developers,

I am trying to test FIDVC. I used the example data sets and the example script suggested in README. I however got below error message. May you advice what might be wrong?

Thanks, X ------------------------------------------ error message ---------------------------------- Error using mex ~/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental MFiles/mirt3D_mexinterp.cpp: In function ?void mexFunction(int, mxArray, int, const mxArray)?: ~/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental MFiles/mirt3D_mexinterp.cpp:173:11: error: cannot convert ?const size_t {aka const long unsigned int}? to ?const int? in assignment Xdims = mxGetDimensions(IN_S); ^ ~/XHXIAO/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental MFiles/mirt3D_mexinterp.cpp:177:10: error: cannot convert ?const size_t {aka const long unsigned int}? to ?const int? in assignment dims = mxGetDimensions(IN_Z); ^ ~//Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental MFiles/mirt3D_mexinterp.cpp:203:75: error: cannot convert ?int? to ?const size_t {aka const long unsigned int}? for argument ?2? to ?mxArray mxCreateNumericArray(size_t, const size_t*, mxClassID, mxComplexity)? OUT_F = mxCreateNumericArray(newXndim, newdims, mxDOUBLE_CLASS, mxREAL);

Error in mirt3D_mexinterp (line 37) mex(pathtofile,'-outdir',pathstr);

Error in volumeMapping (line 52) for i = 1:3, u{i} = mirt3D_mexinterp(u0{i}, m_u0{1}, m_u0{2}, m_u0{3}); end

Error in IDVC (line 89) I = volumeMapping(I,m,u);

Error in funIDVC (line 70) [u, cc{i-1}, dm, m] = IDVC(I,sSize0,u);

Error in exampleRunFile (line 76) [u, cc, dm, m] = funIDVC(filename, sSize, incORcum);

ALandauer commented 6 years ago

Hi X, Sorry we missed this! I just replied to Ron, who had a similar issue. You can look there for a slightly more detailed answer. In short, you need to make sure you can run mex files on a supported compiler before running FIDVC.

Regards, Alex