Changeset 162


Ignore:
Timestamp:
May 17, 2011, 2:52:28 PM (8 years ago)
Author:
tjniskan
Message:
  • Added function (pcorr.m) for calculating partial correlation.
  • Added a plugin for estimating functional connectivity from ROIs usin partial correlation
  • Some changes to epi reconstruction (epi_recon)

A misclib/pcorr.m
A plugins/fmri_plugins/network_analysis.m
M aedes_revision.m
M vnmr_recon/epi_recon.m

Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • aedes_revision.m

    r161 r162  
    9393% bash-script every time it is called so that this file "aedes_revision.m" is
    9494% always in the list of committed files. DO NOT EDIT THE NEXT LINE!!!
    95 % - SVN Hook -
     95% - Svn Hook -
  • vnmr_recon/epi_recon.m

    r158 r162  
    7676        end
    7777       
     78        % Number of segments
     79        if isfield(procpar,'nseg') && ~isempty(procpar.nseg)
     80                nSeg = procpar.nseg;
     81        else
     82                nSeg = 1;
     83        end
     84       
    7885        % Number of volumes
    7986        nVols = length(procpar.image)-nRef;
     
    94101        orient = procpar.orient{1};
    95102       
    96         % Remove navigators
    97103        if isEPIP && (nv==64 & np==64)
    98104                % The information about navigator echoes in the procpar doesn't seem to
     
    100106                % the k-space size
    101107                nNav = size(kspace,1)/np-nv;
    102                 if nNav~=0
    103                         nav_data = kspace(1:(np*nNav),:);
    104                 else
    105                         nav_data = [];
    106                 end
    107         else
    108                 if nNav~=0
    109                         nav_data = kspace(1:(np*nNav),:);
    110                         %kspace(1:(np*nNav),:)=[];
    111                 else
    112                         nav_data = [];
    113                 end
     108        end
     109       
     110        % Calculate indexes for navigator and data echoes
     111        if nNav > 0
     112                ind = reshape([1:(nv+nNav*nSeg)],[],nSeg);
     113                NavInd = ind(1:nNav,:);
     114                DataInd = ind(nNav+1:end,:);
     115                NavInd = NavInd(:).';
     116                DataInd = DataInd(:).';
     117        else
     118                DataInd = [1:nv];
     119                NavInd = [];
    114120        end
    115121       
     
    120126        end
    121127       
     128        % Look for phase table
     129        pe_table = [];
     130        if isfield(Dat,'phasetable') && ~isempty(Dat.phasetable)
     131                pe_table = Dat.phasetable;
     132        end
     133       
    122134        % Reshape kspace and detach reference images
    123         kspace = reshape(kspace,np,nv+nNav,ns,nRcvrs,nVols+nRef);
    124        
     135        kspace = reshape(kspace,np,nv+nNav*nSeg,ns,nRcvrs,nVols+nRef);
     136       
     137        ref_data = kspace(:,DataInd,:,:,1:nRef);
     138        if ~isempty(pe_table)
     139                ref_data(:,pe_table,:,:,:) = ref_data;
     140        end
    125141        % Flip even kspace lines
    126         ref_data = kspace(:,nNav+1:end,:,:,1:nRef);
    127142        ref_data(:,2:2:end,:,:,:) = flipdim(ref_data(:,2:2:end,:,:,:),1);
    128143        %kspace(:,:,:,:,1:nRef)=[];
     
    173188                        vol_inds = (ii-1)*blksz+1+nRef:ii*blksz+nRef;
    174189                end
    175                 tmp_kspace = kspace(:,nNav+1:end,:,:,vol_inds);
     190               
     191                % At the moment navigator echoes are not used...
     192                %tmp_kspace = kspace(:,nNav+1:end,:,:,vol_inds);
     193                tmp_kspace = kspace(:,DataInd,:,:,vol_inds);
     194                if ~isempty(pe_table)
     195                        tmp_kspace(:,pe_table,:,:,:) = tmp_kspace;
     196                end
    176197               
    177198                % Flip even lines
     
    203224                        data(:,:,:,vol_inds-nRef,:) = data_block;
    204225                else
    205                         data_block = sqrt(sum(tmp_data.*conj(tmp_data),4));
     226                        if nRcvrs == 1
     227                                data_block = abs(tmp_data);
     228                        else
     229                                data_block = sqrt(sum(tmp_data.*conj(tmp_data),4));
     230                        end
    206231                        % Permute to correct orientation
    207232                        if strcmpi(orient,'trans90')
Note: See TracChangeset for help on using the changeset viewer.

Powered by Trac 1.0.9.Copyright © Juha-Pekka Niskanen 2008