影像组学之pyradiomics以及Slicer radiomics模块介绍

影像组学(Radiomics)的概念最早由荷兰学者Lambin在2012年提出,是指从医学影像中高通量地提取大量描述肿瘤特征的影像特征,通过机器学习建立预测模型对海量影像特征进行更深层次的挖掘、预测和分析。影像组学作为一种无创的检查方式,可以从医学影像中提取大量肉眼不能看到的图像特征,是一种更为简便的方式,可以用来代替活检来进行预后评估、疗效预测疾病情况。

影像组学分为4步:获取影像数据、对影像数据进行分割、特征提取、建立预测模型。其中特征提取是核心,哈佛医学院计算成像与生物信息学实验室开源了一个可以自动提取影像组学特征的python库——pyradiomics,同时开发了相应的Slicer扩展模块——Radiomics Module。

安装pyradiomics库:python -m pip install pyradiomics

既可以通过python编程来使用pydiomics,也可以通过命令行的方式使用,考虑到医生不太熟悉编程,我在此只介绍命令行的使用方式。在命令行中输入以下命令,其中<path/to/image>为单个影像数据的完整路径, <path/to/segmentation>为单个影像数据对应的分割结果的完整路径,results.csv表示提取到的影像组学特征将会保存在results.csv表格中。输入以下命令后回车稍等几分钟即可,其中影像数据和分割结果支持二维和三维数据,支持DICOM、NII、MHA、等格式。

pyradiomics <path/to/image> <path/to/segmentation> -o results.csv -f csv

3D Slicer中的Radiomics Module需要单独安装,安装后需重启Slicer才能在Module中看到Radiomics。

加载原始图像(Input Image Volume)和分割图像(Input regions),先加载后选择。

对要提取的特征进行手工设置:提取全部特征还是只提取一阶或形状特征;提取之前是否进行二次采样;一阶特征的灰度直方图分区数目等,也可以通过配置文件选择特征,一般选择All Features,然后点击Apply。

之后,就可以得到如下图所示的影像组学特征输出表格。

这个网站的用户体验好差,希望能改进

这个论坛是不懂代码的医生建立的,优化可能不太好,你有什么建议呢?能帮忙改进吗?

https://forum.slicercn.com/t/topic/73

建议外包给专业的网站设计公司,专业的事情交给专业的人去做。

1 个赞

我是完全自己付费建站,大家都赞助点,我看这个建议不错。

3 个赞

我感觉已经很不错了,起码帮我解决了一些问题。3Dslicer官网中latest Communication topics也不过如此。另外有个疑问,3Dslicer提取的特征只有107个,但多数文献提到python提取的特征有110个。这是怎么回事? 谢谢!

我用python程序提取到的就是110个特征,事实上,pyradiomics最多允许提取将近1800个影像组学特征,Params的副本.yaml.zip (849 字节)

这个是我参考官方文档写的配置文件,你在3D Slicer中打开这个配置文件,然后Apply即可。

2 个赞

谢谢回答。我使用您的配置文件时,一直处在working状态,不能显示table.另外,我用楼主的方法一共生成140个特征,shape从34开始,一共只有107个特征。是否是Resampling and Flitering和setting没有设置引起的。非常希望有人能解答我的困惑。

我上传的配置文件是可以提取1800个左右的特征,处理速度比较满,所以一直在working状态。