📄 mfbox_init.m
字号:
function mfbss=mfbox_init(mfbss,init)% initialize, reset or convert mfbss structure%% Usage:% mfbss=mfbox_init(mfbss,init)%% mfbss - structure with% X - (NxT) data % mask - data mask (XxYxZ) with sum(mask(:))==N% grid - 3d positions (3xN) of the data values% timeline - timeline (1xT)% A - (TxD) mixing matrix% W - (DxT) demixing matrix% S - struct with% dat - (MxD) components (M<=N unique datapoints)% mask - mask selecting unique subset of grid% part - cell array containing the different parts % of the analysis% map - (TxC) maps (timestep,component) to element in% 1...D (D>=C)% spatialnoisevar - (Mx1) spatial variance of the noise% temporalnoisevar - (Tx1) temporal variance of the noise% names - (Cx1) cell with names% ppA - postprocessed version of A% ppW - postprocessed version of W% ppS - postprocessed version of S% crosstalk - (DxD) crosstalk matrix (triu: temporal, tril: spatial)% ppcrosstalk - (DxD) postprocessing crosstalk matrix% reference - structural reference% design - temporal design% reliability - struct with name and value (Dx1) of reliability measure% ppreliability - reliability measures after postprocessing% init - whether or not to clear%% Copyright by Peter Gruber and Fabian J. Theis% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the % GNU GENERAL PUBLIC LICENSE, see gpl.txtif (nargin<1 || ~isstruct(mfbss)) mfbss = struct('name','','params',{{}},'pre_name',{{}}, ... 'pre_params',{{}},'rel_name','','rel_params',{{}},'pos_name',{{}}, ... 'pos_params',{{}},'X',[],'mask',[],'grid',[],'ppA',[],'reference',[], ... 'timeline',[],'design',[],'ppS',struct(),'ppW',[],... 'A',[],'W',[],'S',struct(),'bg',[]);elseif (nargin==1 || init==1) mfbss.X = []; mfbss.mask = []; mfbss.grid = []; mfbss.timeline = []; mfbss.A = []; mfbss.ppA = []; mfbss.W = []; mfbss.ppW = []; mfbss.S = struct(); mfbss.ppS = struct(); mfbss.crosstalk = []; mfbss.ppcrosstalk = []; mfbss.reference = []; mfbss.design = []; mfbss.reliability = struct();elseif (nargin>=2) if (~isfield(mfbss,'X') || ~isnumeric(mfbss.X)), mfbss.X = []; end if (~isfield(mfbss,'mask') || ~islogical(mfbss.mask)), mfbss.mask = []; end if (~isfield(mfbss,'grid') || ~isnumeric(mfbss.grid)), mfbss.grid = []; end if (~isfield(mfbss,'timeline') || ~isnumeric(mfbss.timeline)), mfbss.timeline = []; end if (~isfield(mfbss,'A') || ~isnumeric(mfbss.A)), mfbss.A = []; end if (~isfield(mfbss,'ppA') || ~isnumeric(mfbss.ppA)), mfbss.ppA = []; end if (~isfield(mfbss,'W') || ~isnumeric(mfbss.W)), mfbss.W = []; end if (~isfield(mfbss,'ppW') || ~isnumeric(mfbss.ppW)), mfbss.ppW = []; end if (~isfield(mfbss,'S') || ~isstruct(mfbss.S)), mfbss.S = struct(); end if (~isfield(mfbss,'ppS') || ~isstruct(mfbss.ppS)), mfbss.ppS = struct(); end if (~isfield(mfbss,'crosstalk') || ~isnumeric(mfbss.crosstalk)), mfbss.crosstalk = []; end if (~isfield(mfbss,'ppcrosstalk') || ~isnumeric(mfbss.ppcrosstalk)), mfbss.ppcrosstalk = []; end if (~isfield(mfbss,'reference') || ~isnumeric(mfbss.reference)), mfbss.reference = []; end if (~isfield(mfbss,'design') || ~isnumeric(mfbss.design)), mfbss.design = []; end if (~isfield(mfbss,'reliability') || ~isstruct(mfbss.reliability)), mfbss.reliability = struct(); endendreturn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -