python能处理jpg图像文件_一种基于python实现医学图像文件连续转换成jpg映像文件的方法与流程...

本发明涉及python应用与开发技术领域,具体涉及一种基于python实现医学图像文件连续转换成jpg映像文件的方法。

背景技术:

随着医疗科技的发展,dicom被广泛应用于放射医疗、心血管成像以及放射诊疗诊断设备上,并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。在数以万计的在用医学成像设备中,dicom是部署最为广泛的医疗信息标准之一。当前大约有百亿级符合dicom标准的医学图像用于临床使用。但对于病患及医学系学生来说,dicom格式的图像文件需要特定的程序才能打开,在各种生活情景中造成了各种不便。

本发明结合python编程技术开创了一种简单快捷,成熟的图像转换方法,针对目前越来越广泛使用的医学图像文件,解决了其需要特定程序才能打开的不便,并且提供了连续转换的便利功能,达到提高医学图像文件易使用性,易转换性的作用。

技术实现要素:

本发明结合python编程技术开创了一种简单快捷,成熟的图像转换方法,针对目前越来越广泛使用的医学图像文件,解决了其需要特定程序才能打开的不便,并且提供了连续转换的便利功能,达到提高医学图像文件易使用性,易转换性的作用。

本发明解决上述技术问题的技术方案是:

所述的方法包含以下几个步骤:

步骤一:根据程序运行需求,导入所需的模块;

步骤二:环境的初始化,包括变量,路径等;

步骤三:图像转换核心代码的撰写;

步骤四:图像转换关键方法的撰写;

步骤五:转换成功的图像的路径拼接及显示。

所述的步骤一中,根据程序运行需求,导入所需模块的具体步骤如下:

(1)导入基于itk内核的python封装层:simpleitk模块;

(2)导入支持高级大量的维度数组与矩阵运算的模块:numericalpython(numpy)模块;

(3)导入用以链接opencv的模块:cv2模块;

(4)导入用以实现与具体平台无关的操作系统功能的os模块;

(5)导入图像处理模块:image模块;

(6)导入时间模块:time模块。

所述的步骤二中,环境的初始化的具体步骤如下:

(1)设置计数器counter,令它为1;

(2)设置要转换的医学图像文件的路径,比如:path="/users/test";

(3)使用os.listdir()方法,将括号中路径下包含的文件或文件夹的名字的列表返回给filename,比如:filename=os.listdir(path);

(4)输出filename的内容到屏幕上,给用户确认列表中的文件是否就是要转换的全部医学图像文件。

所述的步骤三中,图像转换核心代码的撰写的具体步骤如下:

(1)用一条判断语句实现代码的合理调用:if__name__=='__main__';

实现了当该模块被直接运行时,才允许运行之后的语句;

(2)写一个for()循环,并且读取dicom文件的相关信息;

(3)获取dicom文件的array:用simpleitk读取图像数据的坐标顺序zyx,具体的数据格式类似于(1,height,width)的形式,比如:img_array=sitk.getarrayfromimage(ds_array);

(4)设置中间变量temp,将图像的array信息赋给temp;

(5)获取array中的height和width,并将其中最大的值赋给中间变量high,其中最小的值赋给中间变量low;

(6)调用图像转换的关键方法,比如:transform_to_jpg(img_array,low,high,output_path);

(7)实现了图像的转换,输出提示信息'finished'。

所述的步骤四中,图像转换关键方法的撰写的具体步骤如下:

(1)调用np.array()方法,构建一个图像数据信息的数组;

(2)对数组中的每一个数据进行处理变换,方法为:transform=(img-array[0])/(array[1]-array[0]);

(3)将像素值范围设置为[0,255],且数据类型转换成astype;

(4)调用cv2模块的imwrite()方法,四个输入参数分别为:图像的array信息,中间变量high,low的值,转换的输出路径。

所述的步骤五中,转换成功的图像的路径拼接及显示的具体步骤如下:

(1)设置输出文件夹的路径,比如:outputpath="/users/output/";

(2)设置每一个转换成功的jpg文件的文件名,第一个为1,下一个累加一,为二,以此类推;

(3)在文件名之后加上jpg文件的后缀名,比如fullname=firstname+'.jpg';

(4)将jpg文件的文件名及文件夹路径合并在一起输出到屏幕上。

本发明结合python编程技术开创了一种简单快捷,成熟的图像转换方法,针对目前越来越广泛使用的医学图像文件,解决了其需要特定程序才能打开的不便,并且提供了连续转换的便利功能,达到提高医学图像文件易使用性,易转换性的作用。

附图说明

下面结合附图对本发明进一步说明:

图1是本发明方法流程图。

具体实施方式

如图1所示,本发明具体包含以下几个步骤:

步骤一:根据程序运行需求,导入各种所需的模块:simpleitk模块,numpy模块,cv2模块,os模块,time模块,image模块;

步骤二:环境的初始化,包括:计数器变量的初始化,待转换文件路径的设置,待转换文件列表的读取,待转换文件列表的输出;

步骤三:用一条判断语句实现代码的合理调用:if__name__=='__main__';

实现了当该模块被直接运行时,才允许运行之后的语句;

步骤四:写一个for()循环,并且读取dicom文件的相关信息;

步骤五:获取dicom文件的array:用simpleitk读取图像数据的坐标顺序zyx,具体的数据格式类似于(1,height,width)的形式,比如:img_array=sitk.getarrayfromimage(ds_array);

步骤六:设置中间变量temp,将图像的array信息赋给temp;

步骤七:获取array中的height和width,并将其中最大的值赋给中间变量high,其中最小的值赋给中间变量low;

步骤八:调用图像转换的关键方法,比如:transform_to_jpg(img_array,low,high,output_path);

步骤九:实现了图像的转换,输出提示信息'finished';

步骤十:调用np.array()方法,构建一个图像数据信息的数组;

步骤十一:对数组中的每一个数据进行处理变换,方法为:transform=(img-array[0])/(array[1]-array[0]);

步骤十二:将像素值范围设置为[0,255],且数据类型转换成astype;

步骤十三:调用cv2模块的imwrite()方法,四个输入参数分别为:图像的array信息,中间变量high,low的值,转换的输出路径;

步骤十四:先设置输出文件夹的路径,比如:outputpath="/users/output/";

步骤十五:设置每一个转换成功的jpg文件的文件名,第一个为1,下一个累加一,为二,以此类推;

步骤十六:在文件名之后加上jpg文件的后缀名,比如fullname=firstname+'.jpg';

步骤十七:将jpg文件的文件名及文件夹路径合并在一起输出到屏幕上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值