具有不同像素大小的两个图像之间的插值 [英] Interpolation between two images with different pixelsize

查看:228
本文介绍了具有不同像素大小的两个图像之间的插值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于我的应用程序,我想在两个图像之间插入(CT到PET). 因此,我像这样在他们之间映射:

For my application, I want to interpolate between two images(CT to PET). Therefore I map between them like that:

[X,Y,Z] = ndgrid(linspace(1,size(imagedata_ct,1),size_pet(1)),...
                linspace(1,size(imagedata_ct,2),size_pet(2)),...
                linspace(1,size(imagedata_ct,3),size_pet(3)));
new_imageData_CT=interp3(imagedata_ct,X,Y,Z,'nearest',-1024);

我的新图像new_imageData_CT的大小类似于PET图像.问题是我的新图像的数据缩放比例不正确.因此它被压缩了.我认为原因是两个图像之间的像素大小不同,并且不涉及插值.例如:

The size of my new image new_imageData_CT is similar to PET image. The problem is that data of my new image is not correct scaled. So it is compressed. I think the reason for that is that the pixelsize between the two images is different and not involved to the interpolation. So for example :

  • CT图片尺寸:512x512x1027
  • CT体素尺寸[mm]:1.5x1.5x0.6
  • PET图片尺寸:192x126x128
  • PET体素尺寸[mm]:2.6x2.6x3.12

那么我该如何考虑与插值有关的体素大小?

So how could I take care about the voxel size regarding to the interpolation?

推荐答案

您需要在患者坐标系中执行匹配,但是要考虑的不仅仅是分辨率和体素大小.您需要同步两个卷的位置(也可能同步方向,但这不太可能).

You need to perform a matching in the patient coordinate system, but there is more to consider than just the resolution and the voxel size. You need to synchronize the positions (and maybe the orientations also, but this is unlikely) of the two volumes.

您可能会找到

You may find this thread helpful to find out which DICOM Tags describe the volume and how to calculate transformation matrices to use for transforming between the patient (x, y, z in millimeters) and volume (x, y, z in column, row, slice number).

您必须确保体积位置可比,因为CT和PET中的切片位置不一定指向相同的原点.执行此操作的简单方法是比较CT和PET切片的DICOM属性参考帧UID(0020,0052).对于共享相同参考帧UID的所有切片,切片在DICOM标头中的位置均指代相同的原点. 如果数据集不包含此标签,除非您只是将其作为假设,否则它将变得更加困难.有一些方法可以从称为配准"的像素数据的内容中推导出两个不同体积的匹配切片,但这是一门科学.请参见Hugues Fontenelle的链接.

You have to make sure that the volume positions are comparable as the positions of the slices in the CT and PET do not necsesarily refer to the same origin. The easy way to do this is to compare the DICOM attribute Frame Of Reference UID (0020,0052) of the CT and PET slices. For all slices that share the same Frame Of Reference UID, the position of the slice in the DICOM header refers to the same origin. If the datasets do not contain this tag, it is going to be much more difficult, unless you just put it as an assumption. There are methods to deduce the matching slices of two different volumes from the contents of the pixel data referred to as "registration" but this is a science of its own. See the link from Hugues Fontenelle.

顺便说一句:在您的示例中,您将不会在两个体积中为每个位置找到匹配的体素,因为体积具有不同的大小.例如.对于x方向:

BTW: In your example, you are not going to find a matching voxel in both volumes for each position as the volumes have different size. E.g. for the x-direction:

CT:512 * 1.5 = 768毫米

CT: 512 * 1.5 = 768 millimeters

PET:192 * 2.6 = 499毫米

PET: 192 * 2.6 = 499 millimeters

这篇关于具有不同像素大小的两个图像之间的插值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆