CN107392837A - 一种动态插件式影像链设计方法 - Google Patents

一种动态插件式影像链设计方法 Download PDF

Info

Publication number
CN107392837A
CN107392837A CN201710533954.2A CN201710533954A CN107392837A CN 107392837 A CN107392837 A CN 107392837A CN 201710533954 A CN201710533954 A CN 201710533954A CN 107392837 A CN107392837 A CN 107392837A
Authority
CN
China
Prior art keywords
functor
image chain
dynamic
image
interface
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.)
Pending
Application number
CN201710533954.2A
Other languages
English (en)
Inventor
王晓芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cabin (Shenzhen) Medical Technology Co., Ltd.
Original Assignee
NANJING MIZONG ELECTRONIC TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NANJING MIZONG ELECTRONIC TECHNOLOGY Co Ltd filed Critical NANJING MIZONG ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201710533954.2A priority Critical patent/CN107392837A/zh
Publication of CN107392837A publication Critical patent/CN107392837A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

一种动态插件式影像链设计方法,包括以下步骤:构建函子模板,定义函子模板的输入和输出接口;构建函子配置文件,定义函子配置文件的读取和写入接口;通过动态类的定义完成动态影像链的接口定义;规范函子数据接口的定义和动态链接库的定义;集成前述所有组件成为完整的动态插件式影像链,抽象动态插件式影像链整体模块接口。本发明中,图像处理模块可以不需要编译就能随时替换、更新和重置,有利于影像系统的升级和维护。

Description

一种动态插件式影像链设计方法
技术领域
本发明涉及图像处理领域,具体地,涉及一种利用范式技术实现动态插件式影像链的方法。
背景技术
影像链是图像处理软硬件对连续处理模块的通俗说法,一般由多个图像处理模块连接顺序执行对图像的处理,最终输出一个能够满足需求的图像序列或者视频流。
医学图像处理影像链主要针对医疗影像诊断、治疗设备,处理的图像多为灰度图像,灰度范围非常大,部分系统对实时性要求高,细节对比度在诊断和治疗中都非常重要。所以,医疗图像影像链的设计有一定的特殊性。
一般的影像链设计,图像处理模块是固定的,用户可以关闭或打开已经在系统中定义的图像处理功能,但这样功能是不能被新的算法所替换的,并且整个系统升级也相对复杂,除了图像处理模块,整体结构都需要变更。新的影像链往往是需要通过程序编译才能发布的,这就增加了企业的升级成本和工作量。对于医疗产品就更为复杂,新编译的系统可能需要重新进入临床或者认证申请流程才能进入市场。
发明内容
本发明的目的是提供一种动态插件化影像链的设计方法,使图像处理模块可以不需要编译就能随时替换、更新和重置,用户可以根据需求随时更新影像链的处理模块以达到不同的处理目的。
本发明的技术方案是:
一种动态插件式影像链设计方法,它包括以下步骤:
步骤一:构建函子模板,定义函子模板的输入和输出接口;
步骤二:构建函子配置文件,定义函子配置文件的读取和写入接口;
步骤三:通过动态类的定义完成动态影像链的接口定义;
步骤四:规范函子数据接口的定义和动态链接库的定义;
步骤五:集成步骤一、二、三中所有组件成为完整的动态插件式影像链,抽象动态插件式影像链整体模块接口。
进一步地,步骤一具体为:
步骤101、定义图像处理函数模块为函子,使用范式编程技术构建一个模板函子,所述的模板函子包括图像输入、输出、处理和链接组件;
步骤102、配置输入对象和输出对象,预留足够的数据接口;
步骤103、在一个函子运行完成后,通过图像链接调用下一个函子,形成影像链。
进一步地,步骤二具体为:
步骤201、将函子信息和影像链的运行顺序存储在函子配置文件中,所述的函子信息包括:模块名称、模块文件路径、入口函数名称、函数说明和在影像链中的优先级、序号;
步骤202、定义函子配置文件的读取、写入接口,所述的函子配置文件与人机界面UI连接,按照操作人员的需要对配置文件进行操作(包括读取、删除、新建和更新);
进一步地,步骤三具体为:
步骤301、构建动态类,使函子在不指定对象的具体类型和方法时,根据函子配置文件自动生成影像链对象;
步骤302、构建动态类注销机制。
进一步地,步骤四具体为:
步骤401、按照统一的数据类型定义图像输入和输出接口;
步骤402、将函子编译为动态链接库文件。
进一步地,步骤五具体为:
步骤501、将步骤一到步骤三中所有组件安装至同一个项目工程,然后进行编译;步骤502、更改函子配置文件中的函子信息,测试影像链的运行;
步骤503、抽象影像链接口,编译影像链为动态链接库;
步骤504、影像系统调用动态链接库,生成动态插件式影像链。
进一步地,所述的函子配置文件为文本文档或二进制文件。
进一步地,所述的步骤301具体为:
步骤301-1、构建动态对象容器,通过动态对象容器存储动态生成的类别;
步骤301-2、构建动态对象注册机制,根据函子配置文件中的优先级和序号注册函子并创建动态对象;
步骤301-3建立函子与动态对象之间的链接,生成影像链对象。
进一步地,所述的步骤401中函子的输入、输出定义与步骤101中所述的模板函子输入、输出定义一致。
进一步地,所述的步骤102中,配置输入对象和输出对象,建立一个输入对应一个输出、多个输入对应一个输出或者一个输入对应多个输出的映射关系。
本发明的有益效果:
本发明的技术方案中,图像处理模块可以不需要编译就能随时替换、更新和重置,用户可以根据需求随时更新影像链的处理模块以达到不同的处理目的。同时,这种方式更加有利于影像系统的升级和维护,升级功能只需要将新的模块作为动态链接库文件更新到系统相关路径下,并升级影像链配置文件即可。本发明通过配置文档和动态类进行动态结合,使影响系统免安装、更新快、运行高效,可以更好的和云技术进行结合。
附图说明
图1是本发明的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
一种动态插件式影像链设计方法,它包括以下步骤:
步骤一:构建函子模板,定义函子模板的输入和输出接口;
步骤101、定义图像处理函数模块为函子,使用范式编程技术构建一个模板函子,所述的模板函子包括图像输入、输出、处理和链接组件;
步骤102、配置输入对象和输出对象,预留足够的数据接口,建立一个输入对应一个输出、多个输入对应一个输出或者一个输入对应多个输出的映射关系;
步骤103、在一个函子运行完成后,通过图像链接调用下一个函子,形成影像链。
步骤二:构建函子配置文件,定义函子配置文件的读取和写入接口;
步骤201、将函子信息和影像链的运行顺序存储在函子配置文件中,所述的函子信息包括:模块名称、模块文件路径、入口函数名称、函数说明和在影像链中的优先级、序号;
步骤202、定义函子配置文件的读取、写入接口,所述的函子配置文件与人机界面UI连接,按照操作人员的需要对配置文件进行操作(包括读取、删除、新建和更新);
步骤三:通过动态类的定义完成动态影像链的接口定义;
步骤301、构建动态类,使函子在不指定对象的具体类型和方法时,根据函子配置文件自动生成影像链对象;
步骤302、构建动态类注销机制。
步骤四:规范函子数据接口的定义和动态链接库的定义;
步骤401、按照统一的数据类型定义图像输入和输出接口;(其中,函子的输入、输出定义与步骤101中所述的模板函子输入、输出定义一致)
步骤402、将函子编译为动态链接库文件。
步骤五:集成步骤一、二、三中所有组件成为完整的动态插件式影像链,抽象动态插件式影像链整体模块接口。
步骤501、将步骤一到步骤三中所有组件安装至同一个项目工程,然后进行编译;
步骤502、更改函子配置文件中的函子信息,测试影像链的运行;
步骤503、抽象影像链接口,编译影像链为动态链接库;
步骤504、影像系统调用动态链接库,生成动态插件式影像链。
其中,所述的步骤301具体为:步骤301-1、构建动态对象容器,通过动态对象容器存储动态生成的类别;步骤301-2、构建动态对象注册机制,根据函子配置文件中的优先级和序号注册函子并创建动态对象;步骤301-3建立函子与动态对象之间的链接,生成影像链对象。
具体实施时:
一般影像链在软件编译以后就固定了相关处理模块,如:
1.中值滤波,2.GAMMA校正3.对比度增强
用户可以调整上述模块功能形成新的链条:1->3或者2->3
但是处理顺序以及处理算法是不能变更的,如果1换成了高斯滤波,整个链条就需要重新编译并发布
动态插件化影像链方案如下:
有若干图像处理模块的dll文件:1.中值滤波,2.高斯滤波,3.拉普拉斯滤波,4.对比度增强,5.动态范围压缩,6.仿射变换等
首先构建动态类;
其次按照配置文件的信息读取dll文件的位置、优先级、函数名,使用模板函子实例化相关图像程序模块;
最后加载相关的图像处理模块,无需编译即形成可执行影像链:
1->2->3->4->5->6或者2->3->6或者5->1->2->4->3等,对于模块的顺序、算法都没有定式。
这个方法实现了图像处理模块在影像链中的“热插拔”,根据实际应用的需求高效更新图像处理算法模块。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。

Claims (10)

1.一种动态插件式影像链设计方法,其特征是它包括以下步骤:
步骤一:构建函子模板,定义函子模板的输入和输出接口;
步骤二:构建函子配置文件,定义函子配置文件的读取和写入接口;
步骤三:通过动态类的定义完成动态影像链的接口定义;
步骤四:规范函子数据接口的定义和动态链接库的定义;
步骤五:集成步骤一、二、三中所有组件成为完整的动态插件式影像链,抽象动态插件式影像链整体模块接口。
2.根据权利要求1所述的动态插件式影像链设计方法,其特征是所述的步骤一具体为:
步骤101、定义图像处理函数模块为函子,使用范式编程技术构建一个模板函子,所述的模板函子包括图像输入、输出、处理和链接组件;
步骤102、配置输入对象和输出对象,预留足够的数据接口;
步骤103、在一个函子运行完成后,通过图像链接调用下一个函子,形成影像链。
3.根据权利要求1所述的动态插件式影像链设计方法,其特征是所述的步骤二具体为:
步骤201、将函子信息和影像链的运行顺序存储在函子配置文件中,所述的函子信息包括:模块名称、模块文件路径、入口函数名称、函数说明和在影像链中的优先级、序号;
步骤202、定义函子配置文件的读取、写入接口,所述的函子配置文件与人机界面UI连接,按照操作人员的需要对配置文件进行操作。
4.根据权利要求1所述的动态插件式影像链设计方法,其特征是所述的步骤三具体为:
步骤301、构建动态类,使函子在不指定对象的具体类型和方法时,根据函子配置文件自动生成影像链对象;
步骤302、构建动态类注销机制。
5.根据权利要求1所述的动态插件式影像链设计方法,其特征是所述的步骤四具体为:
步骤401、按照统一的数据类型定义图像输入和输出接口;
步骤402、将函子编译为动态链接库文件。
6.根据权利要求1所述的动态插件式影像链设计方法,其特征是所述的步骤五具体为:
步骤501、将步骤一到步骤三中所有组件安装至同一个项目工程,然后进行编译;
步骤502、更改函子配置文件中的函子信息,测试影像链的运行;
步骤503、抽象影像链接口,编译影像链为动态链接库;
步骤504、影像系统调用动态链接库,生成动态插件式影像链。
7.根据权利要求3所述的动态插件式影像链设计方法,其特征是所述的函子配置文件为文本文档或二进制文件。
8.根据权利要求4所述的动态插件式影像链设计方法,其特征是所述的步骤301具体为:
步骤301-1、构建动态对象容器,通过动态对象容器存储动态生成的类别;
步骤301-2、构建动态对象注册机制,根据函子配置文件中的优先级和序号注册函子并创建动态对象;
步骤301-3建立函子与动态对象之间的链接,生成影像链对象。
9.根据权利要求5所述的动态插件式影像链设计方法,其特征是所述的步骤401中函子的输入、输出定义与步骤101中所述的模板函子输入、输出定义一致。
10.根据权利要求2所述的动态插件式影像链设计方法,其特征是所述的步骤102中,配置输入对象和输出对象,建立一个输入对应一个输出、多个输入对应一个输出或者一个输入对应多个输出的映射关系。
CN201710533954.2A 2017-07-03 2017-07-03 一种动态插件式影像链设计方法 Pending CN107392837A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710533954.2A CN107392837A (zh) 2017-07-03 2017-07-03 一种动态插件式影像链设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710533954.2A CN107392837A (zh) 2017-07-03 2017-07-03 一种动态插件式影像链设计方法

Publications (1)

Publication Number Publication Date
CN107392837A true CN107392837A (zh) 2017-11-24

Family

ID=60334289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710533954.2A Pending CN107392837A (zh) 2017-07-03 2017-07-03 一种动态插件式影像链设计方法

Country Status (1)

Country Link
CN (1) CN107392837A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630256A (zh) * 2009-08-27 2010-01-20 浙江大学 多模医学影像信息处理系统及滤波器的实现方法
CN102073520A (zh) * 2010-12-30 2011-05-25 中国民航信息网络股份有限公司 一种c++应用程序版本动态管理系统和方法
CN102411506A (zh) * 2011-07-07 2012-04-11 杭州典能科技有限公司 Java系统业务单元插件式管理系统及业务功能动态变更方法
CN103218220A (zh) * 2013-02-25 2013-07-24 上海谐宇网络科技有限公司 基于动态可插拔组件的物联网中间件系统
CN104182605A (zh) * 2013-05-28 2014-12-03 上海联影医疗科技有限公司 医疗影像系统中工作流的配置方法和装置
CN104239004A (zh) * 2013-06-08 2014-12-24 上海联影医疗科技有限公司 一种通用x射线采集系统
CN104424002A (zh) * 2013-09-10 2015-03-18 中国科学院声学研究所 一种基于插件机制的动态加载组件方法和系统
CN104680571A (zh) * 2013-11-29 2015-06-03 西门子(深圳)磁共振有限公司 一种医学影像装置、系统和显示医学影像的方法
US20160198997A1 (en) * 2013-04-03 2016-07-14 Koninklijke Philips N.V Modular processing of magnetic resonance data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630256A (zh) * 2009-08-27 2010-01-20 浙江大学 多模医学影像信息处理系统及滤波器的实现方法
CN102073520A (zh) * 2010-12-30 2011-05-25 中国民航信息网络股份有限公司 一种c++应用程序版本动态管理系统和方法
CN102411506A (zh) * 2011-07-07 2012-04-11 杭州典能科技有限公司 Java系统业务单元插件式管理系统及业务功能动态变更方法
CN103218220A (zh) * 2013-02-25 2013-07-24 上海谐宇网络科技有限公司 基于动态可插拔组件的物联网中间件系统
US20160198997A1 (en) * 2013-04-03 2016-07-14 Koninklijke Philips N.V Modular processing of magnetic resonance data
CN104182605A (zh) * 2013-05-28 2014-12-03 上海联影医疗科技有限公司 医疗影像系统中工作流的配置方法和装置
CN104239004A (zh) * 2013-06-08 2014-12-24 上海联影医疗科技有限公司 一种通用x射线采集系统
CN104424002A (zh) * 2013-09-10 2015-03-18 中国科学院声学研究所 一种基于插件机制的动态加载组件方法和系统
CN104680571A (zh) * 2013-11-29 2015-06-03 西门子(深圳)磁共振有限公司 一种医学影像装置、系统和显示医学影像的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MICHAEL SCHACHT HANSEN ET.AL: "Gadgetron:An open source framework for medical image reconstruction", 《MAGNETIC RESONANCE IN MEDICINE》 *
廖秀秀: "多模医学图像处理平台及基于隐含形状表示和边缘信息融合的图像配准算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 *
陈春林: "基于Micro-CT的脂肪测量软件设计开发", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 *

Similar Documents

Publication Publication Date Title
Schaefer Variability Modelling for Model-Driven Development of Software Product Lines.
US7493593B2 (en) Method for generating a business process execution language for web services executable workflow code from an unstructured cyclic business process model
US10853722B2 (en) Apparatus for executing LSTM neural network operation, and operational method
EP1605350A2 (en) Signal processing apparatus and method thereof
Autili et al. Choreography realizability enforcement through the automatic synthesis of distributed coordination delegates
CN103135981A (zh) 用于支持在模型到模型的转换中的部分往返的选择性变化转播技术
US20110150301A1 (en) Face Identification Method and System Using Thereof
CN109739740A (zh) 一种aadl模型组合形式化验证方法
CN112148278A (zh) 可视化的区块链智能合约框架及智能合约开发部署方法
CN113641591A (zh) 测试用例生成方法及装置、测试方法及装置
CN107391130A (zh) Api自动管理和sdk、文档自动生成方法
CN104156200A (zh) 用于卡内容管理操作的声明式配置和执行的方法和系统
US20200184334A1 (en) Modification of neural network topology
CN107392837A (zh) 一种动态插件式影像链设计方法
Di Natale et al. A Model-based approach for the synthesis of software to firmware adapters for use with automatically generated components
CN110796594B (zh) 一种图像生成方法、装置及设备
Hartmann et al. Using MDA for integration of heterogeneous components in software supply chains
CN114995876B (zh) 算法方案的生成方法、设备及计算机可读存储介质
CN113139650A (zh) 深度学习模型的调优方法和计算装置
Garnett et al. Towards an executable model of auxin transport canalisation
Boutellier et al. VR-PRUNE: Decidable Variable-Rate Dataflow for Signal Processing Systems
Ferayorni et al. Domain driven simulation modeling for software design
US20100293018A1 (en) Test Model Abstraction For Testability in Product Line Engineering
Dautov et al. Towards MLOps in Mobile Development with a Plug-in Architecture for Data Analytics
CN112149836B (zh) 一种机器学习程序更新方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhang Shiping

Inventor after: Wang Xiaofang

Inventor before: Wang Xiaofang

CB03 Change of inventor or designer information
TA01 Transfer of patent application right

Effective date of registration: 20181115

Address after: 518000 B1 701-72, Kexing Science Park, 15 Keyuan Road, Nanshan District, Shenzhen, Guangdong.

Applicant after: Cabin (Shenzhen) Medical Technology Co., Ltd.

Address before: 210000 Room 403, 3 tower 141, Ma Tai Street, Nanjing, Jiangsu.

Applicant before: Nanjing Mizong Electronic Technology Co., Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20171124

RJ01 Rejection of invention patent application after publication