JinghaoLu / MIN1PIPE

A MINiscope 1-photon-based Calcium Imaging Signal Extraction PIPEline.
GNU General Public License v3.0
59 stars 27 forks source link

Error using cvx_global (line 76) #23

Closed aledifil closed 5 years ago

aledifil commented 5 years ago

Hi, I recently started doing analysis on a new computer, and I'm having the following error:

Error using cvx_global (line 76) Dot indexing is not supported for variables of this type.

Error in cvxprob (line 4) cvx_global

Error in cvx_begin (line 41) assignin( 'caller', 'cvx_problem', cvxprob( varargin{:} ) );

Error in lars_regression_noise (line 228) cvx_begin quiet

Error in refine_roi (line 68) parfor i = 1: length(idt) % estimate spatial components

Error in min1pipe (line 140) [roirf, bgr, sigupdt, seedsupdt, datasmthf1, cutofff1, pkcutofff1] = refine_roi(m, sig, bgf, roi, seeds, noise, datasmth0, cutoff0, pkcutoff0, ispara);

I'm trying to understand the nature of it by looking into the code, but so far I've been unsuccessful. I never got this problem on the other pc, so it's maybe platform or OS-dependent? Thanks for any help!

JinghaoLu commented 5 years ago

Did you include the cvx package in path manually? If so please follow https://github.com/JinghaoLu/MIN1PIPE#usage to correctly set cvx up.

aledifil commented 5 years ago

Hi, I was able to solve the issue thanks to your suggestion. Problem was I launched Min1pipe first time on a different machine, and saved the cvx package on an online folder. When accessing this one with the second machine, the function was not working. Apparently, even though the two computers have both Windows 10, the cvx package is very machine-dependent. Also, I don't know for which reason, Min1pipe did not automatically download and install the cvx package, I had to manually copy and run the init function inside Min1pipe.m.

JinghaoLu commented 5 years ago

Are you using demo_min1pipe_HPC.m? You probably need to comment line 3 for it to work. Otherwise if you use original demo_min1pipe.m it should automatically download and install cvx package, with only setting the current folder in matlab to be the root one of MIN1PIPE package.

aledifil commented 5 years ago

I actually ran the demo function only on the previous machine and I started with the default min1pipe function on the new machine. I did not notice the init was not called from the default function. Maybe it could be worth to write a note about it in the wiki. Anyway, thanks for the help!

plodocus commented 4 years ago

We had a similar problem when the min1pipe repo was moved from one user's home to another user's home. The solution was to run cvx_setup(). We had already added cvx paths to the matlab path, so min1pipe_init() did not run cvx_setup(). My PR additionally checks for the existence of a cvx_prefs.mat file in the matlab preferences directory.