首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

飞利浦序列及重建开发环境介绍

编程技巧的第二讲,麦先生打算给大家介绍一下飞利浦医用磁共振的序列及重建开发环境。

大家都知道,飞家的磁共振可调参数较多,实现序列的灵活性非常大,常常可以通过调整参数,制造出令人惊艳的序列。但是即使是这么高的灵活性,有时候还是不能满足科研客户的需求,这个时候,他们就必须得从“调序列”(修改扫描参数)转换为“写序列”(序列编程)。

本讲是序列编程里面最基础的部分。希望本篇文章,能加深大家对飞利浦医用磁共振工作原理的理解。

本讲主要内容:

1.飞利浦序列开发环境(PPE)

2.飞利浦重建开发环境(Recon2.0)

▌飞利浦序列开发环境(PPE)介绍

一个序列的扫描完成,常常需要三个模块的顺序执行:序列接口模块,序列计算模块和序列执行模块。

序列对外的接口是一组临床磁共振应用参数的集合,如视野大小(FOV)、图像分辨率、层数、重复时间(TR)、回波时间(TE)、加权(T1/T2/质子密度/弥散……)等等。

序列计算模块根据使用者输入的参数集合计算出物理参数,如射频脉冲的能量和波形、梯度强度和波形、接收机带宽、SAR值等等。

序列执行模块根据序列计算模块得出的物理参数按照一定时序实时控制硬件单元(如射频放大器、梯度放大器、接收线圈)有序工作获取磁共振信号进行重建最终获取图像。

在飞利浦PPE(Pulse Programming Environment)中,协议定义程序(Protocol Definition File,PDF)即为序列计算模块。PDF通过13个计算步骤完成序列物理对象、参数、和时序的计算。其中前四个步骤负责参数的初始化、参数间冲突检查、和参数在UI界面上的显示。其它步骤负责射频脉冲、梯度、数字采样等物理事件的时序安排,以及安全性检查如SAR、PNS、机械噪声等。13个步骤中任何一步如果产生异常如时序冲突、梯度值溢出、SAR超标等,PDF会通过UI界面通知使用者调整参数以重新计算。

在13个步骤执行通过后,PDF会将计算好的物理对象和参数传给扫描执行程序(Measurement Program File,MPF)(图1)。在飞利浦PPE中,MPF即为序列执行模块。MPF的主体为多重循环嵌套结构。在循环内部是序列内核(kernel),它是PDF计算好的序列时序波形。时序上的各物理事件分别实时控制相应的硬件单元。时序上的实时参数(如相位编码梯度、选层射频频率)随循环计数的变化而实时变化。MPF中的采样对象将采集到的磁共振信号发送到重建模块进行信号处理和图像重建(图1)。序列开发人员可以通过Visual Studio C++编程工具对PDF和MPF的功能进行修改或增加新功能以开发新的序列。

图1. Philips软件架构示意:PDF根据用户输入的序列参数计算出物理对象(如射频、梯度、采样)和参数(如层数、相位编码次数等)传给谱仪(DAS)由MPF执行。MPF将采集到的信号和标签传送到重建模块进行图像重建。

▌飞利浦重建开发环境(Recon2.0)介绍

飞利浦医用磁共振重建模块目前采用基于框架(Framework based)的编程开发技术。相对于老的C语言版本,当前技术属于第二代产品(Recon2.0,简写为R2)。

MR的图像重建由一系列的处理步骤构成,每个步骤的输出数据形成下一个步骤的输入数据。在R2框架中,每个处理步骤由一个结点(Node)完成,所有的结点有统一的接口定义。R2框架为结点的并行计算、数据传递提供管理,不需要开发者额外的工作。同时,R2框架还为开发新的结点提供工具库和数学库。作为简化的例子,主要的几个结点包括滤波、Gridding、FFT、SENSE、scaling等等(图2.a)。

图2. 重建程序和结点。a. 重建由一系列的处理步骤构成,第一个结点用于收集MPF程序传来的采样数据,最后一个结点生成每一层图像并传送到数据库;b. 每一个处理步骤都是一个结点,新结点可通过配置图加入。

不同的序列通常需要不同的重建程序,不同的重建程序通过配置图(graph)把结点按所需处理步骤搭配连接。结点的开发使用C++语言,开发工具为Visual Studio。配置图的开发使用ruby脚本语言。新的重建开发任务,通常是在已有重建程序上开发新的结点并通过配置图把新结点添加到已有处理过程(图2.b)。R2的配置图和结点的概念提高了代码的重用性和灵活性。

得益于这种灵活的设计,使得R2开发和部署变得异常简单。在DDAS以后的机器上,甚至可以实现R2节点的“热插拔”,即在扫描过程中,不需要退出扫描软件或重启重建器,直接修改ruby脚本即可将自己的重建算法插入机器中。这将极大地方便开发者。

▌ 小结

本期推送简要介绍了飞利浦医用磁共振的序列和重建开发环境。这两个开发环境目前都已经集成在了最新版的PARADISE虚拟机里面,用户可以根据自己的需求进行开发。

对于初学者而言,只要记住三个概念即可:PDF用于计算序列,MPF用于执行序列,R2用于重建。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G10WTN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券