image processing - Normalized cuts with Matlab 2013a -


i using normalized cuts package http://www.cis.upenn.edu/~jshi/software/ncut_9.zip (on windows 7)

this used work fine matlab2010a. have upgraded matlab2013a (32 bit student version) , following error:

error using arpackc expect 2 output arguments  error in eigs_new (line 240)         arpackc( aupdfun, ido, ...  error in ncut (line 83) [vbar,s,convergence] = eigs_new(@mex_w_times_x_symmetric,size(p,1),nbeigenvalues,'la',options,tril(p));  error in ncutw (line 9) [ncuteigenvectors,ncuteigenvalues] = ncut(w,nbcluster);  error in ncutimage (line 18) [ncutdiscrete,ncuteigenvectors,ncuteigenvalues] = ncutw(w,nbsegments);  error in demoncutimage (line 25) [seglabel,ncutdiscrete,ncuteigenvectors,ncuteigenvalues,w,imageedges]= ncutimage(i,nbsegments); 

obviously new_eigs() function in ncuts incompatible arpack version in latest matlab.

  • does know of workaround this?
  • normalised uses modified version of matlab's eigs() function. why can't use matlab's built-in eigs() instead of eigs_new() (it seem work).

there 2 solutions this:

  1. use matlab's eigs() function instead of eigs_new() provided in normalized cuts package. guess eigs_new() designed solve compatibility issue previous version of matlab, , causing issue.

  2. modify eigs_new(). there call arpackc() in eigs_new(), make call in tool box version of eigs(). so, e.g.:

    arpackc( aupdfun, ido, ...  bmat, intconvert(n), whch, nev, tol, resid, ncv, ...     v, ldv, iparam, ipntr, workd, workl, lworkl, info ); 

becomes

    [ido, info] = arpackc( aupdfun, ido, bmat, intconvert(n), whch, ...         nev, tol, resid, ncv, v, ldv, iparam, ipntr, workd, workl, ...         lworkl, info ); 

there 2 places had changed make work (although there other calls arpackc() don't executed).

i still not sure why eigs_new() exists @ all.


Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -