本发明属于生物医学图像处理领域,更具体地,涉及适用于生物医学图像的批量读写方法及大数据制作方法。
背景技术:
1、生物医学三维图像数据大数据格式的制作,是对原始图像序列,进行不同分辨率切片,大数据格式0级为最高分辨率,三维块数量最多,每递增1级,由上一级x、y、z三个方向的两两三维块合并,然后三个方向各下采样2倍,生成一个新的三维块,分辨率降低8倍,三维块数量减少8倍。三维块便于后续可视化时进行快速虚拟坐标块访问,多分辨率用于可视化交互时大视野用低分辨率图像,小视野用高分辨率图像,从而满足实时三维交互的可视化需求。
2、如图1所示,整个生物医学大数据制作过程分为读取原始图像序列,原始图像序列多分辨切块得到若干个三维小块,所有三维小块压缩写入到磁盘。目前,生物医学图像数据的读写方案中,对于单幅图像主要采用串行读解的方式,当前流行的用于生物医学大数据制作的软件,如vaa3d、n5等,即采用这种生物医学图像读写方案。而生物医学领域,原始图像序列每张图往往较大,采用现有的读写方案读取单张生物医学图像需要几秒甚至几十秒,效率很低,数据写入也存在着同样的问题。这严重影响了生物医学大数据的制作。
3、针对生物医学图像数据的读写效率低的问题,有研究人员提出了并行这一概念来提升图像读写效率,即利用多线程同时处理多个图像块,相比于串行方案,并行方案一定程度上能够提高生物医学图像的读写效率,但是,由于这些方法中,同一个图像块的读取和解码操作是一个不可分割的操作,因此这些方法只能在cpu层面对批量图像进行并行处理,使用硬盘读取图像的效率依然很低,写入图像也存在同样的问题。
4、总体而言,现有的生物医学图像的读、写效率仍有待进一步提高。
技术实现思路
1、针对现有技术的缺陷和改进需求,本发明提供了适用于生物医学图像的批量读写方法及大数据制作方法,其目的在于,充分利用硬盘和cpu的硬件特性,有效提升生物医学图像大数据的读写效率。
2、为实现上述目的,按照本发明的一个方面,提供了一种适用于生物医学图像的批量读写方法,包括:图像数据读取步骤;图像数据读取步骤包括:
3、创建nr个数据读取线程、n1个解码线程以及一个解码任务分配线程;
4、确定硬盘中待读取的一个或多个小区域,作为目标区域,同时,使解码任务分配线程在内存中创建用于存储解码后的图像块的图像空间,并划分得到多个解码子任务,每一个解码子任务对应一个或多个图像块;小区域为压缩后的图像块,可独立解码;
5、利用nr个数据读取线程依次连续读取目标区域,同时,使n1个解码线程并行地获取并执行解码子任务;依次连续读取包括:当前数据读取线程完成当前目标区域的读取后,另一个数据读取线程即开始下一个目标区域的读取;对于每一个解码线程,执行解码子任务包括:在解码子任务对应的图像块被读取到内存后,将其解码到图像空间中对应的位置处,在解码子任务处理完成后,获取下一个解码子任务;
6、其中,nr为大于等于2的整数,n1为正整数。
7、进一步地,nr=2。
8、进一步地,n1为cpu处理器个数。
9、进一步地,本发明提供的适用于生物医学图像的批量读写方法,还包括:图像数据写入步骤;图像数据写入步骤包括:
10、创建nw个数据写入线程、n2个编码线程以及一个编码任务分配线程;
11、利用编码任务分配线程将待写入的图像数据划分为多个图像块,每个图像块作为一个独立的编码任务,且编码好的图像块大小与一个小区域大小相同;
12、使n2个编码线程并行地获取并执行编码任务,以对各图像块进行编码,同时,使nw个数据写入线程依次连续写入编码好的图像块;对于每一个编码线程,执行编码任务包括:获取编码任务对应的图像块并进行编码,将编码好的图像块保存在内存中,当前编码任务执行完成后,获取下一个编码任务;依次连续写入包括:当前数据写入线程将编码好的图像块写入硬盘后,下一个数据写入线程即开始写入下一个编码好的图像块;
13、其中,nw为大于等于2的整数,n2为正整数。
14、进一步地,nw=2。
15、进一步地,n2为cpu处理器个数。
16、按照本发明的又一个方面,提供了一种适用于生物医学图像的批量读写系统,包括:
17、第一计算机可读存储介质,用于存储计算机程序;
18、以及第一处理器,用于读取第一计算机可读存储介质中的计算机程序,执行本发明提供的适用于生物医学图像的批量读写方法。
19、按照本发明的又一个方面,提供了一种基于上述适用于生物医学图像的批量读写方法的生物医学大数据制作方法,包括:
20、利用图像数据读取步骤从硬盘中的原始图像序列中读取所需的图像部分,拼接得到三维图像块;
21、利用图像数据写入步骤将三维图像块写入硬盘。
22、按照本发明的又一个方面,提供了一种生物医学大数据制作系统,包括:
23、第二计算机可读存储介质,用于存储计算机程序;
24、以及第二处理器,用于读取第二计算机可读存储介质中存储的计算机程序,执行本发明提供的生物医学大数据制作方法。
25、总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
26、(1)本发明在读取生物医学图像数据时,通过多个数据读取线程和多个解码线程的协同作用,实现了硬盘操作和cpu操作的分离,多个数据读取线程实现了对硬盘的依次连续读取,能够充分利用硬盘的硬件特性,同时,多个解码线程并行地对读取到内存中的图像块进行解码操作,可以利用cpu中各个处理器的并行计算能力;因此,本发明能够充分利用硬盘和cpu各自的硬件特性,有效提高生物医学图像的读取效率。
27、(2)本发明在写入生物医学图像数据时,通过多个数据写入线程和多个编码线程的协同作用,实现了硬盘操作和cpu操作的分离,多个编码线程并行地对内存中的图像块进行编码操作,由此能够利用cpu中各个处理器的并行计算能力,同时,多个数据写入线程实现了对硬盘的依次连续写入,能够充分利用硬盘的硬件特性;因此,本发明能够充分利用硬盘和cpu各自的硬件特性,有效提高生物医学图像的写入效率。
28、(3)在本发明的优选方案中,设置数据读取线程/数据写入线程的数量为2,由此能够在确保实现对硬盘的依次连续读取/依次连续写入的情况下,降低线程管理的cpu开销。
29、(4)在本发明的优选方案中,设置解码线程/编码线程的数量与cpu中处理器个数相同,由此能够最大程度上利用cpu的并行计算能力,并避免出现空闲的解码线程/编码线程。
1.一种适用于生物医学图像的批量读写方法,其特征在于,包括:图像数据读取步骤;所述图像数据读取步骤包括:
2.如权利要求1所述的适用于生物医学图像的批量读写方法,其特征在于,nr=2。
3.如权利要求1所述的适用于生物医学图像的批量读写方法,其特征在于,n1为cpu处理器个数。
4.如权利要求1~3任一项所述的适用于生物医学图像的批量读写方法,其特征在于,还包括:图像数据写入步骤;所述图像数据写入步骤包括:
5.如权利要求4所述的适用于生物医学图像的批量读写方法,其特征在于,nw=2。
6.如权利要求4所述的适用于生物医学图像的批量读写方法,其特征在于,n2为cpu处理器个数。
7.一种适用于生物医学图像的批量读写系统,其特征在于,包括:
8.一种基于权利要求4~6任一项所述的适用于生物医学图像的批量读写方法的生物医学大数据制作方法,其特征在于,包括:
9.一种生物医学大数据制作系统,其特征在于,包括:
