reduce resolution of an MRI image

7 Ansichten (letzte 30 Tage)
Mehri Mehrnia
Mehri Mehrnia am 13 Okt. 2023
Beantwortet: Walter Roberson am 14 Okt. 2023
to reduce the resolution of grayscale MRI image, I cut the sorrounding area of k-space(FFT of the image). the rsult I get is reasonable, however the values of matrix in the resolut is several times larger than the initial one. the initial(original) image is in [0,4091] while the resolt can go beyond 60,000. I guess I need to use a scaling but no idea?
function [k_space_volume_shrinked,fftshow_k_space_volume_shrinked,shrinked_LGE_volume]=...
compute_shrinked_k_space_3D_anisotropic(LGE_volume,shrinking_percentage)
org_size=size(LGE_volume)
%shrinking_percentage=[shrinking_percentage_X,shrinking_percentage_Y,shrinking_percentage_Z]
reduction=(shrinking_percentage./100).*org_size
start_point=round(reduction/2)
first_dimension= start_point(1,1):org_size(1,1)-start_point(1,1);
second_dimension=start_point(1,2):org_size(1,2)-start_point(1,2);
Third_dimension=start_point(1,3):org_size(1,3)-start_point(1,3) ;
k_space_volume=fftshift(fftn(LGE_volume));
k_space_volume_shrinked= k_space_volume(first_dimension,second_dimension,Third_dimension);
fftshow_k_space_volume_shrinked=log(1+abs(k_space_volume_shrinked));
%% shrinked k-space to image
shrinked_LGE_volume=abs(ifftn(k_space_volume_shrinked));
  2 Kommentare
Mehri Mehrnia
Mehri Mehrnia am 14 Okt. 2023
this is not scientific approach, there must be a reason behind it
Walter Roberson
Walter Roberson am 14 Okt. 2023
Why not use fftn and then ifftn specifying the desired output size?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

dpb
dpb am 14 Okt. 2023
newimage=rescale(newimage,0,max(oldimage,'all'));
maybe???

Walter Roberson
Walter Roberson am 14 Okt. 2023
When you fft() a 1D signal, the first output bin is sum() of the 1D signal. Now, if you were to think about sum() of the signal divided by the number of elements in the signal, that would be the exact same as thinking about the mean() of the signal. When you ifft(), the rest of the frequency components are used to reconstruct the wave form, and then the first output bin divided by the length of the signal (the mean) is added to each element of the output signal.
Now suppose that you fft() and you discard some of the frequency components, and then you ifft() that without changing that first output bin. The length of the signal would be shorter, so first bin divided by the (new) length of the signal would be a larger value than the original so the output range would be more extreme than before (unless the mean of the 1D signal happened to be 0)

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by