Hackaday.io上的树莓派项目-OpenCT2
收藏
分享
脑图
Hackaday.io上的树莓派项目-OpenCT2
关于项目
项目描述:利用原子的力量,使用这种核动力台式计算机断层扫描(CT)扫描仪扫描物体内部!
项目图片
总结
去年,我设计了开源计算机断层扫描 (CT) 扫描仪的第一个迭代。从旋转龙门的机械设计到将合适的放射性同位素源与经过改进的超敏感辐射传感器配对,设计都很有趣,其中有很多非典型设计问题。关于它本质上是一个放射性的桌面星际之门,让你看到里面的东西似乎也让人们非常兴奋,所以我收到了一堆不拘一格的电子邮件,询问关于扫描仪的人,如放射学教授和生物医学的人,制造商,那些希望我会打开詹森博士的后巷CT扫描,看看一些奇怪的颠簸,他们有(请去看看你的医生!
但我觉得,对于所有的兴奋,引用费曼的话,第一次开放CT设计感觉有点像一条用两条腿走路的狗——不是它做得很好,而是它做起来让人兴奋。它本质上是第一代CT扫描仪的工作模型,但来源要弱得多,因此需要很长的时间才能得到一个图像的一个切片。我一直在想,如何把桌面CT扫描仪的想法从概念验证转移到工作做得好,或至少大大改善的东西。
OpenCT2
OpenCT2 是我试图使设计更接近当今使用的断层扫描系统,并制作完整的第三代桌面 CT 扫描仪,该扫描仪使用大型并行探测器阵列。这应大大减少采集时间,按小时顺序获取低分辨率图像,按一天的顺序获取断层扫描时间。
设计目标和约束
极低强度源:为了安全,该系统设计为使用低强度放射性同位素源,而不是使用 X 射线管。该系统使用的 10uCi Barium-133 源是在美国无需许可证即可购买的最强烈的放射性同位素源。这种约束使设计比使用 X 射线管安全得多,但它也是采集时间的主要限制因素 - 因为源强度如此之低,采集时间基本上受与光子计数相关的射光噪声的约束。对于受过良好放射学安全培训、拥有适当实验室设施和舒适修改开放式设计的专业人员来说,原则上应在设计中安装小型 X 射线管,将扫描时间从一天的顺序缩短到几分钟。
紧凑,并长期:设计应该是小,自成一体,有吸引力的适合在一个办公桌的边缘。扫描时间受物理和安全限制。
机械简单:断层扫描平台旨在利用简单的旋转样品管和单线性轴,而不是一个复杂的旋转龙门。
模块化:该系统的三个主要组件(辐射传感器、成像阵列和断层图像平台)是模块化的,因此,无论您是寻找一种价格低廉的高能粒子探测器的设计,还是安装红外或太赫兹系统的断层扫描平台,对于许多感兴趣的科学家和工程师来说,这都是值得您感兴趣的。
易于组装:该系统被设计为能够由一个敏锐的本科生组装与适度的表面安装组装技能。模块化探测器通常使用 SOIC IC 和 0603 无源式。为了使断层扫描平台尽可能通用,它的设计是使用大部分现成的组件和基本的通孔焊接技能进行组装。
贡献
该项目有三个主要贡献:
1.   一种廉价的模块化辐射传感器,适用于低分辨率空间成像(即将完成)。这些模块的像素大小约为 2.5mm 平方(7.5mm+2 区域),设计为放置在近距离,以形成一维成像阵列。这些传感器的单数物料清单约为 30 美元,不包括装配。
2.  小型成像阵列,由大约 16 个模块化探测器组成(正在进行中)。该阵列可轻松连接到微控制器,其设计包括与 Arduino Pro Mini 连接,该 Mini 提供 USB->串行连接,可轻松集成到实验室设置中。
3.  适用于安装上述成像阵列的机械断层扫描平台,或研究人员或断层扫描爱好者感兴趣的任何其他小型成像系统(如红外线、台瑟兹)。
在构建并填充了另外四个探测器之后,阵列总共有 12 个像素,这听起来像是尝试捕获图像,然后继续捕获第一个断层扫描切片。在这里,我将展示丙烯酸立方体的吸收图像,显示校准数据,然后收集和重建第一个断层图像!
首先,一个(非断层图)X射线吸收图像
我决定尝试使用一个小的丙烯酸立方体作为测试文章,因为丙烯酸似乎相当吸收X射线,不像水果和蔬菜,我一直在扫描,它不会腐烂。上图是测量沿 Z(上/下)轴上 10 个位置的吸收量,超过约 50mm/2 英寸的高度而构建的图像。在这里,在图像的底部,我们可以清楚地看到几个功能:
从底部开始,当 Z 轴处于最低(homed)位置时,引线屏蔽会阻止从 Ba133 源向探测器移动的多数高能粒子。(高吸收,蓝色)
接下来,金属 M8 螺栓用作样品台的轴。(高吸收,蓝色)
MDF 样品表(中等吸收、黄色)。螺栓通过 MDF(蓝色)中间可见
丙烯酸立方体(低(红色)到中等(黄色)吸收量,具体取决于给定发射路径在进入探测器的路上必须经过多少丙烯酸)
空气,在顶部(非常低的吸收 - 红色)。
所有重要元素(屏蔽、螺栓、桌子、丙烯酸、空气)都清晰可见且易于区分。图像可能看起来有点不寻常,因为 (a) 它测量的吸收(如密度),而不是给定位置反射的光量,以及 (b) 图像平面是圆柱形而不是平面,因此从源到探测器阵列上每个像素的距离是恒定的 ,因此它就像鱼眼透镜的相反曲率。
一个非常成功的形象。上图,由于强度极低,每个像素的曝光时间约为15分钟。长时间的集成时间是得到一个粗略的估计的实际吸收率,鉴于高率的拍摄噪声,(在这个集成时间)似乎是在 +/-20% 附近 - 所以仍然相当大,但不是不可能。
上图为 12 个探测器阵列的图片,比之前填充的探测器多四个。4个探测器(两侧2个)仍然无人居住。校准
尽管使用一些最精确的对数放大器和高容差被动,但令我吃惊的是,12个探测器之间的噪音水平仍然有很多个体变化。这是一个非常重要的结果,它回答了我常对第一个 OpenCT 中使用的奇妙的辐射观察5型探测器的问题 — — 探测器能够通过更改比较器上的单个电阻值来检测低得多的能量水平,那么为什么他们设置的阈值要高得多呢?答案是,设置阈值非常保守,可能会提高制造产量——由于单位之间可能发生如此大的变化,设计者可能会选择一个安全值,以确保>99% 的探测器通过 QA 流程,而牺牲了许多探测器的敏感程度低于它们最终可能拥有的能力。
通过将数字电位计包括在我的设计中,我确保每个探测器的检测阈值可以单独调整到略高于其噪声阈值,确保每个探测器达到最高效率。从 10 个不同 digipot 设置下 12 个探测器的每个计数电缆(上图)中,可以看到,一个统一的安全电阻值可能降低了每个探测器的效率 10-50%,这意味着同一信号的集成时间显著延长。在该系统极低的噪声比下工作时,获得一定的胜利。
Ba133 发射的能量范围很广,探测器可能未检测到噪声占优势的 40keV 以下。在执行校准程序时,我有一个秘密希望,在非常低的 digipot 阈值下,噪声水平较高(检测到更多的误报),也会有更多低能信号光子,而且,通过深入噪声,可以点击检测这些低能量排放的额外信号,并缩短集成/扫描时间。
为了对此进行调查,我记录了整个 10-15 分钟检测时间中的检测总数,而是记录了 10-15 分钟采样时间内小(2 秒)间隔的检测数,从而生成了 300-450 个数据点的列表。由于拍摄噪声在这种极低强度成像中占主导地位,因此我使用一种称为引导重采样的统计技术来构造一个概率分布,显示给定像素实际吸收值的可能值。我希望用它来将断层图重建转换为优化问题,并摆脱较短的采样时间,但在这里,我用它来估计给定探测器值的信号与噪声量。经过一个晚上的修补,看起来当阈值提高时信号肯定较少,但当阈值降低时,似乎没有更多(容易识别)的信号——因此,在噪声超过每分钟 +2 计数背景的每个探测器查找 digipot 设置的简单校准过程似乎是最简单、最有效的校准过程马上。
同样,在上面,在 +/-20% 高斯噪声下,图像质量会严重降低 -- 我们可以分出幻像的整体形状以及两个大型的深色结构,但较小的结构不再容易看到。
从研究生院的课程和我的第一个博士后奖学金,我知道断层成像的基本知识 - 但把概念,并转化为桌面手工制造的扫描仪收集数据,以处理数据是有点迭代学习经验对我来说,和一个很好的经验,以帮助巩固知识,并填补模糊的领域。我希望其他人也会这样发现。
做科学和工程的最佳方法之一是预测你期望观察到什么,然后实际观察这种现象,看看你的测量结果是否与预测相符。对于医学成像,通常使用"幻象"时,会模拟扫描仪与重建算法相结合的扫描仪,该"幻像"可以是模拟数据(或实际的模拟物体,如由丙烯酸制成假大脑状的形状)。在上面,我们可以看到这样的幻像,模拟在 Octave(如Matlab,但开源)使用图像处理工具箱。这里的幻象意在非常粗略地近似大脑——一个大致圆的头部,里面有几个不同的椭圆形结构。
在上面的模拟计算机断层扫描中,我们可以看到原始图像(顶部)、称为sinogram的模拟CT数据,以及使用 sinogram的重建图像。sinogram 是一个不寻常的图像,很难可视化,但在概念上相对简单—— 想象一下,而不是拍摄对象的 2D 吸收度图像(如 X 射线),而是要拍摄 1D 吸收度图像(从 2D 图像中的一条线)——但要重复,以不同角度旋转对象,垂直于正在拍摄的轴。这就是 sinogram 的是什么 —— 一组从不同角度的大量 1D 吸光图像,可以处理这些图像以生成该对象的 2D 切片。
如果上述重建模拟 180 张图像(以 1 度增量旋转幻像拍摄),包含大约 300 个探测器和零探测器噪声(即完美测量),我们可以更改这些参数以更近似 OpenCT2,以确定我们可能期望观察到的重建质量。
上图是同一模拟幻像重建,此处以 4.5 度增量而不是 1 度增量旋转。选择 4.5 度,因为它近似于 OpenCT2 可以扫描约 8 小时内,假设每个角度测量 15 分钟。在这里,我们可以看到,降低角分辨率对重建图像质量(底部)有小而明显的影响。
与普通 CT 扫描仪不同,OpenCT2 上的极低强度源意味着非常高的拍摄噪声,即使在 15 分钟的集成时间。此级别的拍摄噪声看起来介于 +/-10% 到 +/-20% 之间,因此我模拟了两个噪声级别。以上为 4.5 度样品,由 +/-10% 高斯分布噪声扭曲。我们看到这大大降低了重建质量。
分支主题
模拟丙烯酸立方体
由于第一次断层扫描是丙烯酸立方体,在这里我在幻像立方体上运行了相同的模拟。首先,零噪声模拟:
请注意,sinogram 看起来如何振荡,从完全实心 (x=0,20,40) 到中间的固体,而开始时强度较小 (x=10,30)。这是立方体旋转的结果 -- 当立方体朝向模拟探测器时,吸收大约相等(x=0,20,40),当立方体以 45 度角旋转 (x=10,30) 时,中心探测器的吸收将显著增加(因为 X 射线现在必须沿维数据集对角线传输 -- 立方体流经的最大数量),由于沿边缘的探测器几乎没有立方体穿过(因此它们的吸收较少)。
添加 +/-10% 的模拟高斯噪声会稍微扭曲立方体的形状,当然也是均匀性,但我们仍然可以找出整体形状。
在上面,在 +/-20% 的模拟高斯噪声的 sinogram 上,形状和均匀性开始变得扭曲,但我们仍然可以找出整体形状。
具有几乎完整的机械进度 (!) 的快速更新,包括创建表和用于校准探测器的辐射屏蔽。这里的重点是让设备完全独立,因此它可以执行长时间的校准过程(在下一篇文章中提供),当然还有扫描程序。
工作台上的(几乎完成)单元。虽然它看起来与上一个修订版非常相似,但几乎每一件都经过了修改,并考虑到了布线、装配和整个装置的自包含在 8 英寸气缸中(因此,可以设计一个箱子滑过它,在办公桌上看起来有吸引力)。
在这里,两个 Arduinos 的电缆(一个在成像阵列上,另一个用于控制线性和旋转级)最终被安全地安装并插入 USB 集线器。中心中的其余位置包括:
16GB USB 闪存驱动器,承载树莓派文件系统。这被用来代替传统的SD卡,因为它既更快,似乎更耐损坏。
Wifi 模块,用于无头操作。我一直在编写的软件大部分是在计算机本身上开发的,它使用远程桌面而不是 VNC。
USB 键盘和鼠标
与树莓派的 HDMI 连接在左侧也可见。最后的机械考虑之一是激光切割一个板的机器背面,打破HDMI,一个USB和电源连接器,并找到短面板安装扩展表为这些端口。
由于开发环境对部件怀有敌意,因此我在成像阵列中只填充了两个探测器进行测试,因此,如果意外桥接,最坏的情况是只有两个探测器损坏。虽然探测器的设计具有较低的材料清单,但它们确实需要相当多的时间来组装,而且最近可用的时间也低于我想象中的时间。
在这里,我已经填充了8个探测器插槽,对于我一直在执行的校准运行(在下一篇文章中将对此进行更多操作!
辐射护盾
在这张照片中,虽然源未插入,但位于源光圈的正下方,但可以看到一个难以拍摄的块,并写入"辐射护盾"。这种屏蔽本质上是一个封装在某些结构中的大量引线,它们直接位于源和探测器之间,当 Z 轴处于最低(即停放)的位置时。这是系统设计的关键部分,将允许自动校准每个探测器的噪声级别,同时不暴露在源中。
状态显示
仪器顶部包含控制面板,包括 OLED 状态显示和基于车轮的方向垫。我非常喜欢这个控制器,并且有与Pi一起使用的软件,它是我最喜欢的机器的可用性功能之一。按照我的口头禅,使这台机器尽可能容易复制,尽可能低的技能门,我已经设计了这个与大部分现成的零件,所以它应该很容易由其他人可重复使用不同的项目,与最小的组装工作。
不幸的是,使用这种显示器目前将探测器阵列上的噪声水平增加约3-可能是由于OLED的分接板上看起来像+13V的提升电路,尽管它已经与敏感电路合理隔离。这需要一点思考,因此可能需要一段时间才能显示状态在正常操作中。
键对表和互锁样品容器
我制作了一个键键联表的第一个原型,它允许样品容器易于安全地旋转,同时也相对容易插入和删除。这是一个很好的第一关,但它仍然是有点挑战找到合适的位置的键,所以这可能需要第二次修订,与一些想法斜面的键的边缘,以允许一点点摆动空间。
上图是键化表的另一个视图(右图),示例容器的底部(左图)及其匹配键模式可见。
上图,可以看到安装在机器中的表,其中长螺栓用于从下面的 NEMA17 步进中心传输旋转运动。
同样,这里的示例容器被放置在上面并配合到表上——它旋转得很好。有一点点倾斜,但考虑到扫描仪的低分辨率,这可能不会是一个问题。
以上是机器旋转180度,从源侧查看。
在这里,源支架已被移除,可以在下面看到。安装在中板上的白色 3D 打印支架用作新源屏蔽(用于校准)的安装点。
Barium 133 放射性同位素源紧贴源支架。除了将源保持到位的机械工作外,±1mm 铅片层还大大降低了源强度,其方向远离探测器。显然,在某些方向上还是有点漏水(最明显的是,在两侧,直接垂直于探测器),所以这里仍然需要做一些工作。
上图是用于控制步进器的 Arduino Uno 和电机护盾。此处大部分布线已完成,现在包括 Z 限位开关的电缆。用于自动启用/禁用成像阵列的 40V 光电二极管偏置源的继电器分路尚未连接,但它是此处为数不多的剩余项目之一,以及用于检测表旋转的磁簧片开关。
上面的上限开关。
和底部限位开关。两个限位开关都使用单根 3 导体电缆(最初是伺服延长电缆)连接到电机护罩,固件已修改以支持这些,包括自动定位和限制行程,因此 Z 级不应撞到任何设备。
校准运行
最重要的是,该项目已经从仅是一个成像阵列,包括一个(几乎完整的)断层成像机械平台,支持计算位,以干净,轻松地将成像和运动系统结合在一个自成一体的桌面系统中。随着一些努力的隔离和一些设计决策,成像阵列是显着的无噪声 。
这样做的结果是,系统已经运行了多次多小时长的校准,以确定每个探测器的最佳 digipot 值,在扫描仪本身上开发和写入软件,并且似乎运行时没有惊喜。如此接近,靠近一个我舒适地离开扫描仪,在几个小时内收集数据进行实际扫描的地方,这令人激动。
这里有一个大更新, 与大量的进步和图片!
随着桃子几次更新的成功第一次扫描,我的重点是将设计从原型转向完成的完整单元。主要问题是:
在它的长期:虽然已捕获第一批图像,但只有当系统经过正确校准和描述时,才会有实际性能。鉴于与非常低强度的 Barium-133 放射性同位素相关的集成时间很长,这基本上意味着系统必须运行数小时到数天,独立地收集(第一个)校准数据,然后在系统校准后采集图像数据。如果在系统预热时需要一天才能获得实心噪声配置文件,而完成扫描需要一周时间,则需要多长时间。通过计算单光子进行成像是为患者。
电源:第一次扫描需要多个工作台电源,但理想情况下,最终系统应该是独立的,并且在单个电源(如砖块)上运行。对于探测器阵列来说,噪声是一个巨大的问题,并且拥有一个提供Pi和步进电机的单一低轮廓电源,必须同时处理高频率和低频噪声,以及相当数量的电流。
树莓派:系统需要从 Pi 上独立运行,最好通过 WiFi 访问。
集成电源
我之前曾决定,为了简单起见,我会为每个主要系统(Pi、电机、USB 集线器、探测器)使用单独的电源,以帮助隔离噪声,并考虑到每个系统都需要相当数量的电流。虽然我之前评估过的开关电源效率很高,但非常嘈杂——而且极端模拟滤波适用于亚原子粒子检测,不是我的长处,所以我决定使用线性电源。事实证明,7805S 线性常规变型可以提供高达 2A(具有大量散热),因此适用于 PI、步进器,并且足够用于轮毂和步进器。在设计验证其噪声特性后,我设计了上面的板,以适合在单位下,在一个单一的四分之一的馅饼形状。
一个谜团随之而来——由于某种原因,设计在面包板上起作用,但当使用上面合适的板时,探测器通道显示出大量的噪音——远远大于可用。我断开了探测器与紫色电源的连接,并将它们连接回面包板版本,噪音水平是预期的低水平。这是不寻常的,但这种令人难以置信的低噪音供应是新的领域对我来说,所以我假设一些噪音泄漏通过空气,地面,散热器,或其他一些地方。我决心,探测器的供应可能只需要在它自己的板上,并放在上面的板在一起。
除了,这个谜团还在继续——在等了两个星期才把那板到达时,我组装了它,噪音还在。我不知道是什么原因,所以我开始建造另一个板(右)件。电路板是否需要更大的输入滤波器电容器?保险丝座是否充当小天线,从空气中拾取噪音?最终,7805S 2A 变种具有不同于 7805CV 1A 变型不同的噪声特性,我在等待 2A 版本从 Digikey 到达,这是问题的来源。将 S 与 CV 交换为四分之一 pi 形板上的探测器电源,使噪声水平恢复正常。伟大!
线性电源需要一个大散热散热散热来消散它们产生的所有热量。机械上,我还需要一个支撑支架,既刚性支撑设备的重量,又提供一个锚点螺栓外圆柱壳体(8 英寸直径的 PVC 管道)。我最终将大约 20mm 铝挤出切入上述模式,使调节器能够直接螺栓插入 t 型槽中,并提供非常大的热质量,以连续数天散开运行系统(和 Pi)的所有热量。
控制系统的安装
我承认,找出一个地方安装一切被证明是比我最初预计的更具挑战性。由于 Pi 上的少数 USB 端口似乎无法可靠地为直接插入主板的 USB 设备供电,因此不得不添加 USB 集线器,这一情况更加复杂。这一点尤其明显,无线连接会周期性地退出,可能通过 Wifi 加密狗变棕色。
在尝试了几种不同的配置后,我解决了上面的一个 - Pi 和集线器在一边,与 Arduino 和电机控制器的另一边。电源位于下方(饼图的 1/4),有两个隔间用于光电二极管偏置电源所需的电池(饼图的 2/4)。pi 的剩余部分保留给背板,用于安装电源开关、直流电源连接器和其他连接器。
电机控制侧如上图所示。为了保持尝试有一切现成的,或很容易组装,如果一个现成的解决方案是不可能的,在这里,我使用了 Arduino Uno 和电机控制器护盾,这应该很容易为大多数人来源。
我还包括了一个Pololu继电器屏蔽,以四节9V电池的形式启用或禁用40V光电二极管偏置电源,这样它们不会不必要地耗尽。话虽如此,抽签似乎非常少,我在整个项目期间都使用了同一套四节电池,没有任何问题,但最好还是要安全起见,因为每年更换一两次电池,而不是每周或两次更换电池。
树莓派和 USB 集线器安装在圆柱形扫描仪的另一侧。集线器安装设计有点灵活性,许多低调的集线器应该适合,但我设计了这个支架,专门适合从百思买很容易找到的USB集线器。此集线器也正好具有非常合理的噪声特性,其电源的设备。
树莓派顶部的额外帽子将 GPIO 连接器连接到较小的连接器,用于连接到小型控制面板和显示屏(如下所示)。
电源板上的另一个角度。还需要做一些机械工作,以确保结构中的孔径放置得当,使电缆能够轻松移动。绿色和红色的 USB 电缆是亚马逊上批量提供的标准低轮廓电缆。
另一个角度,这里是 USB 集线器的背面。USB 连接连接到树莓派,直流桶连接器连接到下面的电源板的通道之一。
......
评论
0 / 100
查看更多
Sen
2020-08-22
1106
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号