Skip to content

Automatic coil summation

Compare
Choose a tag to compare
@andyschwarzl andyschwarzl released this 14 Aug 16:11
· 223 commits to master since this release

Arbitrary sector widths

The sector width parameter can now be arbitrarily chosen in such manner that the total grid dimension (image dim * oversampling factor) does not have to be an integer multiple of the sector width, e.g.:

imgDim = [256,256,240]; 
sw = 8; 
osf = 1.125; 
% imgDim * osf ./ sw = [36, 36, 33.75] 
...
FT = gpuNUFFT(k',w,osf,kw,sw,imgDim); % still works
...

Automatic coil summation

If the gpuNUFFT operator is initialized with coil sensitivities following steps are performed automatically on the GPU:

%without sens data
FT = gpuNUFFT(k',w,osf,wg,sw,[N,N,nSl]);

%with sens data
FT = gpuNUFFT(k',w,osf,wg,sw,[N,N,nSl],sens);

Adjoint operation: sum over coils as final step

% the block
for ii = 1:nc
    y = y + conj(sens(:,:,:,ii) .* FH(data(:,ii)); 
end

% can be replaced by 
y = FH(data);

Forward operation: loop over coils

% the block
img = repmat(img,[1,1,1,nCh]);
for ii = 1:nc
    data(:,ii) = F( sens(:,:,:,ii) .* img(:,:,:,ii) ); 
end

% can be replaced by 
y = F(img);