CN110767291A - Medical image processing method, apparatus and storage medium - Google Patents

Medical image processing method, apparatus and storage medium Download PDF

Info

Publication number
CN110767291A
CN110767291A CN201910976769.XA CN201910976769A CN110767291A CN 110767291 A CN110767291 A CN 110767291A CN 201910976769 A CN201910976769 A CN 201910976769A CN 110767291 A CN110767291 A CN 110767291A
Authority
CN
China
Prior art keywords
task
medical image
image data
loading
calculation result
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
CN201910976769.XA
Other languages
Chinese (zh)
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.)
Wuhan United Imaging Healthcare Co Ltd
Original Assignee
Wuhan United Imaging Healthcare 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 Wuhan United Imaging Healthcare Co Ltd filed Critical Wuhan United Imaging Healthcare Co Ltd
Priority to CN201910976769.XA priority Critical patent/CN110767291A/en
Publication of CN110767291A publication Critical patent/CN110767291A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Radiology & Medical Imaging (AREA)
  • Epidemiology (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

The present application relates to a medical image processing method, apparatus, and storage medium. The method comprises the following steps: receiving a loading task, wherein the loading task carries an inspection instance identifier; executing a loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task; executing a calculation task, acquiring medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task; and executing the saving task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result. The method can improve the treatment efficiency.

Description

Medical image processing method, apparatus and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a medical image processing method, apparatus, and storage medium.
Background
With the development of medical image technology, after medical image data is obtained, the medical image data can be processed through a corresponding algorithm, and a processing result can be used for assisting a user in accurately judging an image. The existing processing modes are two, one of which is online calculation, namely, when a user initiates a request, data is directly processed to obtain a result. And the other one is preprocessing, and after data is filed, the background triggers a preprocessing mechanism to call each applied algorithm in advance to process the medical image. When a user enters a specific application, the image data and the corresponding result stored by preprocessing calculation can be directly loaded, so that the application processing speed can be increased, and the working efficiency of the user is greatly improved.
However, since the same data will be called by multiple application algorithms, that is, both on-line processing and preprocessing have the same problem of loading data multiple times during processing. And the invocation of medical image processing algorithms is usually time-consuming, resulting in a decrease in processing efficiency.
Disclosure of Invention
In view of the above, it is necessary to provide a medical image processing method, apparatus, and storage medium capable of improving processing efficiency in view of the above technical problems.
A method of medical image processing, the method comprising:
receiving a loading task, wherein the loading task carries an inspection instance identifier;
executing the loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
executing the calculation task, acquiring the medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task;
and executing the storage task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result.
In one embodiment, at least one of the following is included:
the first item:
after receiving a loading task, adding the loading task to a loading task queue;
the executing the loading task includes: acquiring the loading task from the loading task queue through a loading process, and executing the loading task;
the second term is:
after generating a computing task, adding the computing task to a computing task queue;
the performing the computing task includes: acquiring the computing task from the computing task queue through a computing process, and executing the computing task;
the third item:
after generating a save task, adding the save task to a save task queue;
the executing the save task includes: and acquiring the saving task from the saving task queue through a saving process, and executing the saving task.
In one embodiment, the method further comprises:
receiving a loading request sent by an application system;
acquiring corresponding medical image data and a calculation result from the shared storage space according to the loading request, and returning the medical image data and the calculation result to an application system;
and when the corresponding medical image data and the calculation result are not acquired from the shared storage space, returning failure information to an application system, and acquiring the corresponding medical image data and the calculation result from the image archiving and communication system by the application system according to the failure information.
In one embodiment, the acquiring medical image data corresponding to the examination instance identifier and storing the acquired medical image data in a shared storage space includes:
determining a sequence instance identifier corresponding to the check instance identifier;
acquiring corresponding medical image data according to the sequence instance identifier;
storing the medical image data corresponding to the sequence instance identifier to a shared storage space.
In one embodiment, the performing the computation task, acquiring the medical image data from the shared storage space, and performing a computation process corresponding to the computation task to obtain a computation result includes:
acquiring corresponding medical image data from the shared storage space according to the sequence instance identifier in the computing task;
calling a processing algorithm corresponding to the medical image data;
and calculating the medical image data according to the processing algorithm to obtain a calculation result.
In one embodiment, before the medical image data or the calculation result is stored in the shared storage space, the method further includes:
determining an available memory capacity of a memory, and determining a data amount of the medical image data or a data amount of the calculation result;
and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
In one embodiment, the method further comprises:
when the effective time is determined to be expired, acquiring invalid medical image data or a calculation result according to the effective time;
deleting the invalidated medical image data or calculation results from the shared memory space.
In one embodiment, the load task, the compute task, and the save task are performed in parallel.
A medical image processing apparatus, the apparatus comprising:
a receiving module, configured to receive a loading task, where the loading task carries an inspection instance identifier;
the loading module is used for executing the loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
the computing module is used for executing the computing task, acquiring the medical image data from the shared storage space, executing a computing process corresponding to the computing task, acquiring a computing result, storing the acquired computing result into the shared storage space, and generating a storage task;
and the storage module is used for executing the storage task, acquiring the calculation result from the shared storage space and archiving the acquired calculation result.
A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the medical image processing method of any of the above.
According to the medical image processing method, the medical image processing device and the storage medium, after the loading task carrying the inspection instance identifier is received, the loading task is executed to obtain medical image data corresponding to the inspection instance identifier, the medical image data are stored in the shared storage space, and a calculation task is generated. Therefore, other subsequent tasks can directly acquire the medical image data from the shared storage space, and the next task is automatically triggered and executed. Then, a calculation task is executed, medical image data are obtained from the shared storage space, a calculation process corresponding to the calculation task is executed, a calculation result is obtained, the obtained calculation result is stored in the shared storage space, and a storage task is generated. Therefore, when the calculation task carries out calculation processing on the medical image data, the speed of loading the data can be improved, and the next task is automatically triggered to be executed. And finally, executing a storage task, so that the calculation result is conveniently archived and stored. According to the method, the data can be directly loaded from the shared cache when being called in a cache sharing mode among tasks, so that the data loading speed is increased, and the processing working efficiency is improved.
Drawings
FIG. 1 is a diagram of an embodiment of a medical image processing method;
FIG. 2 is a flow diagram of a method of medical image processing in one embodiment;
FIG. 3 is a diagram of task scheduling in one embodiment;
FIG. 4 is a flow chart illustrating a method of medical image processing according to another embodiment;
FIG. 5 is a block diagram showing the configuration of a medical image processing apparatus according to an embodiment;
FIG. 6 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The medical image processing method provided by the application can be applied to the application environment shown in fig. 1. The application environment relates to a medical scanning apparatus 102, a PACS (Picture Archiving and Communication Systems) server 104, a medical image processing device 106, and an application server 108. Wherein the medical scanning device 102 communicates with the PACS server 104 over a network, the PACS server 104 communicates with the medical image processing apparatus 106 over a network, and the application system 108 communicates with the medical image processing apparatus 106 and the PACS server 104 over a network. The medical scanning apparatus 102 includes, but is not limited to, various single system scanning apparatuses and multi-system slice scanning apparatuses. For example, a CT (Computed Tomography) device, a PET (Positron Emission Tomography) device, an MRI (Magnetic Resonance Imaging) device, a PET-CT device, and a PET-MR device, etc. The PACS server 104 is a server equipped with a PACS system, which is a system that digitizes images generated by the medical scanning devices 102 from different locations and sends the digitized images to different display workstations via a computer network for the user to call. When the PACS server 104 receives medical image data to be archived, which is sent by the medical scanning device 102, the PACS server sends a corresponding loading task to the medical image processing apparatus 106, and the medical image processing method is implemented by the medical image processing apparatus 106, which specifically includes: the medical image processing device 106 receives a loading task, and the loading task carries an inspection instance identifier; the medical image processing device 106 executes the loading task, acquires medical image data corresponding to the examination instance identifier, stores the acquired medical image data in a shared storage space, and generates a calculation task; the medical image processing device 106 executes a calculation task, acquires medical image data from the shared storage space, executes a calculation process corresponding to the calculation task, acquires a calculation result, stores the acquired calculation result in the shared storage space, and generates a save task; the medical image processing apparatus 106 performs a saving task, acquires the calculation result from the shared memory space, and archives the acquired calculation result. Further, the medical image processing apparatus 106 may further receive a loading request sent by the application system 108, and the medical image processing apparatus 106 acquires corresponding medical image data and calculation results from the shared storage space according to the loading request and returns the medical image data and the calculation results to the application system 108.
The PACS server 104 may be implemented as a stand-alone server or a server cluster comprising a plurality of servers. The medical image processing apparatus 106 may be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, or may be implemented with a stand-alone server or a server cluster composed of a plurality of servers. The application system 108 may be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices.
In one embodiment, as shown in fig. 2, a medical image processing method is provided, which is exemplified by the application of the method to the medical image processing apparatus in fig. 1, and includes the following steps:
step S202, receiving a loading task, wherein the loading task carries an identifier of the checking instance.
Among them, DICOM (Digital Imaging and Communications in Medicine) is an international standard for medical images and related information, which defines a format for medical images that can be used for data exchange to meet clinical needs. The DICOM includes a unique identification value UID (user account) for identifying various information objects, which is understood to be a character string in form. The UID included in the DICOM includes a studylnstanceid (inspection instance identifier) for identification inspection, a series instanceuid (sequence instance identifier) for identification of a sequence, and a sopinstanceid (image instance identifier), and the like. The inspection instance identifier in this embodiment is referred to as studylnsomeuid in DIOCM, and the loading task is a request instruction for acquiring corresponding medical image data.
Specifically, after the PACS has completed archiving the medical image data received from the medical scanning device, the PACS may request the medical image processing apparatus to perform image preprocessing on the medical image data. That is, the PACS generation loading task is transmitted to the medical image processing apparatus. And transmitting the inspection example identifier corresponding to the medical image data needing to be preprocessed to the medical image processing device along with the loading task. After the medical image processing device receives a loading task which is sent by the PACS and carries an inspection instance identifier, corresponding medical image data can be obtained from the PACS according to the inspection instance identifier.
And step S204, executing a loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task.
The calculation task is a request for performing algorithm processing on medical image data. Shared storage space refers to space shared by multiple parties for storing data. In this embodiment, the shared memory space is a memory space shared by the loading task, the computing task, and the saving task. Storage space includes, but is not limited to, databases, caches, and the like. However, in order to improve the efficiency of data reading, the storage space in this embodiment is preferably a cache.
Specifically, after receiving the loading task, the medical image processing apparatus executes the loading task. I.e. corresponding medical image data is acquired to the PACS based on the examination instance identifier carried by the loading task. After medical image data corresponding to the examination instance identifier is acquired, the acquired medical image data is stored in a shared cache. Since one examination often includes a plurality of sets of sequences, medical image data under the same sequence belongs to medical image data under the same scan, and a user often views medical image data also in units of sequences. Therefore, after medical image data under examination is acquired according to the examination instance identifier, medical image data corresponding to the sequence instance identifier is acquired according to the sequence instance identifier included in the examination instance identifier. And then, storing the medical image data corresponding to the sequence instance identifier into a shared cache by taking the sequence instance identifier as a unit. Meanwhile, a corresponding calculation task is generated for the medical image data stored in the cache, and the generated calculation task can be associated with the medical image data according to the sequence instance identifier. When the calculation task is executed, the corresponding medical image data can be obtained from the shared cache according to the associated sequence instance identifier for calculation. That is, when the examination instance identifier includes three sequence instance identifiers, three corresponding calculation tasks should be generated after medical image data corresponding to the three sequence instance identifiers is stored in the shared cache.
And step S206, executing a calculation task, acquiring medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task.
The storage task is a task of storing the medical image data after the calculation processing.
In one embodiment, the performing a calculation task, acquiring medical image data from a shared storage space, and performing a calculation process corresponding to the calculation task to obtain a calculation result specifically includes: acquiring corresponding medical image data from a shared storage space according to the sequence instance identifier in the calculation task; calling a processing algorithm corresponding to the medical image data; and calculating the medical image data according to a processing algorithm to obtain a calculation result.
Specifically, when a computing task is performed, the corresponding medical image data to be computationally processed is read from the shared cache according to the associated sequence instance identifier. And after medical image data to be calculated and processed are obtained, calling a processing algorithm corresponding to the medical image data to be calculated and processed. And calculating the medical image data to be calculated and processed based on the corresponding processing algorithm to obtain a calculation result. For example, if the medical image data corresponding to the sequence instance identifier associated with the calculation task is image data of a knee joint, an algorithm related to the knee joint is called to process the image data, so as to obtain a corresponding calculation result. And then storing the calculated calculation result into a shared cache. And meanwhile, generating a corresponding storage task for the calculation result stored in the shared cache. Likewise, the generated save task should also be associated with the computation result based on the sequence instance identifier. When the saving task is executed, the corresponding calculation result can be obtained from the shared cache according to the associated sequence instance identifier for saving.
And step S208, executing the saving task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result.
Specifically, when the save task is executed, the corresponding calculation result is read from the shared cache according to the associated sequence instance identifier. And after reading the calculation result, sending the calculation result to the PACS, and archiving and storing by the PACS according to the sequence instance identifier corresponding to the calculation result.
According to the medical image processing method, after the loading task carrying the inspection instance identifier is received, the loading task is executed to obtain the medical image data corresponding to the inspection instance identifier, the medical image data are stored in the shared storage space, and the calculation task is generated. Therefore, other subsequent tasks can directly acquire the medical image data from the shared storage space, and the next task is automatically triggered and executed. Then, a calculation task is executed, medical image data are obtained from the shared storage space, a calculation process corresponding to the calculation task is executed, a calculation result is obtained, the obtained calculation result is stored in the shared storage space, and a storage task is generated. Therefore, when the calculation task carries out calculation processing on the medical image data, the speed of loading the data can be improved, and the next task is automatically triggered to be executed. And finally, executing a storage task, so that the calculation result is conveniently archived and stored. According to the method, the data can be directly loaded from the shared cache when being called in a cache sharing mode among tasks, so that the data loading speed is increased, and the processing working efficiency is improved.
In one embodiment, the medical image processing method further comprises one or more of adding a load task to a load task queue, adding a compute task to a compute task queue, and adding a save task to a save task queue. That is, after a task is added to a corresponding task queue, the task should be acquired from the task queue by a corresponding process and executed when the task is executed. That is, after receiving the load task, if the load task is added to the load task queue, the load task is acquired from the load task queue by the load process and executed when the load task is executed. Similarly, after the calculation task is generated, if the calculation task is added to the calculation task queue, the calculation task is acquired from the calculation task queue through the calculation process and executed when the calculation task is executed. After the save task is generated, if the save task is added to the save task queue, the save task is acquired from the save task queue through the save process and executed when the save task is executed.
The loading task queue is used for placing loading tasks, the computing task queue is used for placing computing tasks, and the saving task queue is used for placing saving tasks. The load task queue, compute task queue, and save task queue are independent of each other. Since the queue has a first-in first-out characteristic, when a corresponding task is added to the task queue, the added task should enter from the end of the queue. And when a process executes a task, the task should be acquired from the head of the queue. The process is a basic unit for resource allocation and scheduling, the loading process is used for executing a loading task, the computing process is used for executing a computing task, and the saving process is used for executing a saving task. Similarly, the loading process, the computing process, and the saving process are independent of each other.
Specifically, after the medical image processing apparatus receives the loading task, the received loading task is added to the loading task queue from the tail of the loading task queue. The loading process obtains the loading task from the head of the loading task queue, and then executes the obtained loading task. Similarly, after the computing task is generated, the generated computing task is added to the computing task queue from the tail of the computing task queue. The computing process obtains the computing task from the head of the computing task queue and then executes the obtained computing task. After the task is generated or saved, the generated saving task is added to the saving task queue from the tail of the saving task queue. The saving process obtains the computing task from the head of the saving task queue and then executes the obtained computing task. Additionally, it should be understood that if there are still unexecuted tasks in the task queue before adding a task to the task queue, the added task should be after the unexecuted task. When the process acquires the task from the queue head, the task added before but not executed is acquired first, and the task added currently is not acquired directly. Taking the loading task as an example, if the loading task queue includes the loading task 1 and the loading task 2, a new loading task is received at this time, and the loading task added to the loading task queue is the loading task queue 3. When the loading process executes the loading task, the loading task 1 is obtained. Load task 3 can only be executed after load task 1 and load task 2 have completed execution. The calculation task and the saving task are the same, and are not described herein again.
As shown in fig. 3, a task scheduling diagram is provided. It should be understood that since the task queues are independent of each other and the processes are independent of each other, the processes are also independent of each other when performing tasks. The loading task, the computing task and the saving task can be executed in parallel. That is, the loading process, the computing process and the saving process can simultaneously acquire the loading task, the computing task and the saving task from the respective task queues and execute the loading task, the computing task and the saving task in parallel. That is, when the loading process executes the loading task, the computing process and the saving process can also execute the computing task and the saving task. When the computing process executes the computing task, the loading process and the saving process can also execute the loading task and the saving task. The load process and the compute process are also capable of executing the load task and the compute task while the save process executes the save task. In addition, the tasks can be continuously added into the corresponding task queues in the process of executing the tasks. For example, there are currently a load task 1 and a load task 2 in the load queue, that is, in the process of acquiring and executing the load task 1 and the load task 2 by the load process, a load task 3 and a load task 4 may also be generated and added to the load task queue at the same time. That is, the execution of the task does not affect the generation and addition of the task.
Referring to FIG. 3, the load task queue, compute task queue, and save task queue are all stored in a shared cache. And when the loading process, the computing process and the saving process execute the tasks, the tasks are obtained from the corresponding queues in the shared cache. And after the task execution is completed, returning and storing the generated task to the queue corresponding to the shared cache. In this embodiment, tasks of different types are split, and independent task queues and processes are set to independently work, so that independent deployment of the tasks is realized, resources are reasonably utilized, and processing speed is increased.
In one embodiment, as shown in fig. 4, another medical image processing method is provided, wherein after the step S208 of executing a saving task, obtaining the calculation result from the shared storage space, and archiving the obtained calculation result, the method further comprises the steps of:
step S210, receiving a loading request sent by the application system.
The application system refers to a business system which can call the archived medical image data and the archived calculation results. The loading request is an instruction sent by the application system to return the corresponding medical image data and the calculation result.
Specifically, when a user needs to call and view corresponding medical image data and a calculation result, a loading request can be sent to the medical image processing apparatus through the application system, and the loading request should carry a corresponding sequence instance identifier.
And step S212, acquiring corresponding medical image data and calculation results from the shared storage space according to the loading request, and returning the medical image data and the calculation results to the application system.
Specifically, when a loading request is received, a sequence instance identifier carried in the loading request is determined, and corresponding medical image data and a calculation result are obtained from a shared cache according to the sequence instance identifier.
And step S214, when the corresponding medical image data and the calculation result are not acquired from the shared storage space, failure information is returned to the application system, and the application system acquires the corresponding medical image data and the calculation result from the image archiving and communication system according to the failure information.
Specifically, in order to prevent the data in the shared cache from being too large, which results in too large occupied memory, before the medical image data and the calculation result are stored in the shared cache, corresponding valid time is set for the medical image data and the calculation result. When the validity time expires, which means that the medical image data and the calculation result are invalid, the medical image data and the calculation result are deleted from the cache. Therefore, when a load request is received to load the corresponding medical image data and calculation results, there may be a case where the corresponding medical image data and calculation results are not obtained from the shared cache. However, the medical image data and the calculation result are archived in the PACS in advance, so that when the corresponding medical image data and the calculation result cannot be acquired from the shared cache, invalidation information can be returned to the application system. When the application system receives the failure information, the application system can send a loading request to the PACS system again to obtain the corresponding medical image data and the calculation result. In this embodiment, the application system can increase the loading speed by acquiring the corresponding medical image data and the calculation result from the shared cache. And when the corresponding medical image data and the calculation result cannot be obtained, the failure information can be timely obtained from the PACS system according to the feedback.
In one embodiment, before the medical image data or the calculation result is stored in the shared storage space, the method further includes a step of setting a valid time for the medical image data or the calculation result, and specifically includes: determining the available storage capacity of the memory, and determining the data quantity of the medical image data or the data quantity of the calculation result; and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
The available memory space is the current remaining memory space, i.e. the remaining content of the medical image processing apparatus can be understood. The data size is the data size of the medical image data or the calculation result, and can be understood as the size of the memory occupied when the medical image data or the calculation result is stored in the shared cache.
Specifically, to prevent the memory occupied by the shared cache from being too large, before the medical image data or the calculation result is stored in the shared cache, the valid time should be set for the medical image data or the calculation result according to the current remaining memory and the memory occupied by the medical image data or the calculation result. The specific effective time can be set according to the residual memory, the memory required to be occupied and the actual condition. For example, when the memory occupied by the medical image data or the calculation result is small and the current remaining memory of the medical image processing apparatus is large, the effective time may be set to 1 day. And if the medical image data or the calculation result occupies a large memory and the current residual memory of the medical image processing device is small, the effective time can be set to be half a day. Further, when the valid time is determined to expire, the medical image data or calculation result corresponding to the valid time may be acquired. The medical image data or calculation result is the medical image data or calculation result which has failed. That is, the medical image data or calculation results that have failed are deleted from the shared storage space, thereby freeing the memory. For example, when the validity time of the medical image data or the calculation result is 1 day, after 1 day, the medical image data or the calculation result is cleared from the shared cache, thereby releasing the memory. In this embodiment, the valid time is reasonably set according to the remaining memory and the data volume, so that the memory usage is not affected, and the application system can conveniently read the corresponding medical image data and the calculation result from the cache.
It should be understood that although the steps in the flowcharts of fig. 2 and 4 are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2 and 4 may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternately with other steps or at least some of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 5, there is provided a medical image processing apparatus including: a receiving module 502, a loading module 504, a calculating module 506, and a saving module 508, wherein:
a receiving module 502, configured to receive a loading task, where the loading task carries an inspection instance identifier.
The loading module 504 is configured to execute a loading task, acquire medical image data corresponding to the inspection instance identifier, store the acquired medical image data in the shared storage space, and generate a calculation task.
The calculation module 506 is configured to execute a calculation task, acquire medical image data from the shared storage space, execute a calculation process corresponding to the calculation task, acquire a calculation result, store the acquired calculation result in the shared storage space, and generate a storage task.
The saving module 508 is configured to execute a saving task, obtain a calculation result from the shared storage space, and archive the obtained calculation result.
In one embodiment, the medical image processing apparatus further comprises an adding module for adding the loading task to the loading task queue after receiving the loading task; after generating the computing task, adding the computing task to a computing task queue; after the save task is generated, the save task is added to a save task queue.
In one embodiment, the loading module 504 is further configured to obtain a loading task from the loading task queue through a loading process, and execute the loading task.
In one embodiment, the computation module 506 is further configured to obtain the computation task from the computation task queue through the computation process and execute the computation task.
In one embodiment, the save module 508 is further configured to retrieve the save task from the save task queue and execute the save task via a save process.
In one embodiment, the medical image processing apparatus further comprises an archiving module for receiving a loading request sent by the application system; acquiring corresponding medical image data and a calculation result from the shared storage space according to the loading request and returning the medical image data and the calculation result to the application system; and when the corresponding medical image data and the calculation result are not acquired from the shared storage space, returning failure information to the application system, and acquiring the corresponding medical image data and the calculation result from the image archiving and communication system by the application system according to the failure information.
In one embodiment, the load module 504 is further configured to determine a sequence instance identifier corresponding to the inspection instance identifier; acquiring corresponding medical image data according to the sequence instance identifier; and storing the medical image data corresponding to the sequence instance identifier to a shared storage space.
In one embodiment, the computation module 506 is further configured to obtain corresponding medical image data from the shared storage space according to the sequence instance identifier in the computation task; calling a processing algorithm corresponding to the medical image data; and calculating the medical image data according to a processing algorithm to obtain a calculation result.
In one embodiment, the medical image processing apparatus further comprises a setting module for determining an available storage amount of the memory, and determining a data amount of the medical image data or a data amount of the calculation result; and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
In one embodiment, the setting module is further configured to, when it is determined that the valid time expires, acquire the invalidated medical image data or calculation result according to the valid time; deleting the medical image data or calculation results that have failed from the shared memory space.
For specific limitations of the medical image processing apparatus, reference may be made to the above limitations of the medical image processing method, which are not described herein again. The respective modules in the medical image processing apparatus described above may be implemented in whole or in part by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as shown in fig. 6. The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The database of the computer device is used for storing medical image data. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a medical image processing method.
Those skilled in the art will appreciate that the architecture shown in fig. 6 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
receiving a loading task, wherein the loading task carries an inspection instance identifier;
executing a loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
executing a calculation task, acquiring medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task;
and executing the saving task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
the first item: after receiving the loading task, adding the loading task to a loading task queue; acquiring the loading task from a loading task queue through a loading process, and executing the loading task;
the second term is: after generating the computing task, adding the computing task to a computing task queue; acquiring the computing task from a computing task queue through a computing process, and executing the computing task;
the third item: after generating a save task, adding the save task to a save task queue; and acquiring the saving task from the saving task queue through the saving process, and executing the saving task.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
receiving a loading request sent by an application system; acquiring corresponding medical image data and a calculation result from the shared storage space according to the loading request and returning the medical image data and the calculation result to the application system; and when the corresponding medical image data and the calculation result are not acquired from the shared storage space, returning failure information to the application system, and acquiring the corresponding medical image data and the calculation result from the image archiving and communication system by the application system according to the failure information.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
determining a sequence instance identifier corresponding to the checking instance identifier; acquiring corresponding medical image data according to the sequence instance identifier; and storing the medical image data corresponding to the sequence instance identifier to a shared storage space.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
acquiring corresponding medical image data from a shared storage space according to the sequence instance identifier in the calculation task; calling a processing algorithm corresponding to the medical image data; and calculating the medical image data according to a processing algorithm to obtain a calculation result.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
determining the available storage capacity of the memory, and determining the data quantity of the medical image data or the data quantity of the calculation result; and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when the effective time is determined to be expired, acquiring invalid medical image data or a calculation result according to the effective time; deleting the medical image data or calculation results that have failed from the shared memory space.
In one embodiment, the processor, when executing the computer program, further performs the steps of: and executing the loading task, the computing task and the saving task in parallel.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
receiving a loading task, wherein the loading task carries an inspection instance identifier;
executing a loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
executing a calculation task, acquiring medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task;
and executing the saving task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result.
In one embodiment, the computer program when executed by the processor further performs the steps of:
the first item: after receiving the loading task, adding the loading task to a loading task queue; acquiring the loading task from a loading task queue through a loading process, and executing the loading task;
the second term is: after generating the computing task, adding the computing task to a computing task queue; acquiring the computing task from a computing task queue through a computing process, and executing the computing task;
the third item: after generating a save task, adding the save task to a save task queue; and acquiring the saving task from the saving task queue through the saving process, and executing the saving task.
In one embodiment, the computer program when executed by the processor further performs the steps of:
receiving a loading request sent by an application system; acquiring corresponding medical image data and a calculation result from the shared storage space according to the loading request and returning the medical image data and the calculation result to the application system; and when the corresponding medical image data and the calculation result are not acquired from the shared storage space, returning failure information to the application system, and acquiring the corresponding medical image data and the calculation result from the image archiving and communication system by the application system according to the failure information.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining a sequence instance identifier corresponding to the checking instance identifier; acquiring corresponding medical image data according to the sequence instance identifier; and storing the medical image data corresponding to the sequence instance identifier to a shared storage space.
In one embodiment, the computer program when executed by the processor further performs the steps of:
acquiring corresponding medical image data from a shared storage space according to the sequence instance identifier in the calculation task; calling a processing algorithm corresponding to the medical image data; and calculating the medical image data according to a processing algorithm to obtain a calculation result.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining the available storage capacity of the memory, and determining the data quantity of the medical image data or the data quantity of the calculation result; and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the effective time is determined to be expired, acquiring invalid medical image data or a calculation result according to the effective time; deleting the medical image data or calculation results that have failed from the shared memory space.
In one embodiment, the computer program when executed by the processor further performs the steps of: and executing the loading task, the computing task and the saving task in parallel.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A method of medical image processing, the method comprising:
receiving a loading task, wherein the loading task carries an inspection instance identifier;
executing the loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
executing the calculation task, acquiring the medical image data from the shared storage space, executing a calculation process corresponding to the calculation task, acquiring a calculation result, storing the acquired calculation result into the shared storage space, and generating a storage task;
and executing the storage task, acquiring the calculation result from the shared storage space, and archiving the acquired calculation result.
2. The method of claim 1, comprising at least one of:
the first item:
after receiving a loading task, adding the loading task to a loading task queue;
the executing the loading task includes: acquiring the loading task from the loading task queue through a loading process, and executing the loading task;
the second term is:
after generating a computing task, adding the computing task to a computing task queue;
the performing the computing task includes: acquiring the computing task from the computing task queue through a computing process, and executing the computing task;
the third item:
after generating a save task, adding the save task to a save task queue;
the executing the save task includes: and acquiring the saving task from the saving task queue through a saving process, and executing the saving task.
3. The method of claim 1, further comprising:
receiving a loading request sent by an application system;
acquiring corresponding medical image data and a calculation result from the shared storage space according to the loading request, and returning the medical image data and the calculation result to an application system;
and when the corresponding medical image data and the calculation result are not acquired from the shared storage space, returning failure information to an application system, and acquiring the corresponding medical image data and the calculation result from the image archiving and communication system by the application system according to the failure information.
4. The method according to claim 1, wherein the acquiring the medical image data corresponding to the examination instance identifier and storing the acquired medical image data in a shared storage space comprises:
determining a sequence instance identifier corresponding to the check instance identifier;
acquiring corresponding medical image data according to the sequence instance identifier;
storing the medical image data corresponding to the sequence instance identifier to a shared storage space.
5. The method of claim 1, wherein the performing the computation task, obtaining the medical image data from the shared memory space, and performing a computation process corresponding to the computation task to obtain a computation result comprises:
acquiring corresponding medical image data from the shared storage space according to the sequence instance identifier in the computing task;
calling a processing algorithm corresponding to the medical image data;
and calculating the medical image data according to the processing algorithm to obtain a calculation result.
6. The method of claim 1, further comprising, before storing the medical image data or the calculation result in a shared memory space:
determining an available memory capacity of a memory, and determining a data amount of the medical image data or a data amount of the calculation result;
and setting effective time for the medical image data or the calculation result according to the available storage capacity and the data quantity of the medical image data or the data quantity of the calculation result.
7. The method of claim 6, further comprising:
when the effective time is determined to be expired, acquiring invalid medical image data or a calculation result according to the effective time;
deleting the invalidated medical image data or calculation results from the shared memory space.
8. The method of claim 1, wherein the load task, the compute task, and the save task are performed in parallel.
9. A medical image processing apparatus, characterized in that the apparatus comprises:
a receiving module, configured to receive a loading task, where the loading task carries an inspection instance identifier;
the loading module is used for executing the loading task, acquiring medical image data corresponding to the inspection instance identifier, storing the acquired medical image data into a shared storage space, and generating a calculation task;
the computing module is used for executing the computing task, acquiring the medical image data from the shared storage space, executing a computing process corresponding to the computing task, acquiring a computing result, storing the acquired computing result into the shared storage space, and generating a storage task;
and the storage module is used for executing the storage task, acquiring the calculation result from the shared storage space and archiving the acquired calculation result.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 8.
CN201910976769.XA 2019-10-15 2019-10-15 Medical image processing method, apparatus and storage medium Pending CN110767291A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910976769.XA CN110767291A (en) 2019-10-15 2019-10-15 Medical image processing method, apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910976769.XA CN110767291A (en) 2019-10-15 2019-10-15 Medical image processing method, apparatus and storage medium

Publications (1)

Publication Number Publication Date
CN110767291A true CN110767291A (en) 2020-02-07

Family

ID=69332565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910976769.XA Pending CN110767291A (en) 2019-10-15 2019-10-15 Medical image processing method, apparatus and storage medium

Country Status (1)

Country Link
CN (1) CN110767291A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111916184A (en) * 2020-07-31 2020-11-10 平安好医投资管理有限公司 Medical examination image downloading method and device and computer equipment
CN112256948A (en) * 2020-10-13 2021-01-22 北京字跳网络技术有限公司 Data processing method and device and electronic equipment
CN113360045A (en) * 2021-04-23 2021-09-07 数坤(北京)网络科技股份有限公司 Medical image processing and displaying method, processing device, display device and storage medium
CN113609074A (en) * 2021-08-13 2021-11-05 北京华益精点生物技术有限公司 Method and related device for warehousing and archiving medical image file

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886167A (en) * 2012-11-15 2014-06-25 上海联影医疗科技有限公司 Medical image processing method and system, client side and server
CN105678073A (en) * 2016-01-06 2016-06-15 深圳安泰创新科技股份有限公司 Medical image checking method, device and system
CN105912840A (en) * 2016-03-31 2016-08-31 蓝网科技股份有限公司 Search and processing method, device and system for image data
CN106095552A (en) * 2016-06-07 2016-11-09 华中科技大学 A kind of Multi-Task Graph processing method based on I/O duplicate removal and system
CN107222460A (en) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 A kind of shared method and device of server data memory space
CN109346158A (en) * 2018-09-30 2019-02-15 浙江格林蓝德信息技术有限公司 Ultrasonic image processing method, computer equipment and readable storage medium storing program for executing
CN109448824A (en) * 2018-11-01 2019-03-08 武汉联影医疗科技有限公司 A kind of data retrieval method, system and storage medium
CN109558065A (en) * 2017-09-25 2019-04-02 杭州海康威视系统技术有限公司 Data-erasure method and distributed memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886167A (en) * 2012-11-15 2014-06-25 上海联影医疗科技有限公司 Medical image processing method and system, client side and server
CN105678073A (en) * 2016-01-06 2016-06-15 深圳安泰创新科技股份有限公司 Medical image checking method, device and system
CN105912840A (en) * 2016-03-31 2016-08-31 蓝网科技股份有限公司 Search and processing method, device and system for image data
CN106095552A (en) * 2016-06-07 2016-11-09 华中科技大学 A kind of Multi-Task Graph processing method based on I/O duplicate removal and system
CN107222460A (en) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 A kind of shared method and device of server data memory space
CN109558065A (en) * 2017-09-25 2019-04-02 杭州海康威视系统技术有限公司 Data-erasure method and distributed memory system
CN109346158A (en) * 2018-09-30 2019-02-15 浙江格林蓝德信息技术有限公司 Ultrasonic image processing method, computer equipment and readable storage medium storing program for executing
CN109448824A (en) * 2018-11-01 2019-03-08 武汉联影医疗科技有限公司 A kind of data retrieval method, system and storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111916184A (en) * 2020-07-31 2020-11-10 平安好医投资管理有限公司 Medical examination image downloading method and device and computer equipment
CN111916184B (en) * 2020-07-31 2023-04-18 平安好医投资管理有限公司 Medical examination image downloading method and device and computer equipment
CN112256948A (en) * 2020-10-13 2021-01-22 北京字跳网络技术有限公司 Data processing method and device and electronic equipment
CN113360045A (en) * 2021-04-23 2021-09-07 数坤(北京)网络科技股份有限公司 Medical image processing and displaying method, processing device, display device and storage medium
CN113609074A (en) * 2021-08-13 2021-11-05 北京华益精点生物技术有限公司 Method and related device for warehousing and archiving medical image file
CN113609074B (en) * 2021-08-13 2022-03-15 北京华益精点生物技术有限公司 Method and related device for warehousing and archiving medical image file

Similar Documents

Publication Publication Date Title
CN110767291A (en) Medical image processing method, apparatus and storage medium
CN108573371B (en) Data approval method, device, computer equipment and storage medium
CN108834086B (en) Method and device for sending short message, computer equipment and storage medium
CN111651285A (en) Batch business data processing method and device, computer equipment and storage medium
CN110399241B (en) Task exception handling method, device, computer equipment and readable storage medium
CN110704177B (en) Computing task processing method and device, computer equipment and storage medium
CN108446172B (en) Data calling method and device, computer equipment and storage medium
CN111916184B (en) Medical examination image downloading method and device and computer equipment
CN110795171B (en) Service data processing method, device, computer equipment and storage medium
CN109492856B (en) Service request processing method, device, computer equipment and storage medium
CN111158959A (en) Virtual machine backup method and device and virtual machine recovery method and device
CN112527923A (en) Unstructured data storage method and device, computer equipment and storage medium
CN110457401B (en) Data storage method and device, computer equipment and storage medium
CN111131410A (en) Image downloading method, computer device and storage medium
CN115858205A (en) Memory blackboard mechanism-based simulation component interaction method, device and equipment
CN110598025A (en) Film reading method, system, device, equipment and storage medium
CN110674145A (en) Data consistency detection method and device, computer equipment and storage medium
CN110827959B (en) Medical image processing method, device and storage medium
CN111414383B (en) Data request method, data processing system and computing device
CN111382012B (en) Backup method and device for MySQL cloud database, computer equipment and storage medium
CN110457614A (en) Reduce data increment update method, device and the computer equipment of Data Concurrent amount
CN112559290B (en) Service call monitoring method, device, computer equipment and storage medium
CN113111078B (en) Resource data processing method and device, computer equipment and storage medium
CN110264435B (en) Method and device for enhancing low-dose MIP (MIP) image, computer equipment and storage medium
CN113808712A (en) Medical data transmission method, device, computer equipment and storage medium

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