Hamming filter for MRI K-Space data
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello all, I have a 320 x 272 x 1 x 5 (Readout x PhaseEncode1 x PhaseEncode2 x Channels) k-space data from a Siemens MR machine. I apply hamming filter on raw data for ringing artefact removal. After applying the filter, the image reconstructed from filtered raw data appears blurred and loses resolution. The code and images reconstructed with and without hamming filter applied is shown below: My questions are: 1. Is a ringing filter always required for pre-processing MR K-Space data? 2. Whether the filter to be applied in both Readout and Phase Encoding dimensions?
kspacefilename = strcat(pwd,'\hamfilter_data_1.mat');
kspacefile = load(fullfile(kspacefilename));
kspacedata = kspacefile.kspace_data;
%Reconstruction and channel combine
img_data = ifftshift(fft(kspacedata,[],1),1);
img_data = ifftshift(fft(img_data,[],2),2);
img_data = sqrt(sum(abs(img_data).^2,4));
figure(1); imshow(abs(img_data),[]);
% Ringing artefact removal
Ndim = ndims(kspacedata);
prec = class( kspacedata );
filter = cast( 1, prec );
sz = size( kspacedata );
for d = 1:Ndim-1 % Excluding channel dimension
reshRule = ones(1,Ndim); % how the filter will be reshaped
filt_1Dime = hamming( sz(d), 'periodic');
reshRule(d) = sz(d);
filt_1Dime = reshape( filt_1Dime, reshRule );
filter = bsxfun( @times, filter, filt_1Dime ); % Build up mutli dimensional fiter
end
kspFiltered = bsxfun( @times, filter, kspacedata); % Apply fiter on kspace data
%Reconstruction and channel combine - After ringing artefact removal
img_data = ifftshift(fft(kspFiltered,[],1),1);
img_data = ifftshift(fft(img_data,[],2),2);
img_data = sqrt(sum(abs(img_data).^2,4));
figure(2); imshow(abs(img_data),[]);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193875/image.png)
Thanks.
0 comentarios
Respuestas (0)
Ver también
Categorías
Más información sobre MRI en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!