hi,Stephen, thank a lot for your brilliant work. This is just what I need now. I am trying to use this optimizer on image registration. However, I am not able to make it work. I compile with the mex file on 64bit ubuntu 11.1 with matlab 2011b. The GCC version is 4.6.1. I managed to make the mexa64 file. But when running the test 1, I got error like:
=== lbfgsb "driver1" test problem, 2D ===
Invalid MEX-file '/media/Data/project/codes/Lbfgsb.3.0/lbfgsb_wrapper.mexa64':
version `GFORTRAN_1.4' not found (required by
I met the same issue when mexing other cpp files. This is the incompatibility of Matlab with Mac OS X. You need to modify MATLB_ROOT/bin/mexopts.sh, change all 10.7 (4 places) under miaci64 section, and modify the MW_SDKROOT to, e.g., /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
Then, mex -setup. Now you should be able to mex all the cpp files.
Thanks for this useful toolbox.
I am not able to compile the c files successfully. I have Matlab2013b version running on mac osx 10.9 and xcode 5. (Maybe that's the problem.)
Running compile_c_files.m i get the following errors:
xcodebuild: error: SDK "macosx10.7" cannot be located.
xcrun: error: unable to find utility "clang", not a developer tool or in PATH
mex: compile of ' "bspline_error_2d_double.c"' failed.
Unable to complete successfully.
Error in compile_c_files (line 8)
Do you have an idea how to solve this?
Many thanks in Advance!
An awesome library.
Dear Dirk, in file image_registration.m at line 533 to 543, shouldn't
come after computing filter size for Gaussian, i.e. after line 541
Since, O_trans is converted to vector, size(O_trans,2) is 1.
Thus, size(Istatic,2)/size(O_trans,2) = size(Istatic,2)
which is very large(around 130 for an image of size 400*530).