0001 function [mTracks] = calc_mean_streamlines(Tracks)
0002
0003
0004
0005
0006
0007
0008
0009 Ncon = length(Tracks);
0010 iTracks = Tracks;
0011 mTracks = cell(Ncon,1);
0012
0013
0014 for ii = 1:Ncon
0015 fprintf(['Interporate coordinates of streamlines for vertex pair #' num2str(ii) ':\n'])
0016
0017 if ~isempty(Tracks{ii})
0018 Nsline = zeros(length(Tracks{ii}),1);
0019 for jj = 1:length(Tracks{ii})
0020
0021 Nsline(jj) = size(Tracks{ii}{jj},1);
0022 end
0023 mNsline = min(Nsline);
0024
0025
0026 for jj = 1:length(Tracks{ii})
0027 Ntrack = size(Tracks{ii}{jj},1);
0028 y = zeros(Ntrack,3);
0029 x = zeros(Ntrack,3);
0030 yy = zeros(mNsline,3);
0031 xx = zeros(mNsline,3);
0032 for kk = 1:3
0033 x(:,kk) = 1:Ntrack;
0034
0035 y(:,kk) = Tracks{ii}{jj}(:,kk);
0036
0037 xx(:,kk) = 1:(Ntrack-1)/(mNsline-1):Ntrack;
0038
0039 yy(:,kk) = spline(x(:,kk), y(:,kk), xx(:,kk));
0040 end
0041 iTracks{ii}{jj} = yy;
0042 end
0043 end
0044 end
0045
0046
0047 for ii = 1:Ncon
0048 fprintf(['Averaging coordinates of streamlines for vertex pair #' num2str(ii) ':\n'])
0049
0050 if ~isempty(iTracks{ii})
0051
0052 mTracks{ii} = zeros(size(iTracks{ii}{1}));
0053 for jj = 1:length(iTracks{ii})
0054 mTracks{ii} = mTracks{ii} + iTracks{ii}{jj};
0055 end
0056 mTracks{ii} = mTracks{ii}/length(iTracks{ii});
0057 end
0058 end