我是一名大多数都是自学成才的编程背景的医生,大约一年前,我正在使用我正在研究的超声模拟器(Making 2D cross-sectional slices of a 3D array)。有一些很好的解决方案,但事实证明它们不是我真正需要的解决方案(可能是因为我没有要求我确切需要什么)。经过一段时间的讨论,然后意识到它没有按照我需要的方式工作,我放弃了,并且非常忙于居住。无论如何,我再次回到原点,所以我想看看是否还有其他人可以解决这个问题的正面或反面。我只是粘贴下面的原始问题,但修改后反映它之前失败的原因(编辑是粗体)。查看上面的原始帖子,查看以前的答案。非常感谢!!!
:: Original-ish Post ::
我正在尝试用体积CT数据制作实时模拟超声图像。诀窍是用户控制探头的位置,该位置定义了他们正在看到的平面。
到目前为止我所做的是将所有dicom图像中的像素数据读入单个3D像素阵列,现在我需要做的是以不同的角度重新组合3D阵列。很抱歉,如果以下描述有点草率,但想象一个3D矩形框(比如100像素宽和深[x,z],500长[y])和2D“观看平面”(比如说50 x 50像素) )。假设观察平面的起始位置(原点定义为平面近边缘的中间点 - [0,25])原点位于[50,250,0](顶面的死点,向下看) ,从左到右定向,直接刺穿矩形。 因此,观察平面有几个可以改变的参数 - 原点的位置,以及围绕三个轴(XY,XZ和YZ)的每一个的旋转。棘手的一点是,我希望旋转轴相对于平面本身,而不是相对于盒子(因此“绕短边旋转”总是围绕短边旋转,无论短边是如何定向的。 3D数组;这是必要的,因为用户输入将是相对于平面的当前位置移动或旋转的形式,而不是相对于整个环境;这实际上是一个相当不错的,如果蹩脚的视频描述我需要做出的动作 - http://www.youtube.com/watch?v=RskrEsAGzec)。因此用户可以更改这些参数,输出是根据观察平面“触摸”的像素构建的图像。
如果描述很草率,我再次道歉,但我是一名没有强大数学背景的医生。任何帮助将不胜感激!!!