資源簡介
大數據可視化在醫療方面的應用 包括光照模型 等高線 三維重建 立體顯示
代碼片段和文件信息
load?mri;%導入mri數據
figure(‘name‘‘顯示mri數據圖像‘);?%設置標題名字顯示原圖像
D=squeeze(D);%利用此函數去除維數為1的維度
image_num=8;%取mri數據的第八組數據
image(D(::image_num))
D=squeeze(D);%利用此函數去除維數為1的維度
figure(‘Colormap‘map);
image_num=8;
image(D(::image_num))
%繪制坐標
axis?image
%保存x軸y軸的坐標范圍,方便后面的數據處理步驟的進行
x=xlim;
y=ylim;
%顯示一個二維等高線切片
cm=brighten(jet(length(map))-.5)
figure(‘Colormap‘cm);
contourslice(D[][]image_num);%繪制二維等高線切片
axis?ij;
xlim(x);
ylim(y);
daspect([111]);
%顯示一個三維等高線切片
figure(‘Colormap‘cm);
contourslice(D[][][1?12?19?27]8);%繪制三維等高線切片
view(3);
axis?tight??
%顯示一個等值面
figure(‘Colormap‘cm);
Ds=smooth3(D);%用于平滑數據
hiso=patch(isosurface(Ds5)...
????‘FaceColor‘[1.75.65]...
????‘EdgeColor‘‘none‘);
isonormals(Dshiso);%計算等值數據
%加等值帽來顯示剖視圖表面
hcap=patch(isocaps(D5)...%將數據顯示為一個圖形對象
????‘FaceColor‘‘interp‘...
????‘EdgeColor‘‘none‘);
%設置視角調整高寬比
view(3530);
axis?tight??
daspect([11.4]);
%增加光照
lightangle(4530);%設置光照角度
set(gcf‘Renderer‘‘zbuffer‘);
lighting?phong
set(hcap‘AmbientStrength‘.6);%增加等值帽參數
set(hiso‘SpecularColorReflectance‘0‘SpecularExponent‘50);%減小鏡面反射尺寸
I=imread(‘mri.tif‘);?%讀入圖像
subplot(121);
imshow(I);title(‘原灰度圖像‘);
g=[-1?-1?-1;?-1?8?-1;?-1?-1?-1];%線性高通濾波3×3模板
h=double(I);%轉化為double類型
j=conv2(hg‘same‘);%?線性高通濾波進行圖像濾波
subplot(122);
imshow(j);title(‘線性濾波銳化后圖像‘);
subplot(221)imshow(I);title(‘原圖像‘);%顯示原圖像
H=fspecial(‘prewitt‘);%應用prewitt算子銳化圖像
I3=filter2(HI);%prewitt算子濾波銳化
subplot(223);imshow(I3);?%顯示prewitt算子銳化圖像
title(‘prewitt算子銳化圖像‘);
subplot(221)imshow(I);title(‘原圖像‘);%顯示原圖像
H=fspecial(‘log‘);?%應用log算子銳化圖像
I4=filter2(HI);?%log算子濾波銳化
subplot(224);imshow(I4);%顯示log算子銳化圖像
title(‘log算子銳化圖像‘);
subplot(221)imshow(I);title(‘原圖像‘);%顯示原圖像
H=fspecial(‘sobel‘);?%應用sobel算子銳化圖像
I2=filter2(HI);?%sobel算子濾波銳化
subplot(222);imshow(I2);?%顯示sobel算子銳化圖像
title(‘sobel算子銳化圖像‘);
%二維、三維、立體整合到一起點擊鼠標顯示直觀效果
h0=figure(‘toolbar‘‘none‘...
????‘position‘[198?56?450?468]...
????‘name‘‘二維,三維,立體放一起對比效果圖‘);%取標題名字
h1=axes(‘parent‘h0...
????‘position‘[0.3?0.45?0.5?0.5]...
????‘visible‘‘off‘)
評論
共有 條評論