使用Brain Covariance Connectivity Toolkit (BCCT)进行CaSCN分析报错

首先进行CaSCN分析(选择的模式是Map(Volume)),虽然生成结果文件,但是出现以下报错:

Now calculating
Starting parallel pool (parpool) using the ‘local’ profile …
connected to 12 workers.
警告: 未保存变量 ‘Ressingle’。对于大于 2GB 的变量,请使用 MAT 文件版本 7.3 或更高版本。

In BCCT_CaSCN_computemain (line 148)
In BCCT_CaSCN_MAP_GUI>Compute (line 399)
Now permutation start
错误使用 normcdf>localnormcdf (line 83)
Non-scalar arguments must match in size.

出错 normcdf (line 50)
[varargout{1:max(1,nargout)}] = localnormcdf(uflag,x,varargin{:});

出错 BCCT_Perm_CaSCNMap_Cal (line 92)
P_map1(iord,PIECEORD) = normcdf(Res.coef.ResultMap1{iord}(PIECEORD)',mu,sig);

出错 BCCT_CaSCN_computemain (line 229)
Res(i) = BCCT_Perm_CaSCNMap_Cal(RealCompPara,maskedSignal,ROIsignals(:,i));

出错 BCCT_CaSCN_MAP_GUI>Compute (line 399)
BCCT_CaSCN_computemain(Parameter)

计算 UIControl Callback 时出错。

IdleTimeout has been reached.
Parallel pool using the ‘local’ profile is shutting down.

之后,用所得处理结果文件,进一步进行组间比较(CaSCN comparison),无法生成结果文件,并出现以下报错:

Starting parallel pool (parpool) using the ‘local’ profile …
Connected to the parallel pool (number of workers: 12).
错误使用 normcdf>localnormcdf (第 67 行)
非标量参数的大小必须匹配。

出错 normcdf (第 50 行)
[varargout{1:max(1,nargout)}] = localnormcdf(uflag,x,varargin{:});

出错 BCCT_Perm_CaSCNMap_Cal (第 92 行)
P_map1(iord,PIECEORD) = normcdf(Res.coef.ResultMap1{iord}(PIECEORD)',mu,sig);

出错 BCCT_CaSCN_stat_mainfunc (第 30 行)
Res1orig = BCCT_Perm_CaSCNMap_Cal(RealComp1.RealCompPara,maskedsignals_g1,ROIsig_g1(:,i));

出错 BCCT_CaSCN_statGUI>calcustat (第 139 行)
BCCT_CaSCN_stat_mainfunc(Parameter)

计算 UIControl Callback 时出错。

IdleTimeout has been reached.
Parallel pool using the ‘local’ profile is shutting down.

  1. 虽然我没有用过这个工具包,但是估计是这个原因导致的:警告: 未保存变量 ‘Ressingle’。对于大于 2GB 的变量,请使用 MAT 文件版本 7.3 或更高版本。这个警告的意思是,要保存的mat文件大于2GB,所以没有保存结果。要验证这一点,可以考虑减少置换次数,从而减少文件大小。如果不再报错,就说明确实是这个原因。

  2. 假设证实了是保存的文件太大导致的错误,可能的解决方案是,找到工具包中保存文件的相关代码,然后指定7.3版本的格式进行保存;或者联系工具包的开发者修改代码。不过我确实没用过这个软件包,纯属猜测,不一定可行。

1 个赞