matlab中的fft2与dicom图像(MRI)

时间:2013-06-13 21:42:57

标签: matlab fft dicom type-conversion

我想在头颅MRI的图像切片上执行二维傅立叶变换。 我尝试了以下代码但未成功:( 错误消息包含在下面)

>> clear all
>> 
>> info = dicominfo('MR000026.dcm');
Y = dicomread(info);
J=imadjust(Y,stretchlim(Y),[0 1]);
F = fftshift(fft2(fftshift(J)));
Undefined function 'fftn' for input arguments of type 'int16'.

Error in fft2 (line 19)
        f = fftn(x);

>> info = dicominfo('MR000026.dcm');
Y = dicomread(info);
F = fftshift(fft2(fftshift(Y)));
Undefined function 'fftn' for input arguments of type 'int16'.

Error in fft2 (line 19)
        f = fftn(x);

>> info = dicominfo('MR000026.dcm');
Y = dicomread(info);
F = fft2(Y);
Undefined function 'fftn' for input arguments of type 'int16'.

Error in fft2 (line 19)
        f = fftn(x);
  
    

  

1 个答案:

答案 0 :(得分:1)

您收到的错误消息说明了这一点:fft2并不适用于uint16输入类型。
在处理之前将Y转换为double

Y = im2double( Y );

甚至只是

Y = double( Y );