Home > vbmeg > functions > tool_box > dmri_processor > functions > util > calc_mean_streamlines.m

calc_mean_streamlines

PURPOSE ^

Averaging coordinates of streamlines for each ROI pairs

SYNOPSIS ^

function [mTracks] = calc_mean_streamlines(Tracks)

DESCRIPTION ^

 Averaging coordinates of streamlines for each ROI pairs

 2015/03/24 M.Fukushima

 Copyright (C) 2011, ATR All Rights Reserved.
 License : New BSD License(see VBMEG_LICENSE.txt)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [mTracks] = calc_mean_streamlines(Tracks)
0002 % Averaging coordinates of streamlines for each ROI pairs
0003 %
0004 % 2015/03/24 M.Fukushima
0005 %
0006 % Copyright (C) 2011, ATR All Rights Reserved.
0007 % License : New BSD License(see VBMEG_LICENSE.txt)
0008 
0009 Ncon = length(Tracks);
0010 iTracks = Tracks;
0011 mTracks = cell(Ncon,1);
0012 
0013 % Interporate streamlines for averaging
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       % Numbers of steps in streamlines
0021       Nsline(jj) = size(Tracks{ii}{jj},1);
0022     end
0023     mNsline = min(Nsline); % or max(Nsline);
0024     
0025     % Interporate streamlines
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         % Streamlines to be interporated
0035         y(:,kk) = Tracks{ii}{jj}(:,kk);
0036         
0037         xx(:,kk) = 1:(Ntrack-1)/(mNsline-1):Ntrack;
0038         % Interporated streamlines
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 % Compute streamlines averaged within each ROI pairs
0047 for ii = 1:Ncon
0048   fprintf(['Averaging coordinates of streamlines for vertex pair #' num2str(ii) ':\n'])
0049   
0050   if ~isempty(iTracks{ii})
0051     % Averaging streamlines
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

Generated on Mon 22-May-2023 06:53:56 by m2html © 2005