CN101387958B - 一种图像数据的处理方法及装置 - Google Patents
一种图像数据的处理方法及装置 Download PDFInfo
- Publication number
- CN101387958B CN101387958B CN2008101702985A CN200810170298A CN101387958B CN 101387958 B CN101387958 B CN 101387958B CN 2008101702985 A CN2008101702985 A CN 2008101702985A CN 200810170298 A CN200810170298 A CN 200810170298A CN 101387958 B CN101387958 B CN 101387958B
- Authority
- CN
- China
- Prior art keywords
- node
- image data
- data
- image
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 184
- 230000008569 process Effects 0.000 claims abstract description 148
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000005516 engineering process Methods 0.000 claims abstract description 23
- 230000000875 corresponding effect Effects 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 7
- 238000012800 visualization Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000003825 pressing Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 7
- 230000018109 developmental process Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种图像数据的处理方法,设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;所述方法还包括:流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与当前节点类型相匹配的组件;基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。解决了有多方向的分析需求时图像处理效率低的问题,提高了处理效率。具备大规模数据I/O机制和流程并发机制的软件框架比传统的图像处理与分析软件在运行性能上有很大的提升。本发明还公开了一种图像数据处理装置。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别涉及一种图像数据的处理方法及装置。
背景技术
计算机图像处理技术在生物信息、遥感航空、工业应用、军事公安及其他领域有着广泛应用。特别是在医学、气候、生物等科学研究应用中,科研人员面对的图像处理与分析的复杂性和图像数据量不断增大,因此,工作流技术在研究应用中的优势逐渐显现出来。
计算机图像理解领域综合了计算机视觉、数学、信号分析、人工智能等学科的方法。为实现图像理解目的,科研人员需要掌握大量基础技术知识,这就需要有强大的图像处理与分析工具提供支持;一个健壮、精确性高的图像处理软件的开发在很大程度上依赖于计算机视觉技术和图像处理的结合,因此,应用开发者也需要丰富的专业、高质量、易用的支持图像处理与分析的开发工具。
医学领域的图像存在多模态、分辨率高的特点,并且随着医疗设备的不断发展,医学图像数据量也越来越大,严重影响医学图像应用软件的计算效率和诊断准确性。计算机辅助诊断软件通常需要经过图像增强、分割、检测、分类和可视化等多种技术相互融合才能共同完成对图像中病灶的识别,因此,在软件开发和应用方面,科研人员和医生需要一个功能灵活和支持复用的医学图像理解环境。本发明的面向医学图像理解的工作流模型为解决上述问题提供了有效的解决方法,提出了一种工作流模型的定义、创建和调度方法与技术,提高了应用软件的开发效率。
工作流模型在设计上根据工作流模式(或执行任务的时间顺序关系)可以分为有向无环图和非有向无环图两类。有向无环图工作流模式包括序列、并发和选择模式;非有向无环图工作流模式在前者的基础上增加了迭代模式即循环模式,这种模式在科学应用是比较常见的。通过上述几种简单的工作流模式可以组合完成一个复杂的工作流,以及子流程的应用可以形成大规模的工作流流程。根据模型组合方式,工作流模型可分为基于语言的建模和基于图的建模。基于语言的建模方法有标记语言等;基于图的建模有Petri网等。
工作流引擎是一个工作流系统运行的核心部分,是工作流流程的执行单元,对应WFMC参考标准的流程引擎。工作流调度根据架构方式可以分为集中结构、层次结构和分布结构。集中结构易于实现,流程中的所有控制信息和数据信息都用统一的结构处理,每一个任务具有相同的目标;层次结构有一个主执行单元,下属若干个子执行单元,主执行单元控制流程的运行,并分配任务给子执行单元;分布结构在实现上比较困难,每一个执行单元相互独立,没有主控制管理者,执行单元之间通信协商完成流程执行。工作流调度运行中节点会产生结果数据,根据数据的传递方式可以将调度分为三类:集中型、中继型和端到端型。集中型管理方式中间数据传递有一个集中位置,节点执行完毕通过该位置将结果传递给下一个节点;中继型管理方式根据实际的需要会将每一个中间结果数据都保留下来,比如中间结果后来需要使用;端对端型管理方式直接将数据从源位置传递到目标位置,没有任何第三方服务,比较适合大规模数据量。
以医学图像为例,现有的对图像的处理方法通常是:提取某图像的图像数据,根据实际业务需求对图像数据进行算法处理后给出图像处理结果。当需要对该图像数据进行多方向的分析时,需要依次顺序重复前述提取及算法处理的步骤,并依次给出图像处理结果,直到完成对所有需求的处理。多个处理结果不能同时显示,每次只能显示一个结果。如果对某些图像有特殊的处理需求,则要根据需求重新开发软件模块。
可见,现有的对图像处理过程中,当有多方向的分析需求时,只能依次处理,处理效率很低。而且,多个处理结果不能同时显示,每次只能显示一个结果,不能满足用户需要同时显示多结果的需求。需要经常性的重新开发软件模块,以应对不断发展的新需求,应用很不方便,软件开发效率低、复用性差。
发明内容
本发明要解决的技术问题是提供一种图像数据的处理方法及装置,以解决有多方向的分析需求时图像处理效率低的问题。
本发明实施例提供了一种图像数据的处理方法,包括设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;所述方法还包括:
流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与当前节点类型相匹配的组件;
基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
其中,所述流程引擎获得当前节点的图像数据处理结果后,进一步包括:遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。
其中,所述遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的结果图像数据的步骤具体包括:
i)确定当前节点有输出端口后,将所述当前节点压入流程执行栈;
ii)判断所述流程执行栈是否为非空,若是,则执行步骤iii),否则结束;
iii)获取所述流程执行栈中的栈顶节点;
iv)判断所述栈顶节点的输出端口是否存在没有处理的关联,若是,则将所述存在关联的输出端口的数据传递给与该端口关联的关联节点,然后执行步骤v);否则,检查当前节点是否存在下一个输出端口,若存在,执行步骤vii),若不存在执行步骤ii);
v)流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与所述关联节点类型相匹配的组件;基于内存数据库技术运行所述流程实例,利用前述组件生成所述关联节点的图像数据处理结果;
vi)在对关联节点的数据处理正确,且所述关联节点存在输出端口时,将所述关联节点压入流程执行栈,然后返回步骤ii);
vii)当前节点出栈。
其中,所述基于内存数据库技术运行所述流程实例,生成节点的图像数据处理结果的步骤具体包括:
获取内存中的数据管理器,根据流程实例的标识ID加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;
根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象;
从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据;
将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据;将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
其中,所述节点包括任务型、可视化型、逻辑型和子流程型四种类型。
其中,所述流程模板创建完毕后,进一步包括:对所述流程模板进行校验。
其中,所述校验包括静态校验和动态校验。
本发明实施例还提供了一种图像数据的处理装置,包括:
构建单元,用于设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;
流程实例生成单元,用于根据满足应用要求的流程模板生成对应的流程实例;
组件获取单元,用于取所述流程实例中与当前节点类型相匹配的组件;
图像数据处理单元,用于基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
其中,还包括:遍历单元,用于遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。
其中,所述图像数据处理单元包括:
影像数据获取单元,用于获取内存中的数据管理器,根据流程实例的标识ID加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;
影像信息对象处理单元,用于根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象;
计算单元,用于从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据;
影像数据存入单元,将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据;将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
应用本发明,流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与当前节点类型相匹配的组件;基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
本发明解决了有多方向的分析需求时图像处理过程快速构建的问题,提高了软件开发效率;由于利用已有的组件,软件复用性好。
采用本发明的软件框架,由于利用内存数据库技术管理大规模图像数据,因而具备大规模图像的I/O特性,加之软件框架自身具备的流程并发机制,从而在运行性能上本软件框架比传统的图像处理与分析软件有很大的提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的流程模型的形成示意图;
图2是根据本发明实施例的对流程模型进行静态校验的流程图;
图3是根据本发明实施例的图像数据处理过程示意图;
图4是根据本发明实施例的图像数据处理方法流程图;
图5是图4中步骤403的具体实现流程图;
图6基于内存数据库技术运行所述流程实例,生成节点的图像数据处理结果的具体实现流程图;
图7是根据本发明实施例的一个具体应用实例;
图8是根据本发明实施例的图像数据的处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明采用的是基于标记语言和图形相结合的建模方法。
依据图像理解的实际需求和领域知识,本发明实施例提供了一种工作流模型,具体如下:
本发明实施例的工作流模型采用了数据流模型,并在实现上采用了有向无环图方式。该模型可以划分为三个层次:概念层、逻辑层和物理层。概念层表达了图像理解需要的图像数据来源、处理和分析过程和结果的可视化,以及执行的时间顺序关系;逻辑层表达了任务执行的软件实体,比如数据连接、程序调用接口、组件位置等;物理层表达了组件运行的物理空间与实体。本发明实施例的工作流模型用形式化方式表述如下:
流程可以表达为:P=<N,L>,P表示流程(Process),N={n1,n2,...,ns}为流程中节点的集合,L={l1,l2,...,ls}为流程中连接弧的集合,其中ni=(nj,nk)为从nj指向nk的连接弧,nj,nk∈N。对于ni,nj∈N,若有l=(ni,nj)∈L,则ni为nj的一个前驱节点,nj为ni的一个后继节点,1称为nj的一条输入连接弧或ni的一条输出连接弧。若N’∈N,且N’={n’|(n’,n)∈L},则N’为节点n的前驱节点集,记为Pre(n);若N’∈N,且N’={n’|(n,n’)∈L},则N’为节点n的后继节点集,记为Post(n)。流程中的节点代表活动,连接弧代表活动间的顺序关系,同时代表了节点间的参数传递。
流程节点类型分为任务节点、可视化节点、逻辑节点和子流程节点,分别描述如下。
1)任务节点完成具体的计算过程,是原子级的节点,如执行数据加载、图像处理算法等。任务节点根据是否有用户参与分为自动和手动两类。自动型活动节点,不需要用户的参与,直接由系统激活来完成工作任务。手动节点需要用户的参与,用户输入相应的指令和参数后流程会继续运行;
2)可视化节点完成图像的显示,根据不同数据结构类型显示相应的结果,并根据预期的方式展示结果;
3)逻辑节点控制流程中数据流的流向。逻辑节点对应流程的工作流模型中的基本路由包括或连接(XOR_JOIN)、或分支(XOR_SPLIT)、与连接(AND_JOIN)和与分支(AND_SPLIT)四种;
4)子流程节点是一个完整流程的封装。它是非原子级的节点,代表一个实际的执行流程,一般是一个比较复杂的流程或是一个循环结构,该节点实体是一个流程的封装体。子流程节点既可以是自动型的活动节点,也可以是手动型的活动节点,这依赖于节点的组件实体。
流程中连接模型定义为序偶对(Ni,Nj),表示从Ni指向Nj的有向弧,Ni为Nj的前驱节点,Nj为Ni的后继节点。连接弧用来表示流程的流向,是模型中的重要组成元素。本模型不区分控制连接弧和数据连接弧,每个连接弧都体现了流程的控制逻辑,节点间的时序关系,只有当前驱节点执行完毕,经过连接弧的转移,后继节点才允许被执行,同时连接弧还在两个节点之间建立了一种数据输入—输出关系,即前驱节点的输出数据作为后继节点的输入数据。
工作流模型包含了流程模型和被流程模型应用的组件,组件由基本模块构成,所述基本模块可以是自主开发的,也可以是第三方提供的;所述基本模块被封装为组件,而流程模型是由组件构成的。由于每个组件对应一种类型的节点,因而每个流程模型也对应一种类型的节点。参见图1,其是根据本发明实施例的流程模型的形成示意图。其中,图中的第三方模块表示第三方提供的,图中的自有模块表示自主开发的,可见,由基本模块可以构成多个组件,而组件又构成了流程模板。
本发明实施例根据流程模型设计了自动驱动型流程运行脚本定义语言(Image Process Definition Language,IPDL),IPDL是基于XML标记语言。IPDL功能就是将基本模块组织起来并形成可以协作的数据流网络。
流程模型在IPDL语言中定义为:
<process id=“001”name=“LungSeg”author=“Liw”date=“2007-5-15”/>
<node id=”001”,subnode=”Task”/>
</process>
<process>标签是流程模板的根标记,id用来标识流程,name代表了流程的名称,author代表流程创建者,date代表流程创建时间。<node>节点中id代表节点的标识,subnode代表该节点是否是子流程节点,因为子流程节点不是一个非原子节点,工作流调度的过程不一致。<node>节点结构由<component>、<display>、<parameters>、<position>、<prenodelist>和<postnodelist>构成。<parameters>定义该节点的参数,节点运行的默认配置参数,包括参数的名称和参数值。<prenodelist>和<postnodelist>两个结构定义了该节点的前置节点集合和后置节点集合,表达了流程中的链接信息,该链接信息包含了节点的标识、输入端口和输出端口。<component>表示一个组件,<display>表示节点名称,用户可以更改流程模板中这个显示名称,<position>表示节点在显示时的坐标位置。
IPDL语言中一个可以被工作流调度的组件定义为:
<component id=”SegThred”name=“Segmentation based threshold”type="task"/>
Id是组件的标识,name为组件的名称,type表示了组件的类型。一个组件由<instance>、<mapfile>、<interface>和<fields>组成。其中<instance>表示了组件实例(程序体),<mapfile>表示了如果该组件是非原子组件(子流程组件),那么该标记定位了组件映射位置。映射结构分别描述了组件的域映射、端口映射和节点参数映射。<Interface>表示组件的输入或者输出接口;<fields>表示组件的参数域。
通过上述的定义模型和语言,可以定义任何图像处理、分析的过程,流程用IPDL语言描述表示之后即可被调度并执行。
流程模型定义完毕后需经过流程模型校验以检查其正确性。流程模型校验是指流程建模工具定义流程过程中节点之间建立连接弧正确性验证,分为静态验证和动态验证,静态的校验指流程中节点连接的合法性校验,动态校验指在流程引擎中运行正确性的合法性校验。参见图2,流程模型的静态校验主要包括如下几个步骤:
步骤201,判断端口的连接弧个数。输入端口只能有一条连接弧,输出端口可以有任意数目的连接。在这一步中,可以根据端口的方向和已经存在的连接弧个数,判断连接的合法性;
步骤202,判断连接的端口类型。只有类型相同且方向相反的端口可以互相连接。所以,在建立连接之前,要判断两个端口的类型,如果满足条件,则允许建立连接,否则,连接失败;
步骤203,判断端口的数据类型。在算法组件库中,根据端口实际的数据类型,又对每种类型的端口进行了细分,如控制端口分成了整型、浮点型、整型数组等,只有数据类型相同的节点才能互相连接;
步骤204,判断连接是否构成回路。流程中不应该存在环路(子流程除外),所有的环路(循环结构)都封装在子流程节点中。所以在添加连接弧时,如果发现构成了环路,则判断环路流程中是否包含循环结构,如果包含,则询问用户是否封装为子流程节点,如果不是则认为连接非法。
通过以上的四个步骤可以完成模型的静态校验。
图3是根据本发明实施例的图像数据处理过程示意图。图中上半部分是系统的操作,下半部分是用户的操作。
步骤1~2,对于系统态,设置组件库,由所述组件库中的组件构建流程模板;对于用户态,用户可以从组件库中取出组件放入定义工具视图中,将组件连接起来,形成IPDL语言定义的流程模板。
步骤3~4,对于系统态,流程引擎根据流程模板,生成流程实例;对于用户态,用户将流程模板部署到流程引擎中,以用于生成流程实例,此时,用户还可以对组件所对应的参数进行设置,如输入数据的来源等。
步骤5,对于系统态,流程引擎执行流程;对于用户态,用户可以查看流程引擎运行中产生的信息。
步骤6,对于系统态,流程引擎处理完毕生成图像数据处理结果;对于用户态,用户可以查看流程运行结果,该结果可以是可视化的界面的图像数据,也可以是存储到文件中的结果数据。
图4所示为根据本发明实施例的图像数据处理方法流程图。在本流程执行之前,已设置了组件库,且由所述组件库中的组件构建了流程模板,由于每个组件对应一组节点,因而每个流程模板对应一组节点。该流程包括如下步骤:
步骤401,流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与当前节点类型相匹配的组件。
上述当前节点可以认为是一个流程实例的起始节点。一个应用要求所对应的整体流程中可以有多个起始节点即没有输入的节点;多个流程实例可以在一个视图上定义并执行;一个节点的输入端口的关联数为0或1,但是输出端口的关联数可以是0或N(N为自然数)。
流程引擎需要遍历节点列表以寻找起始节点,每找到一个,引擎便会从该节点开始执行流程,执行结束后流程引擎会继续寻找下一个起始节点,依此类推。
步骤402,基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
至此,实现了对当前节点的图像数据的处理。为了进一步对与当前节点相关联的节点进行处理,需要遍历该当前的关联节点。因此,还包括:
步骤403,遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。本步骤的具体处理流程如图5所示。
参见图5,其是图4中步骤403的具体实现流程图,即根据本发明实施例的遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果的流程图。本流程是在前述步骤402中对当前节点的数据进行了正确处理的前提下执行的,如果前述步骤402中对当前节点的数据处理不正确如出现异常情况等,则不存在本流程。
步骤501~502,确定当前节点(CurNode)有输出端口后,将所述当前节点压入流程执行栈(RunStack)。如果当前节点不存在输出端口则直接结束。
步骤503,判断所述流程执行栈是否为非空,若是,则执行步骤504,否则结束。
步骤504,获取所述流程执行栈中的栈顶节点(TopNode)。
步骤505,判断所述栈顶节点的输出端口是否存在没有处理的关联,若是,则执行步骤506,否则,执行步骤509。
步骤506,将与所述栈顶节点存在关联的输出端口的数据传递给与该端口关联的关联节点(RelNode),然后执行步骤507。
步骤507,流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与所述关联节点类型相匹配的组件;基于内存数据库技术运行所述流程实例,利用前述组件生成所述关联节点的图像数据处理结果。
步骤508,判断在对关联节点的数据处理是否正确,且所述关联节点是否存在输出端口,若均为是,则执行步骤509,否则返回步骤503。
步骤509,将所述关联节点压入流程执行栈,然后返回步骤503。
步骤510,检查当前节点是否存在下一个输出端口,若存在,执行步骤511,若不存在执行步骤503。
步骤511,当前节点出栈,然后返回步骤503。
通过执行上述流程即可遍历单棵树上的所有关联节点。本发明实施例对单棵多叉树的执行采用的是树的深度优先搜索算法,其中的剪枝条件是,当某个节点没有对数据进行正确处理时,引擎便不会继续执行该节点的后继节点。
图像数据尤其是医学图像数据(如CT/MR等)通常由大量的切片数据组成,在系统中占据大量的内存空间,会影响系统的运行效率;再者,流程引擎对同一组数据流程执行中在每一个节点上都有一份处理后的数据(流程运行的必要),况且流程会并发执行,因此占用的空间更大。因此,对内存中的大量图像数据的有效数据管理是流程执行引擎的重要方面。因而本发明实施例还提供了一种高效、大规模内存数据的处理机制---基于内存数据库技术的运行流程实例,生成节点的图像数据处理结果的方法。
参见图6,其是图4的步骤402以及图5的步骤507中基于内存数据库技术运行所述流程实例,生成节点的图像数据处理结果的具体实现流程图。包括如下步骤:
步骤601,获取内存中的数据管理器,该数据管理器中包括流程实例的标识(ID)和与该标识对应的影像数据;
步骤602,根据流程实例的标识(ID)加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;所述头部数据包括如影像的高、宽等属性信息。
步骤603,根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象。
步骤604,从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据。本步骤中的计算可以是根据应用的需要所进行的任何计算,如Sobel算子处理结果,或经小波分解后再进行直方图均衡计算等等。
步骤605,将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据。
步骤606,将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
上述基于内存数据库技术的运行流程实例,生成节点的图像数据处理结果的方法既适用于并发运行中的数据管理,也适用于针对单个流程内部的数据管理。它最高可以支持256TB数据的管理。
参见图7,其是根据本发明实施例的一个具体应用实例。从该图中可以看到有三个流程(A、B和C),三个流程的输入数据都是标号1的原始CT图像:
A流程完成了图像边缘检测,结果图标号2为Sobel算子处理结果,3为Roberts算子处理结果;
B流程完成图像的增强处理和特征提取,4为经过小波分解后的高频图像经过直方图均衡增强结果,5为图像的纹理共生矩阵特征;
C流程完成了CT图像疑似结节的检测,6为标定出的疑似结节区域(图中白色圆圈)。
在图7所示实例中是以三个流程并行运行为例,在实际应用中,可以只是其中一个流程或有更多的流程并行运行。
本发明实施例还提供了一种图像数据的处理装置,参见图8,包括:
构建单元801,用于设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;
流程实例生成单元802,用于根据满足应用要求的流程模板生成对应的流程实例;
组件获取单元803,用于取所述流程实例中与当前节点类型相匹配的组件;
图像数据处理单元804,用于基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
所述装置还包括:遍历单元805,用于遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。
上述图像数据处理单元804还可以包括:
影像数据获取单元8041,用于获取内存中的数据管理器,根据流程实例的标识ID加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;
影像信息对象处理单元8042,用于根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象;
计算单元8043,用于从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据;
影像数据存入单元8044,将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据;将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
本发明实施例中提出的工作流模型和调度方法很好地满足了图像理解的基本要求,具有很强的实用性和适用性。该模型可以将任何一个图像理解的需求过程表达出来。本发明提出的基于组件的图像理解框架为图像处理与分析软件的开发和快速原型提供了有力的开发支撑工具,节省了开发的成本,提高了开发效率,支持良好的软件复用机制。同时,具备大规模数据I/O机制和流程并发机制的软件框架比传统的图像处理与分析软件在运行性能上有很大的提升。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种图像数据的处理方法,其特征在于,设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;所述方法还包括:
流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与当前节点类型相匹配的组件;
基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
2.根据权利要求1所述的方法,其特征在于,所述流程引擎获得当前节点的图像数据处理结果后,进一步包括:遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。
3.根据权利要求2所述的方法,其特征在于,所述遍历当前节点的所有输出端口,获取与所述当前节点输出端口存在关联的关联节点,以及所述关联节点的结果图像数据的步骤具体包括:
i)确定当前节点有输出端口后,将所述当前节点压入流程执行栈;
ii)判断所述流程执行栈是否为非空,若是,则执行步骤iii),否则结束;
iii)获取所述流程执行栈中的栈顶节点;
iv)判断所述栈顶节点的输出端口是否存在没有处理的关联,若是,则将所述存在关联的输出端口的数据传递给与该端口关联的关联节点,然后执行步骤v);否则,检查当前节点是否存在下一个输出端口,若存在,执行步骤vii),若不存在执行步骤ii);
v)流程引擎根据满足应用要求的流程模板生成对应的流程实例,获取所述流程实例中与所述关联节点类型相匹配的组件;基于内存数据库技术运行所述流程实例,利用前述组件生成所述关联节点的图像数据处理结果;
vi)在对关联节点的数据处理正确,且所述关联节点存在输出端口时,将所述关联节点压入流程执行栈,然后返回步骤ii);
vii)当前节点出栈。
4.根据权利要求1或3所述的方法,其特征在于,所述基于内存数据库技术运行所述流程实例,生成节点的图像数据处理结果的步骤具体包括:
获取内存中的数据管理器,根据流程实例的标识ID加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;
根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象;
从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据;
将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据;将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
5.根据权利要求1所述的方法,其特征在于,所述节点包括任务节点、可视化节点、逻辑节点和子流程节点四种类型;其中,
所述任务节点完成具体的计算过程,是原子级的节点;
所述可视化节点完成图像的显示,根据不同数据结构类型显示相应的结果,并根据预期的方式展示结果;
所述逻辑节点控制流程中数据流的流向;
所述子流程节点是一个完整流程的封装,是非原子级的节点,代表一个实际的执行流程。
6.根据权利要求1所述的方法,其特征在于,所述流程模板创建完毕后,进一步包括:对所述流程模板进行校验。
7.根据权利要求6所述的方法,其特征在于,所述校验包括静态校验和动态校验。
8.一种图像数据的处理装置,其特征在于,包括:
构建单元,用于设置组件库,由所述组件库中的组件构建流程模板,每个流程模板对应一组节点;
流程实例生成单元,用于根据满足应用要求的流程模板生成对应的流程实例;
组件获取单元,用于获取所述流程实例中与当前节点类型相匹配的组件;
图像数据处理单元,用于基于内存数据库技术运行所述流程实例,利用前述组件生成所述当前节点的图像数据处理结果。
9.根据权利要求8所述的装置,其特征在于,还包括:
遍历单元,用于遍历当前节点的所有输出端口,获取与所述当前节点输
出端口存在关联的关联节点,以及所述关联节点的图像数据处理结果。
10.根据权利要求8所述的装置,其特征在于,所述图像数据处理单元包括:
影像数据获取单元,用于获取内存中的数据管理器,根据流程实例的标识ID加载数据管理器中的影像数据;所述影像数据包括用于描述影像属性的头部数据和用于表示影像本身的像素数据;
影像信息对象处理单元,用于根据当前处理节点的标识以及所获取的影像数据创建影像信息对象,并初始化所述影像信息对象;
计算单元,用于从所述影像信息对象中获取像素数据,根据所述当前节点匹配的组件对所述像素数据进行计算,获取结果像素数据;
影像数据存入单元,将所述结果像素数据和该影像信息对象中的头部数据合成为新的影像数据;将所述新的影像数据存入所述数据管理器中,且该新的影像数据与当前处理节点的一个输出端口对应;所述与新的影像数据对应的当前处理节点的一个输出端口是在根据流程实例的标识ID加载数据管理器中的影像数据时确定的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101702985A CN101387958B (zh) | 2008-10-20 | 2008-10-20 | 一种图像数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101702985A CN101387958B (zh) | 2008-10-20 | 2008-10-20 | 一种图像数据的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101387958A CN101387958A (zh) | 2009-03-18 |
CN101387958B true CN101387958B (zh) | 2011-06-15 |
Family
ID=40477390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101702985A Expired - Fee Related CN101387958B (zh) | 2008-10-20 | 2008-10-20 | 一种图像数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101387958B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104950709A (zh) * | 2015-06-10 | 2015-09-30 | 周海昇 | 一种基于运行数据特征识别的设备工效分析系统 |
CN106408156A (zh) * | 2016-08-25 | 2017-02-15 | 东软集团股份有限公司 | 恢复流程模板的方法及装置 |
CN106909368B (zh) * | 2017-01-12 | 2021-07-20 | 华南理工大学 | 一种实现快速业务开发的服务端业务层逻辑架构 |
CN107016083B (zh) * | 2017-03-31 | 2020-02-07 | 清华大学 | 一种支持处理单元在线切换的流数据处理方法 |
CN107315581B (zh) * | 2017-05-23 | 2020-09-11 | 努比亚技术有限公司 | 任务脚本生成装置及方法、任务调度系统及方法 |
CN107451663B (zh) * | 2017-07-06 | 2021-04-20 | 创新先进技术有限公司 | 算法组件化、基于算法组件建模方法、装置以及电子设备 |
CN107563714A (zh) * | 2017-07-17 | 2018-01-09 | 北京慧点科技有限公司 | 业务流程图生成的方法及装置 |
CN108171013A (zh) * | 2017-12-19 | 2018-06-15 | 北京荣之联科技股份有限公司 | 一种可视化生物信息分析流程的调试方法及系统 |
CN108984155B (zh) * | 2018-05-17 | 2021-09-07 | 创新先进技术有限公司 | 数据处理流程设定方法和装置 |
CN110110114B (zh) * | 2019-04-11 | 2024-05-03 | 平安科技(深圳)有限公司 | 多源对地观测图像处理的可视化方法、装置及存储介质 |
CN110865805A (zh) * | 2019-11-13 | 2020-03-06 | 深圳前海环融联易信息科技服务有限公司 | 实现多功能影像文件组件的方法、装置及计算机设备 |
CN113760394B (zh) * | 2020-06-03 | 2022-05-13 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111861837B (zh) * | 2020-07-28 | 2022-03-15 | 安徽新华博信息技术股份有限公司 | 基于公共安全研判模型快速实现的方法 |
CN112069927B (zh) * | 2020-08-19 | 2023-10-24 | 南京埃斯顿机器人工程有限公司 | 一种应用于模块化视觉软件的元素集合处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5786816A (en) * | 1995-10-20 | 1998-07-28 | Araxsys, Inc. | Method and apparatus for graphical user interface-based and variable result healthcare plan |
CN1486473A (zh) * | 2000-11-17 | 2004-03-31 | ������ҽ�ƽ�������˾ | 在医学成像中工作流的配置和执行 |
CN101169845A (zh) * | 2007-12-04 | 2008-04-30 | 金蝶软件(中国)有限公司 | 一种工作流模型的校验方法和装置 |
-
2008
- 2008-10-20 CN CN2008101702985A patent/CN101387958B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5786816A (en) * | 1995-10-20 | 1998-07-28 | Araxsys, Inc. | Method and apparatus for graphical user interface-based and variable result healthcare plan |
CN1486473A (zh) * | 2000-11-17 | 2004-03-31 | ������ҽ�ƽ�������˾ | 在医学成像中工作流的配置和执行 |
CN101169845A (zh) * | 2007-12-04 | 2008-04-30 | 金蝶软件(中国)有限公司 | 一种工作流模型的校验方法和装置 |
Non-Patent Citations (2)
Title |
---|
李俊亭.工作流建模的可视化工具研究与实现.中国优秀硕士学位论文全文数据库电子期刊.2004,(年期2004/01信息科技辑),I138-929. * |
郑然.基于工作流的图像处理网格平台及其遥感应用.计算机辅助设计与图形学学报.2006,第18卷(第5期),702-708. * |
Also Published As
Publication number | Publication date |
---|---|
CN101387958A (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101387958B (zh) | 一种图像数据的处理方法及装置 | |
US20180157928A1 (en) | Image analytics platform for medical data using expert knowledge models | |
CN106104518A (zh) | 用于按照示例的数据提取的框架 | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN109976735A (zh) | 一种基于web可视化的知识图谱算法应用平台 | |
Liu et al. | Neuron tracing from light microscopy images: automation, deep learning and bench testing | |
CN114385150B (zh) | 基于智能引擎的低代码开发方法 | |
Xing et al. | A service relation model for web-based land cover change detection | |
CN115294308A (zh) | 基于深度学习的增强现实辅助装配作业引导系统 | |
Parente et al. | Integration of convolutional and adversarial networks into building design: A review | |
CN114270313A (zh) | 一种计算机实现的方法、计算机程序以及物理计算环境 | |
CN113127195B (zh) | 人工智能分析垂直解决方案集成器 | |
Pinzger et al. | Architecture recovery for product families | |
Cerny et al. | From static code analysis to visual models of microservice architecture | |
KR102269606B1 (ko) | 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 | |
EP1646940A2 (en) | Designing computer programs | |
Jia et al. | A multi-style interior floor plan design approach based on generative adversarial networks | |
CN116756338A (zh) | 面向ar装配引导的工艺知识图谱构建方法及系统 | |
Garnett et al. | Towards an executable model of auxin transport canalisation | |
CN116645550A (zh) | 一种基于测试用例的机载显示系统通用化图像识别方法 | |
Nousias et al. | Not yet another BPM lifecycle: A synthesis of existing approaches using BPMN | |
CN112199075B (zh) | 一种基于微服务智能信息处理方法及框架系统 | |
Arronategui et al. | A MDE approach for modelling and distributed simulation of health systems | |
Chen et al. | Underwater target detection and embedded deployment based on lightweight YOLO_GN | |
Shen et al. | Model-driven multicomponent volume exploration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110615 Termination date: 20201020 |