一种将dicompyler的图像读取到C++图像类的方法与流程

文档序号:12463123阅读:来源:国知局

技术特征:

1.一种将dicompyler的图像读取到C++图像类的方法,其特征在于,包括如下的步骤:

a、初始化连接器的连接参数;

b、初始化Python解释器,并加载精简后的dicompyler功能模块;

c、获取dicompyler功能模块的图像对象,并获取图像尺寸以及图像模式;

d、利用Python提供的C-API间接触发数据转换函数,将图像数据转换为字符串的形式,并得到经过封装的字符串对象;

e、利用上一步得到的字符串对象以及Python提供的参数解析函数,提取字符串对象的字符串数据,并将字符串数据读入到C/C++的内存数组中;

f、将内存数组的图像数据复制到C++的图像类里面,根据获取的图像尺寸设置图像类的尺寸大小,必要时根据图像模式设置颜色表,最终完成DICOM RT数据的读取。

2.根据权利要求1所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤a中,所述的连接参数就是清单依赖项manifestdependency的参数,包括连接器的类型、名称、版本处理器架构以及公匙的标记。

3.根据权利要求1所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤b中,精简后的dicompyler功能模块包括dicomparser、dvhdoses和dvhcalc三个模块,而加载dicompyler功能模块的步骤,具体包括:

b1、执行初始化函数用以初始化Python解释器;

b2、判断Python解释器是否成功初始化,如果初始化失败,退出程序;否则,继续步骤b3;

b3、执行模块加载函数用以加载功能模块,并得到该模块对象。

4.根据权利要求3所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤c中,获取dicompyler功能模块的图像对象的步骤,具体包括:

c1、利用步骤b3得到的模块对象,提取其中的字典对象;

c2、利用步骤c1得到的字典对象,寻找自定义类的入口,得到一个类接口对象;

c3、实例化步骤c2得到的类接口对象,得到类实例对象;

c4、类实例对象执行图像获取函数即得到图像对象。

5.根据权利要求4所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤d中,将图像数据转换为字符串的形式是通过步骤c4所得到的图像对象的tostring()函数实现的,该函数将数据封装到一个字符串对象中;tostring()函数内部实现步骤,具体包括:

d1、根据字符串对象的数据成员以及图像数据的大小,申请一段大小足够的内存块;

d2、将数据复制到申请的内存块的数据区域。

6.根据权利要求1所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤e中,将字符串数据读入到C/C++的内存数组,具体包括如下步骤;

e1、声明一个指向字符类型的指针;

e2、结合步骤d所得到的字符串对象以及参数解析函数,解析字符串对象,解析完毕之后,步骤e1声明的指针就指向字符串对象的数据内存;

e3、申请一段大小足够的内存空间,将步骤e1声明的指针所指向的数据复制到新开辟的内存空间。

7.根据权利要求1所述的将dicompyler的图像读取到C++图像类的方法,其特征在于,所述的步骤f中,所述的C++的图像类选用CImage、CBitmap或者QImage,设置深度值、颜色表,以完成DICOM RT的数据读取。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1