对于我的项目,我必须分割CT脑图像中的异常。 我想通过比较大脑的右侧和左侧来做到这一点。这可以做到 通过使用图像的强度差异。例如,血液比脑组织更亮 CT图像。由于大脑的右侧和左侧几乎是对称的,因此是可能的 通过将其与另一侧进行比较来发现一侧的异常。使用Matlab,我想工作 使用CT图像的Dicom文件。我想通过比较大脑的两侧来分割异常区域。 在对2D中的异常进行分割之后,我想要注册2D图像并创建3D重建。 有没有人知道,用于比较Dicom图像的左侧和右侧的最佳编码方法是什么(在Matlab中)?
答案 0 :(得分:1)
也许看看这篇论文:http://www.sciencedirect.com/science/article/pii/S0167865503000497 它解释了如何在三维MRI图像中找到对称平面,但该方法也适用于CT。首先,搜索图像中的质心。接下来,计算惯性椭球的轴并评估对称性。最后,您可以使用下坡单纯形法改进对称平面。
希望这有帮助!
编辑:我将如何解决这个问题:搜索质心R
ind = find(ones(size(image)));
ind = reshape(ind, size(image,1), size(image,2), size(image,3)); %for a 3D volume
[x,y,z] = ind2sub(size(image), ind); %for a 3D volume
Rx = image.*x;
Ry = image.*y;
Rz = image.*z;
Rx = round(1/sum(image(:)) * sum(Rx(:)));
Ry = round(1/sum(image(:)) * sum(Ry(:)));
Rz = round(1/sum(image(:)) * sum(Rz(:)));
Rx, Ry
和Rz
现在包含图像质心的位置。代码很容易适应2D。
现在,寻找惯性椭球的轴:
for p=0:2
for q=0:2
for r=0:2
if p+q+r==2
integr = image.*(x-Rx).^p.*(y-Ry).^q.*(z-Rz).^r;
m = sum(integr(:));
if p==2, xx=1; yy=1;
elseif p>0 && q>0, xx=1; yy=2;
elseif p>0 && r>0, xx=1; yy=3;
elseif q==2, xx=2; yy=2;
elseif q>0 && r>0, xx=2; yy=3;
elseif r==2, xx=3; yy=3;
end
M(xx,yy) = m;
M(yy,xx) = m;
end
end
end
end
[V,~] = eig(M);
矩阵V
包含惯性椭圆体轴的方向。这些是对称平面的第一个猜测。
评估对称性。这是困难的部分,因为您必须围绕所有三个(或两个,2D)可能的对称平面旋转图像。我使用了affine3D
和imwarp
命令,但它非常繁琐。确保通过之前找到的质心定义不同的轴。对称性的可能度量是mu = 1 - ||image - mirrored_ image||^2 / (2*||image||^2)
。具有最高mu
值的轴是最佳对称平面。
如果您对对称轴不满意,可以使用下坡单纯形法改进它,参见例如https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method
现在你有原始图像和midsagittal平面周围的镜像。减去两者都可以让你了解异常情况。
我希望这很清楚。有关更多信息,请查看Tuzikov等人的优秀论文。上文提到的。