CT图像三维重建附源码.doc

上传人:b****1 文档编号:230116 上传时间:2022-10-07 格式:DOC 页数:8 大小:40.50KB
下载 相关 举报
CT图像三维重建附源码.doc_第1页
第1页 / 共8页
CT图像三维重建附源码.doc_第2页
第2页 / 共8页
CT图像三维重建附源码.doc_第3页
第3页 / 共8页
CT图像三维重建附源码.doc_第4页
第4页 / 共8页
CT图像三维重建附源码.doc_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

CT图像三维重建附源码.doc

《CT图像三维重建附源码.doc》由会员分享,可在线阅读,更多相关《CT图像三维重建附源码.doc(8页珍藏版)》请在冰豆网上搜索。

CT图像三维重建附源码.doc

结束

计算重建图像和原图的性噪比,并进行输出

用函数ifanbeam根据扇束投影数据重建图像,并展示

用函数fanbeam进行映射,得到扇束的数据,并展示

对图片信息进行预处理,并进行展示

输入图片数字选择

生成128的图片信息

程序流图:

MATLAB源码:

clc;

clearall;

closeall;

%loadmri%载入mri数据,是matlab自带库

%ph=squeeze(D);%压缩载入的数据D,并赋值给ph

ph=phantom3d(128);

prompt={'EnterthePiecenum(1to128):

'};%提示信息“输入1到27的片的数字”

name='Inputnumber';%弹出框名称

defaultanswer={'1'};%默认数字

numInput=inputdlg(prompt,name,1,defaultanswer)%弹出框,并得到用户的输入信息

P=squeeze(ph(:

:

str2num(cell2mat(numInput))));%将用户的输入信息转换成数字,并从ph中得到相应的片信息P

imshow(P)%展示图片P

D=250;%将D赋值为250,是从扇束顶点到旋转中心的像素距离。

dsensor1=2;%正实数指定扇束传感器的间距2

F1=fanbeam(P,D,'FanSensorSpacing',dsensor1);%通过P,D等计算扇束的数据值

dsensor2=1;%正实数指定扇束传感器的间距1

F2=fanbeam(P,D,'FanSensorSpacing',dsensor2);%通过P,D等计算扇束的数据值

dsensor3=0.25%正实数指定扇束传感器的间距0.25

[F3,sensor_pos3,fan_rot_angles3]=fanbeam(P,D,...

'FanSensorSpacing',dsensor3);%通过P,D等计算扇束的数据值,并得到扇束传感器的位置sensor_pos3和旋转角度fan_rot_angles3

figure,%创建窗口

imagesc(fan_rot_angles3,sensor_pos3,F3)%根据计算出的位置和角度展示F3的图片

colormap(hot);%设置色图为hot

colorbar;%显示色栏

xlabel('FanRotationAngle(degrees)')%定义x坐标轴

ylabel('FanSensorPosition(degrees)')%定义y坐标轴

output_size=max(size(P));%得到P维数的最大值,并赋值给output_size

Ifan1=ifanbeam(F1,D,...

'FanSensorSpacing',dsensor1,'OutputSize',output_size);

%根据扇束投影数据F1及D等数据重建图像

figure,imshow(Ifan1)%创建窗口,并展示图片Ifan1

title('图一');

disp('图一和原图的性噪比为:

');

result=psnr1(Ifan1,P);

Ifan2=ifanbeam(F2,D,...

'FanSensorSpacing',dsensor2,'OutputSize',output_size);

%根据扇束投影数据F2及D等数据重建图像

figure,imshow(Ifan2)%创建窗口,并展示图片Ifan2

disp('图二和原图的性噪比为:

');

result=psnr1(Ifan2,P);

title('图二');

Ifan3=ifanbeam(F3,D,...

'FanSensorSpacing',dsensor3,'OutputSize',output_size);

%根据扇束投影数据F3及D等数据重建图像

figure,imshow(Ifan3)%创建窗口,并展示图片Ifan3

title('图三');

disp('图三和原图的性噪比为:

');

result=psnr1(Ifan3,P);

function[p,ellipse]=phantom3d(varargin)

%PHANTOM3DThree-dimensionalanalogueofMATLABShepp-Loganphantom

%P=PHANTOM3D(DEF,N)generatesa3Dheadphantomthatcan

%beusedtotest3-Dreconstructionalgorithms.

%

%DEFisastringthatspecifiesthetypeofheadphantomtogenerate.

%Validvaluesare:

%

%'Shepp-Logan'Atestimageusedwidelybyresearchersin

%tomography

%'ModifiedShepp-Logan'(default)AvariantoftheShepp-Loganphantom

%inwhichthecontrastisimprovedforbetter

%visualperception.

%

%NisascalarthatspecifiesthegridsizeofP.

%Ifyouomittheargument,Ndefaultsto64.

%

%P=PHANTOM3D(E,N)generatesauser-definedphantom,whereeachrow

%ofthematrixEspecifiesanellipsoidintheimage.Ehastencolumns,

%witheachcolumncontainingadifferentparameterfortheellipsoids:

%

%Column1:

Atheadditiveintensityvalueoftheellipsoid

%Column2:

athelengthofthexsemi-axisoftheellipsoid

%Column3:

bthelengthoftheysemi-axisoftheellipsoid

%Column4:

cthelengthofthezsemi-axisoftheellipsoid

%Column5:

x0thex-coordinateofthecenteroftheellipsoid

%Column6:

y0they-coordinateofthecenteroftheellipsoid

%Column7:

z0thez-coordinateofthecenteroftheellipsoid

%Column8:

phiphiEulerangle(indegrees)(rotationaboutz-axis)

%Column9:

thetathetaEulerangle(indegrees)(rotationaboutx-axis)

%Column10:

psipsiEulerangle(indegrees)(rotationaboutz-axis)

%

%Forpurposesofgeneratingthephantom,thedomainsforthex-,y-,and

%z-axesspan[-1,1].Columns2through7mustbespecifiedinterms

%ofthisrange.

%

%[P,E]=PHANTOM3D(...)returnsthematrixEusedtogeneratethephantom.

%

%ClassSupport

%-------------

%Allinputsmustbeofclassdouble.Alloutputsareofclassdouble.

%

%Remarks

%-------

%Foranygivenvoxelintheoutputimage,thevoxel'svalueisequaltothe

%sumoftheadditiveintensityvaluesofallellipsoidsthatthevoxelisa

%partof.Ifavoxelisn

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1