首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三维图像的一次、二次、三次导数计算

三维图像的一次、二次、三次导数计算
EN

Stack Overflow用户
提问于 2016-03-21 10:36:41
回答 2查看 1.3K关注 0票数 0

真的,我有一个问题,用matlab计算三维图像上的一阶、二次、三阶导数。

我有60片膝关节mri的dicom格式,我想计算导数。

对于2d图像,当我们要计算x方向或y方向上的导数时,例如我们在x方向上使用sobel或另一个算子来计算x方向上的导数。

但是在我有60片dicom格式的3d图像中,如何计算x,y,z方向上的一、二和三阶导数。我像这样为一阶导数实现:

F是包含所有切片的3d矩阵。k,l,m=大小(F);

但我认为这不是真的.please帮助我,真的我需要你的答案。

我们如何计算x,y,z方向上的一,二,三阶导数?

案例“x”

代码语言:javascript
复制
D(1,:,:) = (F(2,:,:) - F(1,:,:));
D(k,:,:) = (F(k,:,:) - F(k-1,:,:));
D(2:k-1,:,:) = (F(3:k,:,:)-F(1:k-2,:,:))/2;

案件'y‘

代码语言:javascript
复制
D(:,1,:) = (F(:,2,:) - F(:,1,:));
D(:,l,:) = (F(:,l,:) - F(:,l-1,:));
D(:,2:l-1,:) = (F(:,3:l,:)-F(:,1:l-2,:))/2;

案例“z”

代码语言:javascript
复制
D(:,:,1) = (F(:,:,2) - F(:,:,1));
D(:,:,m) = (F(:,:,m) - F(:,:,m-1));
D(:,:,2:m-1) = (F(:,:,3:m)-F(:,:,1:m-2))/2;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-21 15:02:44

这是有功能的!查找https://www.mathworks.com/help/images/ref/imgradient3.html,其中有指示梯度计算类型的选项: sobel是默认的。

如果您想要方向梯度,考虑使用https://www.mathworks.com/help/images/ref/imgradientxyz.html,它有相同的选项可用,但返回方向梯度Gx,Gy和Gz。

代码语言:javascript
复制
volData = load('mri');
sz = volData.siz;
vol = squeeze(volData.D);
[Gx, Gy, Gz] = imgradientxyz(vol);

注意,这些函数是在R2016a中引入的。

票数 0
EN

Stack Overflow用户

发布于 2016-03-21 13:39:53

高维中的“一阶导数”称为梯度向量。数值逼近梯度的公式有很多,最近的一篇文章讨论了最精确的方法之一:“二维和三维各向同性离散梯度算子的高阶空间推广和GPU上的快速评估”。

多维的高阶导数是张量。特别是“二阶导数”是一个秩-2张量,它有6个独立分量,它们在最低阶近似下是

代码语言:javascript
复制
Dxx(x,y,z) = (F(x+1,y,z) - 2*F(x,y,z) + F(x-1,y,z))/2
Dyy(x,y,z) = (F(x,y+1,z) - 2*F(x,y,z) + F(x,y-1,z))/2
Dzz(x,y,z) = (F(x,y,z+1) - 2*F(x,y,z) + F(x,y,z-1))/2
Dxy(x,y,z) = (F(x+1,y+1,z) - F(x+1,y-1,z) - F(x-1,y+1,z) + F(x-1,y-1,z))/4
Dxz(x,y,z) = (F(x+1,y,z+1) - F(x+1,y,z-1) - F(x-1,y,z+1) + F(x-1,y,z-1))/4
Dyz(x,y,z) = (F(x,y+1,z+1) - F(x,y+1,z-1) - F(x,y-1,z+1) + F(x,y-1,z-1))/4

“三阶导数”将是三级张量,并且将包含更多的分量。这些公式是宽松的,可以通过考虑F到3阶的Taylor级数展开来导出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36128748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档