1.定位线概念:某个方位的影像在另一个方向的影像上的投影相交线,例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。
举个例子:右边的是MR(核磁共振)的某一帧切片,这是从头开始扫描,扫描到眼睛这个位置,
而左边图像是从左手到右手的扫描切片,那么右边图像的位置就恰好在左边图像的眼睛的位置,用红线标出的位置则为定位线,一般用于医生参考病灶在矢状面、冠状面和横断面的具体方位。

2.检查设备示意图
在笛卡尔空间直角坐标系中,Y 右肩膀到左肩膀,X 后背到前胸,Z 足到头

3.算法流程

4.代码实现:
创建图像结构
public FrameGeometry(DicomDataset image)
: this(image.GetString(DicomTag.FrameOfReferenceUID),
image.GetValues<double>(DicomTag.ImagePositionPatient),
image.GetValues<double>(DicomTag.ImageOrientationPatient),
image.GetValues<double>(DicomTag.PixelSpacing),
image.GetSingleValue<int>(DicomTag.Columns),
image.GetSingleValue<int>(DicomTag.Rows))
{
// TODO:
FrameOfReferenceUID:图片UID
ImagePositionPatient:病人方向
ImageOrientationPatient:图片方向
PixelSpacing:像素间距
Columns:宽度
Rows:高度
}
判断是否符合定位条件:
/// <summary>/// 判断是否可以画定位线
/// </summary>
/// <param name="sourceFrame">源图像结构</param>
/// <param name="destinationFrame">目标图像结构</param>
/// <returns></returns>
public static bool CanDrawLocalizer(FrameGeometry sourceFrame, FrameGeometry destinationFrame)
{
// 检查图像结构
if (sourceFrame == null) return false;
if (destinationFrame == null) return false;
// 如果两个帧中的任何一个不是空间坐标系,则无法定位
if (sourceFrame.Orientation == FrameOrientation.None || destinationFrame.Orientation == FrameOrientation.None) return false;
// 只有正交图像才能绘

文章介绍了医学影像处理中定位线的概念,它是不同切面影像的投影交线。通过C#代码展示了如何创建图像结构、判断是否可以画定位线以及计算交线点的算法流程,这些是用于医生判断病灶位置的关键步骤。此外,还提供了PACS医学影像处理系统的教程目录。
1495

被折叠的 条评论
为什么被折叠?



