Adaptive computational framework for medical image processing apparatus
The resource allocation system optimizes task distribution among local and remote computing instances in medical imaging systems, addressing inefficiencies in LCI resource management and reducing processing time and costs by prioritizing local resources and using cloud resources strategically.
Patent Information
- Application Number
- JP2025091541
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-28
- Filing Date
- 2025-06-02
- Publication Date
- 2026-01-27
AI Technical Summary
Existing medical imaging systems face inefficiencies in managing local compute instance (LCI) resources, leading to underutilization and increased reliance on costly cloud-based processing, which is slower and less efficient.
A resource allocation system dynamically reallocates processing tasks among local and remote computing instances using a centralized controller, prioritizing local resources for real-time operations and leveraging cloud resources when necessary, with fallback models cached locally for network failures.
This approach enhances LCI resource utilization, reduces processing time, and lowers costs by optimizing task distribution across a network of medical imaging systems, ensuring stable and efficient image reconstruction.
Smart Images

Figure 2026012634000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the subject matter disclosed herein relate to medical image processing, and more particularly to managing the use of local and remote resources for medical image processing tasks. [Background technology]
[0002] Medical imaging equipment, such as computed tomography (CT), magnetic resonance (MR), positron emission tomography (PET), and other scanners, acquires analog measurements and processes them to generate digital outputs, such as images. The analog front end of these systems typically includes sensors, amplifiers, signal conditioners, and analog-to-digital converters. Such systems are controlled by analog and / or digital controllers. The digital controller processes digitized measurements obtained from analog components (actuator position, motor speed, component temperature, x-ray tube output) and generates control outputs that can be converted to analog signals, for example, to move actuators, vary magnetic field strength, or generate ultrasound pulse sequences.
[0003] In both data acquisition and device control subsystems, an increasing amount of signal processing is being performed in the digital domain using computer programs. Examples include software-defined radio and software-defined ultrasound. Increased computing power and the emergence of massively parallel architectures like GPUs have made general-purpose CPU- and GPU-based computing infrastructures suitable for implementing processing that traditionally relied on specialized FPGAs, DSPs, and microcontrollers. This offers opportunities to (1) reduce the demand for custom hardware, (2) reduce the impact of device obsolescence, (3) reduce the total amount invested in computational hardware, (4) reduce the environmental impact of computation (power to operate, manufacture, and maintain), and (5) facilitate the reuse of computational infrastructure for different purposes. Summary of the Invention
[0004] The present disclosure addresses, at least in part, one or more of the above-identified problems by a resource allocation system for a connected network of medical imaging systems. The resource allocation system includes a processor and instructions stored in a memory of the resource allocation system. When executed, the instructions cause the processor to receive a scan protocol, reconstruction instructions, and post-reconstruction image processing instructions for a scan to be performed at a first imaging system of the connected network of medical imaging systems. Based on the scan protocol and the reconstruction instructions, the resource allocation system performs a first processing task of the scan at one or more local computer instances (LCIs) of the first imaging system. Based on the post-reconstruction image processing instructions, the resource allocation system performs a second processing task of the scan at a second computing instance (CI) of the connected network of medical imaging systems, the second processing task being performed using an artificial intelligence (AI) model. In response to a data transmission time between the first imaging system and the second CI being greater than a threshold data transmission time, the resource allocation system transmits parameter data of the AI model to a selected LCI of the one or more LCIs. The resource allocation system reallocates the second processing task from the second CI to the selected LCI and completes processing of the second processing task at the selected LCI using a fallback version of the AI model installed in the selected LCI. The processed image is displayed on a display device.
[0005] These and other advantages and features of the present specification will become readily apparent from the following detailed description, taken alone or in conjunction with the accompanying drawings. It should be understood that the foregoing summary is provided to introduce in a simplified form a selection of concepts that are further described in the detailed description. It is not intended to identify key features or essential characteristics of the claimed subject matter, the scope of which is defined uniquely by the claims that follow the detailed description. Moreover, the claimed subject matter is not limited to implementations that solve shortcomings noted above or in any part of this disclosure. [Brief explanation of the drawings]
[0006] The various aspects of the present disclosure will be better understood by reading the following detailed description and by reviewing the drawings, in which: [Figure 1] FIG. 1 is a block schematic diagram of an exemplary network of imaging system scanners, in accordance with one or more embodiments of the present disclosure. [Figure 2] 1 is a block schematic diagram of an exemplary CT imaging system in accordance with one or more embodiments of the present disclosure. [Figure 3] 1 is a schematic diagram of a resource allocation system for allocating computing resources in a medical system in accordance with one or more embodiments of the present disclosure. [Figure 4] 1 is a flowchart illustrating an exemplary high-level method for performing a medical image scan in which data processing tasks for the scan may be performed on various local and remote computing instances in accordance with one or more embodiments of the present disclosure. [Figure 5] 1 is a flowchart illustrating a first exemplary method for allocating computing instances to perform data processing tasks for a medical image scan, in accordance with one or more embodiments of the present disclosure. [Figure 6] 10 is a flowchart illustrating a second exemplary method for allocating computing instances to perform data processing tasks for a medical image scan, in accordance with one or more embodiments of the present disclosure. [Figure 7] 1 is a flowchart illustrating an example method for dynamically reallocating processing tasks based on data transmission delays, in accordance with one or more embodiments of the present disclosure. [Figure 8] 1 is an exemplary look-up table illustrating a model for determining local execution preferences of processing tasks, in accordance with one or more embodiments of the present disclosure. [Figure 9] 1 is an exemplary look-up table illustrating bandwidth and processing resource consumption by various processing tasks, in accordance with one or more embodiments of the present disclosure. [Figure 10]FIG. 1 is a schematic diagram illustrating the distribution of data processing tasks across various local and remote compute instances in accordance with one or more embodiments of the present disclosure.
[0007] The drawings illustrate certain aspects of the described systems and methods. Together with the following description, the drawings illustrate and explain the structures, methods, and principles described herein. In the drawings, the dimensions of components may be exaggerated or otherwise modified for clarity. Well-known structures, materials, or operations have not been shown or described in detail to avoid obscuring aspects of the described components, systems, and methods. DETAILED DESCRIPTION OF THE INVENTION
[0008]
[0003] The present specification and embodiments of the subject matter disclosed herein relate to methods and systems for medical imaging systems that generate three-dimensional (3D) image volumes of scanned objects, such as a patient's anatomy. While computed tomography (CT) systems are described herein, it should be understood that the systems and methods described herein can be used with other types of medical imaging systems without departing from the scope of the present disclosure. For example, the systems and methods can be used with magnetic resonance (MR) imaging systems, positron emission tomography (PET) systems, dual-energy CT scanners, photon-counting CT scanners, or another type of imaging system.
[0009] As the amount of signal processing performed by CT, MR, PET, and other medical imaging systems increases, the processing of acquired data to generate images in these systems is increasingly performed via general-purpose CPU- and GPU-based infrastructure rather than specialized FPGAs, DSPs, or microcontrollers. Using this general-purpose computing infrastructure for processing acquired data can facilitate the reuse of the computing infrastructure for various purposes. This reuse can be facilitated (a) within a specific device, such as a scanner; (b) between devices of the same type (e.g., two CT devices); (c) between different types of imaging devices (e.g., between a CT device and an MR device); (d) between arbitrary devices (e.g., a CT device and an AI model for automated diagnosis); and / or (e) between local and remote devices (e.g., a CT device and a cloud application for PET reconstruction).
[0010] The computational infrastructure, or compute instance (CI), associated with a particular scanner or related local device is referred to herein as a local compute instance (LCI) (e.g., local to the scanner). The LCI can control the scanner, perform signal conditioning, and process sensor inputs. Using an LCI for such tasks, as opposed to a remote CI such as a cloud compute instance (CCI), can minimize time latency and ensure stable real-time or near-real-time processing.
[0011] However, for some scanners, such as CT scanners, each scan may last only a few seconds. Often, the LCI may be used for such low-latency applications for only a portion (e.g., a small portion) of the CT scanner's total available time (e.g., low duty cycle). As a result, after the scan, the LCI may be reused for other data processing applications, such as tomographic image reconstruction, image post-processing, etc. Reusing the LCI may include processing data on the same scanner, processing data acquired on a different CT scanner, and / or processing data acquired on a different type of scanner (e.g., when an MR scanner uses a CT LCI for image reconstruction). Additionally or alternatively, the LCI may be advantageously used to perform artificial intelligence (AI)-related tasks, such as automated opportunistic screening of health conditions by applying AI detection models to an institution's database of images, participating in a multi-site federated learning scheme to train AI models, and / or other tasks.
[0012] However, management of LCI resources, including determining which tasks to assign to a particular LCI and when, may not be performed efficiently. As a result, LCI resources may be available but unused, and other, more costly or less efficient resources may be used to perform processing tasks. For example, when LCI resources are available, data processing tasks may be performed by processing resources on a cloud-based server. Processing data in the cloud may be slower and less efficient than using LCI resources. Furthermore, cloud hardware may have high rental fees, and dispatching tasks to multiple local processing units may result in more cost-effective operations.
[0013] To address this issue, systems and methods are disclosed herein for increasing the efficiency of LCI resource utilization based on adaptive prioritization and centralized task allocation of tasks within and between LCIs. As described above, when operating in standalone mode, an LCI performs a specific set of basic operations according to its design, often preferably specialized for latency-sensitive tasks during scanning. When scanning is not occurring, an LCI can operate in collaborative mode, where it can be assigned or accept computational tasks. Such tasks may be containerized. In contrast to other systems that send requests for service to compute instances to determine availability, task allocation herein may be performed via a centralized controller, such as a resource allocation system, which may temporarily defer, prioritize, or deprioritize non-local tasks without sending requests for service and receiving responses. As a result, the effective boundaries defining where processing occurs (e.g., between local resources and between local and external computational resources) may be adjusted in real time, and LCI / CI allocation may be performed via a dynamic, descending priority list. In this manner, image processing tasks may be advantageously distributed among various LCIs to improve overall utilization of LCI resources, increase imaging system uptime, and / or minimize the time required for image reconstruction.
[0014] In particular, the methods and systems described herein can be advantageously used to improve or retrain AI models trusted by image processing systems. Various AI models may be deployed for use in various data processing tasks, and these may undergo periodic or constant refinement. While there are advantages to running such AI models using resources (e.g., remote resources) located on the cloud, medical scanners may need to remain operational even when external network connectivity fails, making fallback operation using an LCI (local to the machine or facility) highly desirable. For such purposes, a local version of such a model may be cached for operation on the LCI. A failure of an external network connection may generate a redistribution of task assignments to one or more LCIs within a still-connected network of resources. For example, a multi-site hospital with an operational intranet connection may redistribute tasks to available resources.
[0015] Similarly, if an LCI resource fails, the tasks assigned to the LCI resource may be reassigned to an alternative LCL and / or cloud-based resource. For example, if an image reconstruction server fails, another available resource may be used to reconstruct images from the scanner.
[0016] Additionally, in some embodiments, a computation accounting system may be implemented, whereby external use of LCI may be offered in exchange for computation and / or monetary compensation for achieving efficiency or financial goals. Such paid resource sharing may occur between departments of a single institution or between different entities. In some examples, LCI capabilities within a device may be owned or leased by a different entity to the device owner. The amount of compensation may be adjusted based not only on the actual computation performed, but also on other factors such as the priority of the assigned task, the desired execution speed, and the cost of electricity (or another utility) at the time the computation is performed. In this manner, the allocation of resources across a network, including LCI, may be determined in part by the cost, capabilities, and availability of distributed local resources on an adaptive, time-varying basis. As a result, the overall availability of scanner units may be increased while reducing the processing time and cost of data processing tasks.
[0017] 1 illustrates an exemplary simplified medical imaging ecosystem 100 that includes various networked medical facilities having imaging systems. Specifically, medical imaging ecosystem 100 includes a first medical facility 102 and a second medical facility 103 that operate as part of a medical system 106. That is, medical facilities 102 and 103 may be managed by the same administrator and may be electronically connected to the same internal network of medical system 106.
[0018] Medical facility 102 includes a CT scanner 110 and an MR scanner 120. CT scanner 110 includes an LCI 112 that can be used to process projection data acquired via CT scanner 110 to reconstruct CT images. Similarly, MR scanner 120 includes an LCI 122 that can be used to process projection data acquired via MR scanner 120 to reconstruct MR images.
[0019] Medical facility 103 includes a CT scanner 130 and a PET scanner 140. CT scanner 130 includes an LCI 132 that can be used to process projection data acquired via CT scanner 130 to reconstruct CT images. Similarly, PET scanner 140 includes an LCI 142 that can be used to process projection data acquired via PET scanner 140 to reconstruct PET images.
[0020] However, within the medical system 106, the CT scanner 110, the MR scanner 120, the CT scanner 130, and the PET scanner 140 are not necessarily all in use at the same time. For example, on the first day, there may be a high demand for the CT scanner 110 and the CT scanner 130, causing the LCIs 112 and 132 to be used continuously, while there may be a period on the first day when there is a low demand for the MR scanner 120 and the PET scanner 140, causing the LCIs 122 and 142 not to be used. On the second day, there may be a low demand for the CT scanner 110 and the CT scanner 130, causing the LCIs 112 and 132 not to be used continuously, while there may be a high demand for the MR scanner 120 and the PET scanner 140, causing the LCIs 122 and 142 to be used continuously.
[0021] To increase the efficiency of use of the LCIs 112, 122, 132, and 142, the medical system 106 includes a resource allocation system 105 that can be used to distribute processing tasks to the LCIs 112, 122, 132, and 142 in a balanced and advantageous manner. For example, on the first day, the resource allocation system 105 can distribute some of the processing tasks normally performed by the LCIs 112 and 132 to one or both of the LCIs 122 and 142. For example, a scan may be performed by the CT scanner 110, and projection data may be acquired during the scan. However, rather than processing the projection data in the LCI 112 and reconstructing an image from the projection data, the projection data may be sent to the LCI 142, which then processes the projection data and reconstructs the image. The reconstructed image data may then be stored in an image database 107 in the medical system 106, which may be accessible by radiologists and caregivers at both the medical facility 102 and the medical facility 104.
[0022] By performing image reconstruction on LCI 142 rather than LCI 112, the time spent by LCI 112 to process CT scans may be reduced. Reducing the time spent by LCI 112 on CT scans may result in increased availability of CT scanner 110 for use with other patients, thereby increasing the number of CT scans performed using CT scanner 110. In this manner, demand on CT scanner 110 may be advantageously met / reduced by performing image reconstruction on LCI 142. Processing on LCI 142 may be performed during times when LCI 142 is not in use as a result of low demand on PET scanner 140. On a second day when demand for MR scanner 120 and PET scanner 140 is high, processing tasks typically performed via LCI 122 and LCI 142, respectively, may be similarly performed on one or both of LCI 112 and LCI 132 to increase the throughput of MR scanner 120 and PET scanner 140.
[0023] The medical imaging ecosystem 100 further includes a third medical facility 104 that includes a CT scanner 150 and a PET scanner 160. Data processing tasks performed on data acquired via the CT scanner 150 may be executed on the LCI 152, and data processing tasks performed on data acquired via the PET scanner 160 may be executed on the LCI 162. The medical facility 104 is not included within the medical system 106. For example, the medical facility 104 may be included within a different medical system. However, the LCIs 152 and 162 may be communicatively coupled to the medical system 106 via an external network 190. In this manner, the resource allocation system 105 may access the LCI 152 and / or the LCI 162 via the external network 190. As a result, when there may be high demand for all of the CT scanner 110, the MR scanner 120, the CT scanner 130, and the PET scanner 140, and all of the LCIs 112, 122, 132, and 142 may be in use, the resource allocation system 105 may send processing tasks to the medical facility 104 to be performed on the LCIs 152 and / or 162 when the LCIs 152 and / or 162 are not in use, in the manner described above.
[0024] That is, in some embodiments, the medical facility 104 can provide data processing as a service for the LCIs 152 and / or 162 when the LCIs 152 and / or 162 are not in use. The medical system 106 may compensate the medical facility 104 via a financial arrangement, which may benefit both the medical system 106 (e.g., increased throughput) and the medical facility 104 (e.g., additional revenue). Conversely, the medical system 106 can provide data processing as a service on one or more of the LCIs 112, 122, 132, and 142 when the LCIs 112, 122, 132, and 142 are not in use.
[0025] Medical image processing ecosystem 100 also includes one or more cloud computing instances (CCIs) 108 that may be communicatively coupled to medical facility 102, medical facility 103, and / or medical facility 104 via the Internet. As a result, resource allocation system 105 may utilize CCIs 108 to perform data processing tasks that would normally be performed on one or more of LCIs 112, 122, 132, and 142. For example, if all of LCIs 112, 122, 132, and 142 are in use and there is high demand for one or more scanners at medical facility 102 and medical facility 103, resource allocation system 105 may advantageously send some of the data processing tasks that would normally be performed on one or more of LCIs 112, 122, 132, and 142 to one or more CCIs 108. Furthermore, some processing tasks may depend on greater processing and memory resources than are available at LCIs 112, 122, 132, and 142.
[0026] To this end, the resource allocation system 105 can monitor the availability of the LCIs 112, 122, 132, and 142 in the medical system 106, the availability of the LCIs 152 and 162 in the medical facility 104, and data transmission delays between the medical system 106 and the CCI 108 to determine a strategy for distributing processing tasks across the medical imaging ecosystem 100 in a manner that maximizes utilization of the CT scanner 110, the MR scanner 120, the CT scanner 130, and the PET scanner 140 and balances the workload among the LCIs 112, 122, 132, and 142. The strategy can include dynamically prioritizing and reprioritizing tasks according to availability and latency data, as described in more detail below with reference to FIGS.
[0027] The strategy may also include following a hierarchy of CIs, where processing tasks may be initially assigned to a primary LCI, which is an LCI integrated with or associated with a scanner, and then reassigned to more remote CIs based on the strategy. For example, with reference to FIG. 10 , a medical imaging ecosystem 1000, such as medical imaging ecosystem 100, may include multiple scanner LCIs, such as a first scanner LCI 1002, a second scanner LCI 1004, and so on, up to an Nth scanner LCI 1006. In one embodiment, processing tasks may be initially assigned to the same scanner, i.e., if a scan is performed using the first scanner LCI 1002, data acquired during the scan may be preferentially processed on the first scanner LCI 1002; if a scan is performed using the second scanner LCI 1004, data acquired during the scan may be preferentially processed on the first scanner LCI 1004; and so on.
[0028] The additional LCIs may be communicatively coupled to the first scanner LCI 1002, the second scanner LCI 1004, and the Nth scanner LCI 1006, as described above. For example, the first additional LCI 1012 may be communicatively coupled to the first scanner LCI 1002 and the second scanner LCI 1004, and the second additional LCI 1014 may be communicatively coupled to the first scanner LCI 1002, the second scanner LCI 1004, and the Nth scanner LCI 1006. Thus, to reduce the computational load on the first scanner LCI 1002, one or more processing tasks normally performed on the first scanner LCI 1002 may be transferred to and performed on one or both of the first additional LCI 1012 and the second additional LCI 1014. Once one or more processing tasks are completed, the resulting image and / or data may be transferred back to the first scanner LCI 1002. Performing a processing task on the first additional LCI 1012 or the second additional LCI 1014 rather than the first scanner LCI 1002 may be advantageous if the amount of time required to transfer a first data set of the processing task to the first additional LCI 1012 or the second additional LCI 1014, process the first data set, and transfer the resulting second data set from performing the processing task back to the first scanner LCI 1002 is less than the amount of time required to perform the processing task on the first scanner LCI 1002. For example, the first additional LCI 1012 and the second additional LCI 1014 may have greater processing resources than the first scanner LCI 1002. Performing a processing task on the first additional LCI 1012 or the second additional LCI 1014 rather than the first scanner LCI 1002 may also be advantageous if, for example, it facilitates the first scanner LCI 1002 being used to perform more scans during an operational shift.
[0029] The medical imaging ecosystem 1000 may also include one or more CCIs 1020 that may be communicatively coupled to all of the first additional LCI 1012, the second additional LCI 1014, the first scanner LCI 1002, the second scanner LCI 1004, and the Nth scanner LCI 1006. If, during execution of a processing task on the first additional LCI 1012 or the second additional LCI 1014, it is determined that the overall processing time (e.g., including data transmission time) of the first data set can be reduced by executing the processing task on the CCI 1020, the processing task may be transferred to the CCI 1020 for processing. After the CCI 1020 finishes processing the processing task, the second data set is transmitted to the first scanner LCI 1002.
[0030] In other words, processing tasks are first preferentially reallocated to additional LCIs available via the internal network or external network based on a first evaluation of the additional LCIs' available resources, and then reallocated to CCIs based on a second evaluation of the CCIs' available resources. If no additional LCIs are available for processing task reallocation, the processing task may be reallocated to a CCI based on the second evaluation. Reallocating processing tasks in this manner may enforce a general preference for performing processing tasks locally. Performing processing tasks locally may improve the stability and reliability of the image reconstruction process.
[0031] It should be understood that the examples shown in Figures 1 and 10 are for illustrative purposes only, and that in other examples, the medical imaging ecosystem 100 may include different types of scanners and LCIs distributed across different medical systems.
[0032] 2, an exemplary X-ray imaging system 200, such as a CT imaging system, is shown. The X-ray imaging system 200 may be configured to image a subject lying on a table 280, such as a patient, an inanimate object, one or more manufactured parts, and / or foreign objects present within the patient, such as dental implants, stents, and / or contrast media.
[0033] In some embodiments, the X-ray imaging system 200 includes a gantry 282, which may further include at least one X-ray source 284 configured to project an X-ray radiation beam 286 used to image the subject. Specifically, the X-ray source 284 is configured to project the X-ray radiation beam 286 toward a detector array 288 located on the opposite side of the gantry 282. The X-ray source 284 may project a cone-shaped X-ray radiation beam that is collimated to lie within an X-Y-Z plane of a Cartesian coordinate system and is commonly referred to as an "imaging plane." The X-ray radiation beam passes through an imaging object, such as a subject. After being attenuated by the object, the X-ray radiation beam impinges on an array of detector elements 202 of the detector array 288. In some embodiments, the detector array 288 may be fabricated in a multi-slice configuration including multiple detector elements 202, and may be fabricated with one or more additional rows of detector elements 202 arranged in a parallel configuration to acquire projection data.
[0034] The intensity of the attenuated X-ray radiation beam received at the detector array depends on the attenuation of the X-ray radiation beam by the object. Each detector element 202 of the array produces a separate electrical signal that is a measurement of the attenuation of the X-ray beam at the detector location. The attenuation measurements from all detector elements are acquired separately to generate a transmission profile. A group of X-ray radiation attenuation measurements, e.g., projection data, from the detector array at a gantry angle is called a "view." A "scan" of an object includes a series of views made at different gantry angles (view angles) during one rotation of the X-ray source and detector.
[0035] The x-ray source 284 includes an anode and a cathode. Electrons emitted by the cathode (e.g., due to energization of the cathode) may be intercepted by a target positioned at or near the anode. The electrons intercepted by the target release energy in the form of x-rays, which are directed toward a detector array 288. The area of the target surface that receives electrons from the cathode and forms the emitted x-rays may be referred to herein as a focal spot. The emitted x-rays may be focused onto a portion of the subject at the effective focal spot.
[0036] While a single x-ray source 284 is depicted in Figure 2, in certain embodiments, multiple x-ray sources and detectors can be employed to project multiple beams of x-ray radiation to acquire projection data at different energy levels corresponding to the patient. In some embodiments, the x-ray detectors employed are photon-counting detectors capable of distinguishing between x-ray photons of different energies. In other embodiments, two sets of x-ray sources and detectors are used, one at a low kVp and the other at a high kVp, to generate dual-energy projections.
[0037] In certain embodiments, the x-ray imaging system 200 is configured to traverse different angular positions around the subject 204 to acquire desired projection data. Thus, the gantry 282 and the components mounted thereon may be configured to rotate about the center of rotation 206 to acquire projection data at different energy levels, for example. Alternatively, in embodiments in which the projection angle relative to the subject 204 changes as a function of time, the mounted components may be configured to move along a general curve rather than along a segment of a circle.
[0038] As the x-ray source 284 and detector array 288 rotate, the detector array 288 collects data of the attenuated x-ray beam. The data collected by the detector array 288 undergoes pre-processing and calibration to condition the data to represent line integrals of the attenuation coefficients of the scanned object 204. The processed data is commonly referred to as projections. In some embodiments, individual detectors or detector elements 202 of the detector array 288 may include photon-counting detectors that register individual photon interactions into one or more energy bins. It should be understood that the methods described herein may also be implemented with energy-integrating detectors.
[0039] In one embodiment, the X-ray imaging system 200 includes a control mechanism 208 that controls the movement of components such as the rotation of the gantry 282 and the operation of the X-ray source 284. In some embodiments, the control mechanism 208 further includes an X-ray controller 210 configured to provide power and timing signals to the X-ray source 284. Additionally, the control mechanism 208 includes a gantry motor controller 212 configured to control the rotational speed and / or position of the gantry 282 based on imaging requirements.
[0040] In certain embodiments, the control mechanism 208 further includes a data acquisition system (DAS) 214 configured to sample analog data received from the detector elements 202 and convert the analog data to a digital signal for subsequent processing. The DAS 214 may be further configured to selectively aggregate analog data from a subset of the detector elements 202 into a so-called macro-detector, as described further herein. The data sampled and digitized by the DAS 214 is transmitted to a computer or computing device 216. In one example, the computing device 216 stores the data in a storage device or mass storage device 218. The storage device 218 may be, for example, any type of non-transitory memory and may include a hard disk drive, a floppy disk drive, a compact disk read / write (CD-R / W) drive, a digital versatile disk (DVD) drive, a flash drive, and / or a solid-state storage drive.
[0041] Additionally, the computing device 216 provides commands and parameters to one or more of the DAS 214, the X-ray controller 210, and the gantry motor controller 212 to control system operations such as data acquisition and / or processing. The computing device 216 can function as an image processor unit configured to reconstruct an image of a target volume of a subject using an iterative or analytical image reconstruction method. For example, the image processor unit may use an analytical image reconstruction approach such as filtered back projection (FBP) to reconstruct an image of the target volume of the patient. As another example, the image processor can reconstruct an image of the target volume of the subject using an iterative image reconstruction approach such as advanced statistical iterative reconstruction (ASIR), conjugate gradient (CG), maximum likelihood expectation maximization (MLEM), model-based iterative reconstruction (MBIR), etc.
[0042] In certain embodiments, computing device 216 controls system operation based on operator input. Computing device 216 receives operator input including commands and / or scanning parameters, for example, via an operator console 220 operably coupled to computing device 216. Operator console 220 may include a keyboard (not shown) or a touch screen to allow an operator to specify commands and / or scanning parameters.
[0043] 2 illustrates one operator console 220, multiple operator consoles may be coupled to the radiography system 200, for example, to input or output system parameters, request examinations, plot data, and / or view images. Additionally, in certain embodiments, the radiography system 200 may be coupled to multiple displays, printers, workstations, and / or similar devices located either locally or remotely, for example, within an institution or hospital, or at another location entirely, via one or more configurable wired and / or wireless networks, such as the Internet and / or a virtual private network, a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, or the like.
[0044] In one embodiment, for example, X-ray imaging system 200 includes or is coupled to a Picture Archiving and Communication System (PACS) 224. In an exemplary implementation, PACS 224 is further coupled to a remote system, such as a radiology department information system, a hospital information system, and / or an internal or external network (not shown), allowing operators at different locations to provide commands and parameters and / or access image data.
[0045] The computing device 216 uses operator-supplied and / or system-defined commands and parameters to operate a table motor controller 226, which may control the table 114, which may be a motorized table. In particular, the table motor controller 226 may move the table 114 to properly position the subject 204 within the gantry 282 to acquire projection data corresponding to a target volume of the subject 204.
[0046] As mentioned above, DAS 214 samples and digitizes the projection data acquired by detector elements 202. Image reconstructor 230 then performs high-speed reconstruction using the sampled and digitized x-ray data. While FIG. 2 illustrates image reconstructor 230 as a separate entity, in certain embodiments, image reconstructor 230 may form part of computing device 216. Alternatively, image reconstructor 230 may not be present in x-ray imaging system 200; instead, computing device 216 may perform one or more functions of image reconstructor 230. Furthermore, image reconstructor 230 may be located locally or remotely and operably connected to x-ray imaging system 200 using a wired or wireless network. In particular, in an exemplary embodiment, image reconstructor 230 may use computing resources in a “cloud” network cluster.
[0047] In one embodiment, image reconstructor 230 stores the reconstructed image in storage device 218. Alternatively, image reconstructor 230 may transmit the reconstructed image to computing device 216 to generate patient information useful for diagnosis and evaluation. In certain embodiments, computing device 216 may transmit the reconstructed image and / or patient information to a display or presentation device 232 communicatively coupled to computing device 216 and / or image reconstructor 230. In some embodiments, the reconstructed image may be transmitted from computing device 216 or image reconstructor 230 to storage device 218 for short-term or long-term storage.
[0048] Additionally, either or both of computing device 216 and image reconstructor 230 may be communicatively coupled to network 250, such as a wireless network. Via network 250, computing device 216 and / or image reconstructor 230 may communicate with other computing devices of other imaging systems and / or cloud-based CCIs. The other imaging systems may include imaging systems within the same medical facility or imaging systems within different medical facilities, including outside the medical system of x-ray imaging system 200. Via network 250, processing tasks typically performed on computing device 216 and image reconstructor 230 may be transmitted to other computing devices (e.g., LCIs) of other imaging systems and / or cloud-based CCIs for processing, as described above with reference to FIG. 1 . Processing tasks may also be received from other computing devices and executed on computing device 216 and / or image reconstructor 230.
[0049] 3, an exemplary resource allocation system 302 of a medical imaging ecosystem 300 is shown, which may be a non-limiting example of the medical imaging ecosystem 100 of FIG. 1. The medical imaging ecosystem 300 may include one or more imaging systems, such as a CT imaging system (e.g., X-ray imaging system 200 of FIG. 2), an MR imaging system, a PET imaging system, or a different type of imaging system, which may be communicatively coupled to each other and to the resource allocation system 302. In particular, the resource allocation system 302 may be communicatively coupled to an MR scanner LCI 342, a CT scanner LCI 344, and one or more additional LCIs of additional imaging systems (e.g., other CT imaging systems, other MR imaging systems, PET imaging systems, SPECT imaging systems, CT-GSI imaging systems, and / or different types of imaging systems).
[0050] In various embodiments, imaging data from the MR scanner LCI 342, the CT scanner LCI 344, and one or more additional LCIs of the additional imaging system may be received and processed via the processor 304 based on instructions stored in one or more modules of the non-transitory memory 306 and / or based on instructions (e.g., medical image data 314) stored in the non-transitory memory 306.
[0051] The resource allocation system 302 may be used to allocate resources within the medical imaging ecosystem 300, as described in more detail herein. The resource allocation system 302 may be located on a computing device local to one or more of the one or more imaging systems of the medical imaging ecosystem 300 and may be communicatively coupled to local and remote elements of the medical imaging ecosystem 300 via wired and / or wireless connections. The computing device may configure local compute instances (LCIs) available to perform computational tasks specific to the functionality of the one or more imaging systems, including image processing tasks such as image segmentation, pathology detection, noise / artifact removal, etc. The medical imaging processing ecosystem 300 may also include one or more cloud compute instances (CCIs) 350 that are communicatively coupled to the resource allocation system 302 and may configure additional processing resources available to perform computational tasks.
[0052] The processor 304 may be configured to execute machine-readable instructions stored in non-transitory memory 306. The processor 304 may be single-core or multi-core, and programs executing thereon may be configured for parallel or distributed processing. In some embodiments, the processor 304 may optionally include individual components distributed across two or more devices, which may be remotely located and / or configured for cooperative processing. In some embodiments, one or more aspects of the processor 304 may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.
[0053] The non-transitory memory 306 may store an AI module 307, which may include various AI models and algorithms that may be applied to image data received from one or more imaging systems and / or other elements of the imaging ecosystem 300. The various AI models may include probabilistic models, statistical models, rule-based models, and machine learning (ML) and / or deep learning (DL) neural network models, as well as instructions for implementing the AI, ML, and / or DL models to perform various tasks on medical images generated by the imaging ecosystem 300. For example, the AI models may be used to detect, identify, segment, label, and / or extract features of medical images, including anatomical features (e.g., organs, systems, blood vessels, arteries, bones, etc.) and findings (e.g., tumors, nodules, lesions, scars, etc.), among others. In some examples, the AI module 307 includes instructions for implementing one or more gradient descent algorithms, instructions for applying one or more loss functions, and / or training routines for use in tuning parameters of the ML and / or DL models. In some embodiments, the AI module 307 includes instructions for training the ML and / or DL using federated learning, where training data is received from one or more image processing systems in a distributed manner.
[0054] Specifically, the AI module 307 may store a neural network module 308, a network training module 310, an inference module 312, and medical image data 314. The neural network module 308 may include one or more ML and / or DL models and instructions for implementing the ML and / or DL models to perform various tasks. The neural network module 308 may include one or more trained and / or untrained neural networks and may further include various data, or metadata, associated with the one or more neural networks stored therein.
[0055] The training module 310 may include instructions for training one or more of the neural networks that implement the DL models stored in the neural network module 308. The inference module 312 may store one or more trained neural networks or other types of trained models for performing various tasks.
[0056] The non-transitory memory 306 also stores medical image data 314. The medical image data 314 may include images acquired by one or more imaging systems. The medical image data 314 may include medical images acquired via a scanner, which may be, for example, an MRI scanner, a CT scanner, a spectral imaging scanner, or a different imaging modality of the imaging ecosystem 300. The scanner may be any imaging device configured to image an object, such as a patient, an inanimate object, one or more manufactured parts, and / or a foreign object present in a body, such as a dental implant, a stent, and / or a contrast agent. The medical images and imaging data stored as the medical image data 314 may be processed based on instructions stored in the non-transitory memory 306 and may be processed by one or more AI models stored in the AI module 307.
[0057] The resource allocation system 302 may be operatively / communicatively coupled to a user input device 332 and a display device 334. The user input device 332 may consist of one or more of a touch screen, keyboard, mouse, trackpad, motion-sensing camera, or other device configured to allow a user to interact with and manipulate data in the resource allocation system 302. The display device 334 may include one or more display devices utilizing virtually any type of technology. In some embodiments, the display device 334 may consist of a computer monitor and may display medical images. The display device 334 may be combined with the processor 304, non-transitory memory 306, and / or user input device 332 in a shared enclosure or may be a peripheral display device and may consist of a monitor, touch screen, projector, or other display device known in the art, allowing a user to view medical images generated by the medical imaging ecosystem 300 and / or interact with the medical image data 314 and various data stored in the non-transitory memory 306. In some examples, display device 334 may be the same as or similar to display device 232 of FIG.
[0058] The non-transitory memory 306 may also include a priority model 320. The resource allocation system 302 may allocate resources of the medical imaging ecosystem 300 to execute various computational tasks performed during operation of the one or more imaging systems based on the priority model 320. The priority model 320 may take as input one or more computational tasks to be executed and output a priority score for each computational task of the one or more computational tasks. The priority score may indicate a priority for executing the respective computational task in a local processing resource, such as the processor 304 (e.g., a local LCI), as opposed to one or more of the MR scanner LCI 342, the CT scanner LCI 344, and / or the additional LCI 346 or CCI 350 of the one or more imaging systems. Resources of the processor 304, the MR scanner LCI 342, the CT scanner LCI 344, and / or the additional LCI 346, and the one or more CCI 350 may be allocated according to the assigned priority scores.
[0059] It should be understood that the resource allocation system 302 shown in Figure 1 is for purposes of illustration and not limitation, and other suitable image processing systems may include more, fewer, or different components.
[0060] 4, a method 400 is shown for performing a scan using a medical imaging system and reconstructing an image from data acquired during the scan, where data processing tasks for the scan may be performed in a distributed manner on various local and remote computing instances to maximize the efficiency of use of local and remote resources and reduce the amount of time spent on the scan. Method 400 and other methods described herein may be performed by a processor of a resource allocation system associated with one or more medical imaging systems, such as processor 304 of resource allocation system 302 of FIG.
[0061] Method 400 begins at 402, where method 400 includes receiving a scan protocol and additional instructions for performing a scan, including reconstruction parameters or other settings that may not be included in the protocol, and a primary LCI. The primary LCI may be an LCI integrated into a scanner of an imaging system, such as MR scanner LCI 342, CT scanner LCI 344 of FIG. 3, and LCIs 112, 122, 132, 142, 152, and 162 of FIG. 1. The primary LCI may be an LCI that is normally or preferentially used to perform processing tasks included in performing a scan with the scanner. For example, if the scanner is not connected to a network, all processing tasks included in performing a scan may be performed by the primary LCI. In some embodiments, the protocol, scan settings, reconstruction parameters, and / or additional instructions may be selected, adjusted, or customized by a user of the medical imaging system.
[0062] At 404, method 400 includes determining a plurality of processing tasks involved in performing a scan and subsequent image reconstruction. The processing tasks may include tasks involved in performing a scan, such as scan setup (e.g., determining scan parameters and scan protocol, patient positioning, scan timing, injection parameters, etc.), scan technique selection, and real-time scan control during the scan (e.g., performing a real-time feedback loop to adjust the scan parameters based on raw scan data, ECG data, respiratory phase, or other sensor data). The processing tasks may also include quality control and full quality image reconstruction / generation tasks, such as hardware calibration, pile-up correction and other data corrections, material decomposition, filtering, backprojection, tomographic reconstruction, etc. The image reconstruction task may also include image processing tasks to improve the quality of the reconstructed image, such as noise removal, artifact removal, and motion compensation.Processing tasks may also include image analysis tasks, such as detection and characterization of tumors, lesions, nodules, and / or other abnormalities in images, segmentation, dimension estimation, registration, and report generation, which may be performed using one or more AI or ML models. In general, processing tasks may include any processing task performed as part of the scanning process to produce images of desired quality for diagnosing a patient. It should be understood that many of the above tasks may be AI-based or non-AI-based.
[0063] At 406, method 400 includes assigning a CI to perform each processing task of the plurality of processing tasks. Each processing task may be performed by a different CI, or various processing tasks may be performed by a single CI. The CI may be an LCI or a CCI. The CI may be assigned by following one or more steps of method 500 of FIG. 5, described below.
[0064] At 408, method 400 includes performing the scan according to the scan protocol and executing each processing task on the assigned CI. For example, a first processing task or set of processing tasks for the scan may be performed on a first LCI, such as scan technique selection, patient setup, and / or real-time scan control. A second processing task or set of processing tasks for the scan may be performed on one or more LCIs of a device coupled to the primary LCI (e.g., LCIs 112, 122, 132, and 142 in FIG. 1 ), such as one or more image reconstruction tasks. A third processing task or set of processing tasks for the scan may be performed on one or more LCIs of a device coupled to the primary LCI via an external network (e.g., LCIs 152 and 162), such as additional image processing tasks. A fourth processing task or set of processing tasks for the scan may be performed on one or more CCIs (e.g., CCI 108) available via the internet, such as a computationally intensive AI-based detection algorithm. In this manner, each of the LCIs and CCIs may perform a portion of the total processing involved in performing the scan. Each processing task may, for example, depend on input data from previous processing tasks and may generate output data that may be input to subsequent processing tasks. In various embodiments, the output data may be stored in a memory of the resource allocation system, and the output data may be retrieved by one or more LCIs or CCIs for further processing.
[0065] At 410, performing a scan according to a scan protocol includes monitoring data transmission latency when transmitting data between two or more LCIs and / or CCIs. If the data transmission delay exceeds a threshold delay, one or more processing tasks may be reallocated to improve the overall efficiency of the imaging system, as described in more detail below with reference to FIG.
[0066] At 412, the method 400 includes displaying the reconstructed image on a display device, such as display device 334 of Figure 3. The method 400 ends.
[0067] 5, an exemplary method 500 for assigning CIs to perform data processing tasks for a medical image scan is shown in accordance with one or more embodiments of the present disclosure. In various embodiments, method 500 may be performed as part of method 400 of FIG.
[0068] Method 500 begins at 502, where method 500 includes receiving a processing task to be performed and a primary LCI associated with the scanner on which the scan was initiated. The processing task may be one of multiple processing tasks determined as part of method 400.
[0069] At 504, the method 500 includes retrieving the priority assigned to the task from a lookup table. For example, the lookup table may be stored in a memory (e.g., the non-transitory memory 306) of the resource allocation system. The lookup table may indicate assigned priorities for multiple processing tasks. In various embodiments, the assigned priorities may be manually predefined by human experts, such as medical physicists or radiologists, of the medical image processing system (e.g., the medical system 106). The priorities may be numeric, such as numbers from 1 to 10. For example, the number 1 indicates the highest priority, the number 2 indicates the next highest priority, the number 3 indicates the next highest priority, and so on. In some cases, different processing tasks may be assigned the same priority. The priority of a processing task may indicate the priority order in which the processing task is executed. The priority may also indicate the preference for executing the processing task on a local resource rather than a remote resource, as described in more detail below.
[0070] At 506, method 500 includes determining whether the assigned priority of the processing task retrieved from the lookup table is less than a threshold priority. For example, the threshold priority may be 3, and if the processing task is assigned a priority of 1 or 2, the assigned priority is less than the threshold priority and the answer is "yes." Alternatively, if the assigned priority is 4, 5, or a higher number, the assigned priority is not less than the threshold priority and the answer is "no."
[0071] If, at 506, it is determined that the priority assigned to the processing task is less than the threshold priority, method 500 proceeds to 508. At 508, method 500 includes selecting a primary LCI for performing the processing task and, at 518, assigning the processing task to the primary LCI. In other words, a higher or highest priority processing task may be assigned to an LCI integrated with the scanner used to perform the scan. In some cases, high priority processing tasks may only be performed on the primary LCI. For example, some scan configuration tasks may not be performed on a remote LCI or CCI.
[0072] Alternatively, if it is determined in 506 that the priority assigned to the processing task is not below the threshold priority, method 500 proceeds to 510. In 510, method 500 includes determining a set of candidate CIs for performing the processing task based on the accessibility of CIs coupled or connected to the primary LCI and / or the resource allocation system. For example, the primary LCI may be integrated into a CT scanner (e.g., CT scanner 110 of medical system 106) at a medical facility. The medical facility may include different types of scanners, such as MR scanners (e.g., MR scanner 120), which may have LCIs on which the processing task may be performed. Different scanners at different medical facilities (e.g., CT scanners 130 and 150 and PET scanners 140 and 160) may have LCIs on which the processing task may be performed, where the different medical facilities may be medical facilities of the same medical system (e.g., medical facility 103) or medical facilities outside the medical system (e.g., medical facility 104). Any LCI detected via a local network or an external network may be considered a candidate CI. In other words, an inventory of candidate CIs for performing the processing task may be generated, including the primary LCI and any accessible CCIs.
[0073] At 512, the method 500 includes selecting a CI for performing the processing task that maximizes utilization of all candidate CIs, including the primary LCI, based on the assigned priorities. Selecting a CI that maximizes utilization of all candidate CIs is described below with reference to FIG. 6.
[0074] At 514, the method 500 includes determining whether a CCI or an external LCI is selected to perform the processing task, where the CCI or external LCI relies on a network to transmit data to and from the primary LCI. If the processing task is assigned to a CCI or external LCI, the method 500 proceeds to 516.
[0075] At 516, method 500 includes creating a local fallback version of the models, parameters, and data used by the CCI to perform the processing task. Because medical scanners are trusted to be operational even when external network connectivity fails, fallback operation using the primary LCI or another LCI within the same medical facility as the scanner / primary LCI may be desirable. For such purposes, local versions of the AI and / or ML models used by the CCI can be cached at the primary LCI or a different LCI so that a failure of the external network connection can result in a redistribution of task assignments to LCIs within a still-connected network of resources. For example, a multi-site hospital may lose internet connectivity but redistribute tasks to accessible local resources of the multi-site hospital. In such a case, the cached versions of the AI and / or ML models can be used to resume execution of the processing task on the local resources.
[0076] At 518, the method 500 includes assigning the processing task to the selected CI, and the method 500 ends.
[0077] 6, a method 600 is shown for selecting a CI that maximizes utilization efficiency of a plurality of candidate CIs, including a primary LCI, an LCI within a shared facility, an LCI outside the shared facility, and a CCI located in the cloud. In various embodiments, method 600 may be performed as part of method 500 of FIG. 5 described above. It should be understood that in different embodiments, one or more steps of method 600 may be performed in a different order than described below.
[0078] Method 600 begins at 602, where method 600 includes receiving a data processing task to be performed, a primary LCI where the task was generated, an assigned priority of the processing task, and a selection of candidate CIs, which may be determined in accordance with method 500. The processing task may be part of a process for reconstructing an image, or the processing task may be a post-reconstruction processing task. For example, the post-reconstruction task may include analyzing the reconstructed image to detect a health condition of the patient in the reconstructed image using an AI model.
[0079] At 604, the method 600 includes calculating a data transmission time for transmitting the processing task to each candidate CI. The data transmission time may include a first amount of time for data to be transmitted to the candidate CI and a second amount of time for data generated during processing of the processing task to be transmitted from the candidate CI to the primary LCI. If the candidate CI is the primary LCI, the data transmission time may be negligible. The data transmission time may be calculated based on the size or amount of data to be transmitted and a currently measured data transmission rate between the primary LCI and the candidate CI based on the available bandwidth at the time of assignment of the processing task.
[0080] At 606, method 600 includes calculating a computation time for performing the task on each candidate CI. The computation time may be estimated based on historical processing times of similar processing tasks and the computational and memory resources available at each available CI. In some embodiments, the computation times may be predefined by a human expert and stored in a lookup table, and calculating the computation time may include retrieving the computation time from the lookup table.
[0081] At 608, method 600 includes determining whether the data transmission time to the candidate CCI is within acceptable latency limits for transmitting the processing task to the candidate CCI. The acceptable latency limits may be different for processing tasks of different priorities. In various examples, a model such as a decision tree model may be used to determine whether the data transmission time to the candidate CCI is within acceptable latency limits for transmitting the processing task based on the priority of the processing task.
[0082] Briefly referring to FIG. 8 , an exemplary model 800 for determining whether data transmission times are within acceptable delay limits for transmitting various processing tasks of a pulmonary screening test to a candidate CCI is shown. Model 800 is a decision tree model depicted as a table 802, where rows of table 802 indicate processing tasks included in the pulmonary screening test, and latency conditions of model 800 are imposed by a series of columns of table 802. Thus, model 800 may be implemented (e.g., by a processor) by reading table 802, where cells of table 802 indicate a priority between local processing and cloud-based processing for the task corresponding to the row of the cell based on the delay limit indicated by the column of the cell. In some examples, a user may edit the table according to their preferences.
[0083] For example, a first processing task for real-time scan control is shown in the first row 804 of table 802. Reading across table 802 to first row 804, the first column 806 indicates that the priority of the first processing task is 1. If the priority is 1, the second column 807 indicates that if the transmission time for transmitting the first processing task's data to and from the candidate CCI is negligible, the first processing task is preferentially executed locally and on the LCI rather than the CCI. The third column 808 indicates that if the transmission time for transmitting the first processing task's data to and from the candidate CCI is greater than 1 second, the first processing task is preferentially executed locally. The fourth column 809 indicates that if the transmission time for transmitting the first processing task's data to and from the candidate CCI is greater than 10 seconds, the first processing task is preferentially executed locally. The fifth column 810 indicates that if the transmission time for transmitting the first processing task's data to and from the candidate CCI is greater than 1 minute, the first processing task is preferentially executed locally.
[0084] The second processing task for patient setup is shown in the second row 814 of table 802. Reading across table 802 to second row 814, the first column 806 indicates that the first processing task has a priority of 2. If the priority is 2, the second column 807 indicates that the second processing task may be executed on the CCI rather than locally if the transmission time for transmitting the second processing task's data to and from the candidate CCI is negligible. The third column 808 indicates that the second processing task is preferentially executed locally if the transmission time for transmitting the second processing task's data to and from the candidate CCI is greater than 1 second. The fourth column 809 indicates that the second processing task is preferentially executed locally if the transmission time for transmitting the second processing task's data to and from the candidate CCI is greater than 10 seconds. The fifth column 810 indicates that the second processing task is preferentially executed locally if the transmission time for transmitting the second processing task's data to and from the candidate CCI is greater than 1 minute.
[0085] In this manner, table 802 indicates, for each processing task of a lung screening test, whether the processing task is preferentially performed on the LCL or whether the processing task can be performed on the CCI. Some low-priority processing tasks, such as real-time scan control, may be preferentially performed on the primary LCL (e.g., where the test is being performed) for practical, logistical, or legal reasons, regardless of the data transmission time to the CCI. Such low-priority processing tasks can be addressed in step 508 of method 500. Other, higher-priority tasks can be performed on either the LCL or the CCI, depending on the data transmission time to and from the CCI. In this manner, model 800 can be used to roughly determine whether a CCI is suitable for performing a processing task based on the data transmission time to and from the CCI.
[0086] The determination of the preference for performing a processing task on the LCL as opposed to performing the processing task on the CCI may also be based on the computation time of the processing task on the CCI. In some embodiments, a general preference for local versus remote processing may be initially determined based on general estimates of available bandwidth and computation time, predefined (e.g., by a human expert) and stored in a lookup table. The general preference can then be decomposed into a specific preference for local versus remote processing in a model based on different delay thresholds for specific CCIs, as described above.
[0087] Referring briefly to FIG. 9 , an exemplary lookup table 900 illustrates a set of general preferences for local versus remote processing for a set of processing tasks for CT image reconstruction. A first column 902 of the lookup table 900 lists the set of processing tasks. A second column 904 includes, for each processing task in the set of processing tasks, an estimated amount of bandwidth required to transmit data associated with the execution of the processing task to the generic CCI. A third column 906 includes, for each processing task in the set of processing tasks, an estimated amount of computation associated with executing the processing task on the generic CCI. A fourth column 908 includes, for each processing task in the set of processing tasks, a preference for local versus cloud processing of the processing task based on general estimates of the processing task's bandwidth and computational demand. In this manner, the lookup table 900 can be used to determine a generally preferred location based on estimated bandwidth and computational demands. A model, such as model 800, can then refine the generally preferred location by introducing different transmission delay conditions. In some examples, a user can edit the table according to their preferences.
[0088] 6, determining whether the data transmission time to the candidate CCI is within an acceptable latency range for transmitting a processing task to the candidate CCI may include first retrieving a model (e.g., model 800) applicable to the type of scan to be performed from a memory of the resource allocation system, and then applying the model to each CCI of the candidate CI to determine whether the processing task should be preferentially performed locally or may be performed on the CCI. Each CCI may have a different data transmission time, such that the same processing task may be advantageously performed on a first CCI but not advantageously performed on a second CCI of the candidate CI.
[0089] If, at 608, it is determined that the data transmission time of the candidate CI to one or more CCIs is not within the delay bounds indicated by the model, method 600 proceeds to 610. At 610, method 600 includes eliminating one or more CCIs from the candidate CIs for performing the processing task, thereby preventing the one or more CCIs from being selected to process the processing task. Alternatively, if, at 606, it is determined that the data transmission time of the candidate CI to the CCI is within the delay bounds indicated by the model, method 600 proceeds to 612.
[0090] At 612, method 600 includes determining the availability of each candidate LCI. Availability may be determined based on demand for the candidate LCI at the time the processing task is performed (e.g., during the operational shift at the time the processing task is performed). In various embodiments, the availability of a candidate LCI may be estimated. In some examples, demand for a candidate LCI may be estimated from the candidate LCI's past use for the day, time of day, and / or other factors. For example, the candidate LCI's past use may be tracked in a medical system's computer system and indicate that the candidate LCI is typically in demand 90% of the time. Alternatively, the past use may be estimated by averaging the percentage of time the candidate LCI was used for patient scans over a number of randomly selected past operational shifts for the candidate LCI.
[0091] In another example, the demand may be calculated based on a usage schedule of the accessible LCIs, i.e., a schedule of medical tests to be performed on patients using the accessible LCIs during an operating shift. The usage schedule may be stored in a computer system of the medical system and / or retrieved over a network (e.g., network 250). The demand may be expressed as the percentage of time during an operating shift that the LCI is scheduled to be occupied. For example, the demand for an LCI may be 80%, meaning that the LCI is scheduled to be used 80% of the time during the current operating shift to scan patients. If the demand exceeds a threshold, the candidate CI may be unavailable. If the current demand is equal to or less than the threshold demand, the candidate CI may be available to perform a processing task.
[0092] A weight value can then be assigned to each candidate CI based on the calculated demand. The weight value can be, for example, a number between 0 and 1, with a lower weight value indicating lower demand and a higher weight value indicating higher demand. For example, if a first candidate CI is in demand 80% of the time, the candidate CI is assigned a weight value of 0.8. If a second candidate CI is in demand 20% of the time, the candidate CI is assigned a weight value of 0.2.
[0093] At 614, method 600 includes calculating a suitability score for each candidate CI, where the suitability score is the sum of the data transfer time and computation time for each candidate CI multiplied by a weight value assigned to the candidate CI. The suitability score may indicate the relative suitability of each candidate CI for performing a processing task, taking into account the computation time of the CI, the time it takes to transfer data to and from the CI to perform the processing task, and the relative demand on the CI.
[0094] At 616, method 600 includes selecting the CI of the candidate CIs with the lowest (e.g., smallest) suitability score for processing the task, and method 600 ends. By selecting the lowest suitability score (e.g., smallest total weighted sum), the processing task may be assigned to the CI that can perform the processing task in the shortest amount of time.
[0095] For example, if a first LCI is infrequently used (e.g., low demand), the first LCI is assigned a weight value of 0.2. If a second LCI is in high demand, the second LCI is assigned a weight value of 0.6. The first LCI and the second LCI may have similar computation times and data transfer times. However, if the sum of the computation time and data transfer time of the first LCI is multiplied by a weight value of 0.2, the resulting suitability score will be smaller than the second suitability score of the second LCI, which is based on the sum of the computation time and data transfer time of the second LCI multiplied by a weight value of 0.6. As a result, processing tasks are assigned to the more available first LCI. In this way, processing tasks can be assigned to both LCIs and CCIs in a manner that balances the overall processing load among all candidate CIs and reduces the overall time it takes to perform all processing tasks.
[0096] Referring now to FIG. 7 , an exemplary method 700 for monitoring and dynamically reallocating one or more processing tasks between various candidate LCIs and CCIs of one or more imaging systems based on data transmission times (e.g., latency) between the primary LCI and various accessible or available CIs is shown. That is, at a first time, one or more processing tasks may be assigned to a second CI other than the first LCI based on the data transmission time between the first LCI and the second CI. However, at a second time during processing of the tasks by the second CI, the data transmission time may have increased due to, for example, network traffic, bandwidth limitations, the amount of data generated during processing, or another factor. As a result of the increased data transmission time, one or more processing tasks may be transferred to another CI with a shorter data transmission time, thereby reducing the overall time to process the processing tasks. For example, a processing task may be assigned to a CCI and then reassigned to an LCI as a result of a slow network connection to the CCI. Furthermore, in certain scenarios, the network connection may be lost or the data transfer time may become so slow that it is no longer possible to transfer the data. In such a case, the processing task may be reassigned from the second CI to another CI, such as the primary LCI.Method 700 may be performed as part of method 400 described above.
[0097] Method 700 begins at 702, where method 700 includes monitoring a first data transmission time for transmitting data associated with one or more processing tasks between a first LCI associated with a scan performed using an imaging system of one or more imaging systems and a second CI on which one or more processing tasks of the scan are being performed according to method 400. For example, the second CI may have higher availability and / or higher processing capacity than the first LCI, such that one or more processing tasks may be performed in a shorter time on the second CI. Monitoring the first data transmission time may include periodically calculating the first data transmission time based on the amount of data associated with the one or more processing tasks and a measured latency of the network speed.
[0098] At 704, method 700 includes determining whether the first transmission time is greater than a first threshold transmission time. The first threshold transmission time may be a predetermined maximum amount of time allowed or allotted for transferring data associated with one or more processing tasks back to the primary LCI. In some embodiments, the first threshold transmission time may be calculated based on the amount of data for the one or more processing tasks and a predefined per-unit data transmission rate.
[0099] If, at 704, it is determined that the first transmission time is not greater than the first threshold, method 700 proceeds to 709 and continues processing. Alternatively, if, at 704, it is determined that the first transmission time is greater than the first threshold transmission time, it may be inferred that one or more processing tasks are no longer most efficiently performed in the second CI, thereby causing method 700 to proceed to 706. At 706, method 700 includes recalculating the suitability scores of the candidate CIs, as described above with reference to FIG. 6, and reallocating one or more processing tasks from the second CI to a CI having a lowest suitability score (e.g., a CI with a lower or negligible data transmission time).
[0100] In some scenarios, the recalculated suitability score may indicate that there are no other suitable candidate CIs other than the first LCI, for example, a network connection may be lost and the primary LCI may not be able to connect with any candidate CIs.
[0101] At 707, method 700 includes determining whether candidate CIs are available to perform the operation. If it is determined at 707 that candidate CIs are available to perform the operation, method 700 proceeds to 709 to continue processing. Alternatively, if it is determined at 707 that no candidate CIs are available to perform the operation, method 700 proceeds to 708.
[0102] At 708, method 700 includes reallocating and continuing processing of one or more processing tasks in the primary / local LCI using a local fallback version of the model, parameters, and data, such as an AI or ML model used in performing the one or more processing tasks in the second CI. If the connection between the primary LCI and the second CI is lost, the local fallback version of the AI or ML model may be used to continue processing of the one or more processing tasks in the primary LCI, as described above with reference to method 400, and method 700 ends.
[0103] At 709, method 700 includes monitoring a second data transfer time for transferring model and parameter data used by the second CI to perform one or more processing tasks to the first LCI (or a different LCI in the same facility as the first LCI). To ensure that a local version of the AI or ML model is kept up to date at the primary LCI, updated versions of the AI or ML model and / or parameters may be periodically transmitted to the primary LCI or a different LCI in the same facility as the primary LCI.
[0104] At 710, the method 700 includes determining whether the second data transmission time is less than a second threshold. The second threshold may be a transmission time that is low enough to opportunistically transfer the model and parameter data used by the second CI to the primary LCI. In other words, the model and parameter data used by the second CI may be transferred to the first LCI if the calculated data transmission time of the model and parameter data is estimated to be close to the minimum data transmission time.
[0105] If, at 710, it is determined that the second data transmission time is less than the second threshold, method 700 proceeds to 712. At 712, method 700 includes updating a local fallback version of the model, parameters, and data of the second CI at the first LCI or an LCI in the same facility as the first LCI. Alternatively, if, at 712, it is determined that the second data transmission time is not less than the second threshold, method 700 proceeds to 714.
[0106] At 714, method 700 includes continuing processing of the one or more processing tasks under the current resource allocation. That is, processing tasks assigned to the second CI may continue to be performed on the second CI, and processing tasks assigned to the first LCI or LCIs in the same facility as the first LCI may continue to be performed on those LCIs. Method 700 ends.
[0107] Thus, a framework is disclosed for improving the efficiency of data processing tasks associated with generating reconstructed images, including post-processing for diagnostic purposes, from scan data acquired via a medical imaging system using a proposed resource allocation system. The resource allocation system identifies a series of individual processing tasks to be performed and then strategically allocates the individual processing tasks among a set of candidate CIs to balance the computational load and improve scanner throughput by reducing the overall processing time for image reconstruction and automated diagnostic tasks. Individual processing tasks may be assigned priorities and assigned to different candidate CIs based on the priorities. Priorities may be used in conjunction with or generated based on the computation time or estimated computation time of the different processing tasks and the data transmission time between the scanner and each candidate CI. Furthermore, data transmission times may be monitored, and processing tasks may be dynamically reallocated to maximize the overall utilization efficiency of the set of candidate CIs. In this way, the capabilities of the medical imaging processing system may be improved and increased so that more patient scans are performed and the time spent on each patient exam is reduced. The technical effect of allocating different computing instances to perform different processing tasks involved in performing a medical imaging examination in accordance with the resource allocation system described herein is that by distributing processing tasks based on resource availability and capacity, the different processing and memory resources used are more efficiently maintained and managed, leading to cost savings, extended useful life of computing components, and fewer overloaded machines.
[0108] The present disclosure also provides support for a resource allocation system for a connected network of medical image processing systems, the resource allocation system comprising a processor and instructions stored in a memory of the resource allocation system that, when executed, cause the processor to: receive a scan protocol, reconstruction instructions, and post-reconstruction image processing instructions for a scan to be performed at a first image processing system of the connected network of medical image processing systems, and perform a first processing task of the scan on one or more local computing instances (LCIs) of the first image processing system based on the scan protocol and the reconstruction instructions; and perform a first processing task of the scan on one or more local computing instances (LCIs) of the connected network of medical image processing systems based on the post-reconstruction image processing instructions. and executing a second processing task of the scan at a computer instance (CCI), the second processing task being performed using an artificial intelligence (AI) model, and in response to a data transmission time between the first image processing system and the CCI being greater than a threshold data transmission time, executing the second processing task in response to the data transmission time between the first image processing system and the CCI being greater than the threshold data transmission time, transmitting parameter data of the AI model to a selected LCI of the one or more LCIs, terminating processing of the second processing task at the CCI, terminating processing of the second processing task at the selected LCI, using a fallback version of the AI model installed in the selected LCI, and displaying the processed image on a display device. In a first embodiment of the system, each processing task of the first processing task of the scan is assigned to an LCI of one or more LCIs based on the sum of a calculated data transmission time of scan data used and / or generated during the processing task between the LCI and a scanner of the first imaging system and a calculated computation time to execute the processing task on the LCI, weighted by a weight value based on an estimated demand for the LCI at the time the processing task is executed. In a second embodiment of the system, optionally including the first embodiment, the estimated demand for the LCI at the time the processing task is performed is the percentage of time of the LCI's operating shift that the LCI is occupied, and pastand a usage schedule of the LCI. A third embodiment of the system optionally includes one or both of the first and second embodiments, wherein the usage schedule includes a schedule of medical tests to be performed on patients using the LCI during an operational shift. A fourth embodiment of the system optionally includes one or more or each of the first through third embodiments, wherein the past usage of the LCI is estimated by averaging the percentage of time the LCI was used to scan patients over a number of randomly selected past operating shifts of the LCI. A fifth embodiment of the system optionally includes one or more or each of the first through fourth embodiments, wherein the one or more LCIs are selected by the resource allocation system without sending a request for service to the one or more LCIs.
[0109] The present disclosure also provides support for a method for a resource allocation system for a connected network of medical image processing systems, the method comprising: receiving a scan protocol and reconstruction instructions for performing a scan on a first image processing system of the connected network of medical image processing systems, the first image processing system including a first local compute instance (LCI) for processing data acquired during the scan; and determining a plurality of data processing tasks included in the protocol and reconstruction instructions, for each data processing task of the plurality of data processing tasks: The method includes determining a set of candidate Computing Instances (CIs) in a connected network of systems, calculating, for each candidate CI in the set of candidate CIs, a data transmission time for scan data used and / or generated during execution of a data processing task between the candidate CI and a first LCI, calculating a computation time for executing the data processing task on the candidate CI, calculating a sum of the data transmission time and the computation time for the candidate CI, calculating a weight value based on an estimated demand for the candidate CI at the time the processing task is executed, multiplying the sum by the weight value to generate a suitability score for the candidate CI, executing the data processing task for the CI with the lowest suitability score, and displaying images reconstructed according to the plurality of data processing tasks on a display device. In a first embodiment of this method, the one or more selected CIs include a second LCI within the same medical facility as the first LCI, on the same medical internal network as the first LCI, or communicatively coupled to the first LCI via an external network, and a cloud computer instance (CCI) communicatively coupled to the first LCI via the Internet. In a second embodiment of the method, optionally including the first embodiment, the method further includes obtaining a priority of the data processing task from a lookup table stored in a memory of the resource allocation system, determining that the priority is less than a threshold priority, and in response thereto, selecting a first LCI.In a third embodiment of the method, optionally including one or both of the first and second embodiments, the estimated demand for the candidate CI at the time the processing task is performed is the percentage of time in the CI's operational shift that the CI is occupied, which is the percentage of the candidate CI's demand for the candidate CI. pastand a schedule of medical tests to be performed on patients using the candidate CIs during the operational shift. A fourth example of the method optionally includes one or more or each of the first through third examples, wherein the method further includes using a decision tree model to determine that the data transmission time of the CCI is greater than a data transmission time threshold, and in response, removing the CCI from the set of candidate CIs, wherein the decision tree model includes a set of specific latency conditions that apply to general predetermined estimates of available bandwidth and computation time stored in a lookup table. In a fifth embodiment of the method (optionally including one or more or each of the first to fourth embodiments), the method further includes: performing the data processing tasks of the plurality of data processing tasks on the CCI using an artificial intelligence (AI) model; storing a fallback version of the AI model in the first LCI, the fallback version including parameters and data of the AI model; monitoring a first data transmission time of data related to the data processing tasks between the first LCI and the CCI; and in response to the first data transmission time being greater than a first threshold data transmission time, recalculating suitability scores of the candidate CIs and reallocating the processing task to the candidate CI having the lowest suitability score. In a sixth embodiment of the method, optionally including one or more or each of the first to fifth embodiments, the method further includes, in response to no candidate CI being available to perform the data processing task, performing the data processing task on the first LCI using a fallback version of the AI model. A seventh example of the method optionally includes one or more or each of the first to sixth examples, wherein the method further includes calculating a second data transmission time of parameter data of the AI model used to process the data processing task between the first LCI and the CCI, and in response to the second data transmission time being less than a second threshold data transmission time, sending the parameter data to the first LCI to update a fallback version of the AI model.An eighth embodiment of the method optionally includes one or more or each of the first through seventh embodiments, wherein the method further includes, for each candidate CI in the set of candidate CIs, estimating a financial cost of performing the data processing task on the candidate CI, and performing the data processing task on the CI having the lowest combination of fitness score and financial cost. A ninth embodiment of the method optionally includes one or more or each of the first through eighth embodiments, wherein the data processing task includes performing a post-reconstruction image processing task on images reconstructed from projection data acquired using the first imaging system. A tenth embodiment of the method optionally includes one or more or each of the first through ninth embodiments, wherein the post-reconstruction image processing task includes screening the images for health conditions using an AI detection model. An eleventh embodiment of the method optionally includes one or more or each of the first through tenth embodiments, wherein the post-reconstruction image processing task includes processing the images as part of a multi-site collaborative learning scheme for training an AI model on the CCI. In a twelfth embodiment of the method, optionally including one or more or each of the first to eleventh embodiments, executing the data processing task on the CI having the lowest suitability score further includes assigning the data processing task to be executed on the CI without sending a prior request to the CI.
[0110] The present disclosure also provides support for a resource allocation system for a connected network of medical imaging systems, the resource allocation system comprising a processor and instructions stored in a memory of the resource allocation system that, when executed, cause the processor to do the following: during a scan of a patient in an imaging system of the network of connected medical imaging systems, the imaging system includes a first local computing instance (LCI) for processing data acquired during the scan, and allocates data processing tasks included in a protocol of the scan to different computing instances (CIs) from a plurality of candidate CIs of the network of connected medical imaging systems, the CIs being selected based on a calculated data transmission time for transmitting data related to the data processing task between the LCI and the CI, a calculated computing time for performing the data processing task on the CI, and an estimated availability of the CIs, the estimated availability of the CIs being estimated based on a schedule of medical examinations to be performed on the patient using the CIs during the operating shift at the time the data processing task is performed.
[0111] Further aspects of the invention are provided by the subject matter of the following clauses. [Embodiment 1] A resource allocation system (105, 302) for a connected network (250) of medical imaging systems, comprising: a processor (304) and instructions stored in a memory of the resource allocation system (105, 302); The instructions, when executed, cause the processor (304) to: receiving a scan protocol, reconstruction instructions, and post-reconstruction image processing instructions for a scan to be performed at a first imaging system of the connected network of medical imaging systems; executing a first set of processing tasks for the scan on one or more local computer instances (LCIs) (162, 152, 1004, 342, 122, 132, 142, 112, 1002) of the first imaging system based on the scan protocol and the reconstruction instructions; performing a second processing task of the scan in a second computing instance (CI) of the connected network of medical image processing systems based on the post-reconstruction image processing instructions, the second processing task being performed using an artificial intelligence (AI) model (800); in response to a data transmission time between the first imaging system and the second CI being greater than a threshold data transmission time; sending parameter data of the AI model (800) to a selected LCI of the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002); reassigning the second processing task from the second CI to the selected LCI; terminating processing of the second processing task at the selected LCI using a fallback version of the AI model (800) installed at the selected LCI; displaying the processed image on a display device (232, 334); A resource allocation system that allows [Embodiment 2] Each processing task of the first processing task set for scanning is assigned to an LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) of the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002), and the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) communicates with the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) and the scanner (342, 112, 1002) of the first imaging system during the processing task. The processing tasks are assigned based on the sum of the calculated data transfer time of scan data used and / or generated between the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) and the calculated computation time to perform the processing tasks on the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002), weighted by a weight based on the estimated demand of the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) at the time the processing tasks are performed (wherein each processing task of the first set of processing tasks of the scan is assigned to an LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) of the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002). 142, 112, 1002) based on a sum of a calculated data transmission time of scan data used and / or generated during the processing task between the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) and a scanner (342, 344) of the first imaging system, and a calculated compute time for performing the processing task on the LCI (162, 152,1004, 342, 122, 132, 142, 112, 1002), weighted by a weight value based on an estimated demand for the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) at a time that the processing task is to be executed. [Embodiment 3] The estimated demand for the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) at the time that the processing task is to be executed is a percentage of time out of an operational shift of the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) that the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is occupied, and is estimated based on at least one of the following: 152, 1004, 342, 122, 132, 142, 112, 1002) during which the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is occupied, that is estimated based on at least one of:), a historical use of the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002), 10. The resource allocation system of any preceding embodiment, wherein a schedule of use of the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is provided. [Embodiment 4] 10. The resource allocation system of any preceding embodiment, wherein the schedule of use includes a schedule of medical studies to be performed on patients using the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) during the operational shift. [Embodiment 5] The historical use of the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is estimated by averaging the percentage of time that the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) was used to scan patients by the number of randomly selected historical operating shifts of the LCI (162, 152, 1004, 342, 132, 142) 10. The resource allocation system of any preceding embodiment, wherein averaging a percentage of time during which the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) were used on patient scans over a number of randomly selected past operational shifts of the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002). [Embodiment 6] 10. The resource allocation system of claim 1, wherein the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) are selected by the resource allocation system (105, 302) without sending requests for service to the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002). [Embodiment 7] A method (400, 500, 600, 700) for a resource allocation system of a connected network of medical imaging systems, comprising: receiving a scan protocol and reconstruction instructions for performing a scan on a first imaging system of the connected network of medical imaging systems (402), the first imaging system including a first local compute instance for processing data acquired during the scan; determining (404) a plurality of data processing tasks included in the protocol and reconstruction instructions; for each data processing task of the plurality of data processing tasks, determining a set of candidate compute instances (CIs) of the connected network of medical imaging systems that are accessible to the first LCI (501); for each candidate CI of the set of candidate CIs, Calculating a data transmission time of scan data used and / or generated during the performance of the data processing task between the candidate CI and the first LCI (604); calculating a compute time for performing the data processing task on the candidate CI (606); Calculating a sum of the data transmission time and the computation time for the candidate CI (614); calculating a weight value based on an estimated demand for the candidate CI at a time that the processing task is to be executed; multiplying the sum by the weight value to generate a suitability score for the candidate CI (614); selecting a candidate CI with a lowest suitability score (616); performing the data processing task on the selected CI; displaying an image reconstructed in accordance with the plurality of data processing tasks on a display device (412); Including,method(400,500,600,700). [Embodiment 8] The selected CI is a second LCI, either within a same health care facility as the first LCI, on a same internal healthcare network as the first LCI, or communicatively coupled to the first LCI via an external network; 10. The method of any preceding embodiment, wherein the first LCI is either a cloud compute instance (CCI) communicatively coupled to the first LCI via the Internet. [Embodiment 9] retrieving (504) a priority of a data processing task from a reference table stored in a memory of the resource allocation system; 5. The method of any preceding embodiment, further comprising determining that the priority is less than a threshold priority (506), and in response, selecting the first LCI (508). [Embodiment 10] the estimated demand for the candidate CI at the time the processing task is performed is the percentage of time during an operational shift of the candidate CI that is occupied; the historical usage of the candidate CI; and a schedule of medical tests to be administered to patients using the candidate CI during the operational shift; The estimated demand for the candidate CI at the time that the processing task is to be executed is a percentage of time out of an operational shift of the candidate CI during which the candidate CI is occupied, that is estimated based on at least one of: a historical use of the candidate CI; and 10. The method of any preceding embodiment, wherein a schedule of medical studies to be performed on patients using the candidate CI during the operational shift. [Embodiment 11] The method further includes determining that the data transmission time of the CCI is greater than a data transmission time threshold (608) using a decision tree model, and in response, removing the CCI from the set of candidate CIs (610); 10. The method of any preceding embodiment, wherein the decision tree model includes a set of specific latency conditions that are applied to general, predefined estimations of available bandwidth and compute time stored in a lookup table. [Embodiment 12] processing task of the plurality of data processing tasks on the CCI, using an artificial intelligence (AI) model; Storing a fallback version of the AI model, including parameters and data of the AI model, at the first LCI; monitoring (702) a first data transmission time of data associated with the data processing task, between the first LCI and the CCI; The method of any preceding embodiment, further comprising: in response to the first data transmission time being greater than a first threshold data transmission time (704), recalculating suitability scores for the candidate CIs (706) and reassigning the processing task to a candidate CI with a lowest suitability score (708). [Embodiment 13] 10. The method of any preceding embodiment, further comprising: in response to no candidate CIs being available to perform the data processing task, performing the data processing task on the first LCI using the fallback version of the AI model. [Embodiment 14] Calculating a second data transmission time of parameter data of the AI model used for processing the data processing task between the first LCI and the CCI; 7. The method of any preceding embodiment, further comprising: in response to the second data transmission time being less than a second threshold data transmission time (710), transmitting the parameter data to the first LCI to update the fallback version of the AI model (712). [Embodiment 15] for each candidate CI of the set of candidate CIs, estimating a financial cost of performing the data processing task on the candidate CI; 10. The method of any preceding embodiment, further comprising: performing the data processing task on the CI with a combination of the lowest suitability score and a lowest financial cost. [Embodiment 16] 10. The method of any preceding embodiment, wherein a data processing task of the data processing tasks includes performing a post-reconstruction image processing task on an image reconstructed from projection data acquired using the first imaging system. [Embodiment 17] 10. The method of any preceding embodiment, wherein the post-reconstruction image processing task includes screening the image for health conditions using an AI detection model. [Embodiment 18] 10. The method of any preceding embodiment, wherein the post-reconstruction image processing task includes processing the image as part of a multi-site federated learning scheme to train an AI model at the CCI. [Embodiment 19] 10. The method of any preceding embodiment, wherein performing the data processing task on the CI with the lowest suitability score further comprises assigning the data processing task to be performed on the CI without sending a prior request to the CI. [Embodiment 20] A resource allocation system of a connected network of medical imaging systems, comprising: a processor; and instructions stored in a memory of the resource allocation system, the instructions, when executed, causing the processor to: performing a step of assigning a data processing task included in a protocol of the scan to a different compute instance (CI) of a plurality of candidate CIs of the connected network of medical imaging systems during a scan of a patient on an imaging system of the connected network of medical imaging systems, the imaging system including a first local compute instance (LCI) for processing data acquired during the scan; the CI is selected based on a calculated data transmission time for sending data associated with the data processing task between the LCI and the CI, a calculated compute time for performing the data processing task on the CI, and an estimated availability of the CI; A resource allocation system, wherein the estimated availability of the CI is estimated based on a schedule of medical studies to be performed on patients using the CI during an operational shift at a time of performing the data processing task.
[0112] When introducing elements of various embodiments of the present disclosure, the articles “a,” “an,” and “the” are intended to mean the presence of one or more elements. The terms “first,” “second,” etc. do not denote order, quantity, or importance, but rather are used to distinguish one element from another. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. As used herein, terms such as “connected,” “coupled,” etc., refer to one object (e.g., a material, element, structure, member, etc.) being connected or coupled to another object, regardless of whether the object is directly connected or coupled to the other object or whether there are one or more intervening objects between the object and the other object. Additionally, references to “one embodiment” or “an embodiment” in the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the referenced features.
[0113] In addition to the modifications set forth above, numerous other variations and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present specification, and the appended claims are intended to cover such modifications and arrangements. Thus, while the present specification has been described above with specificity and detail in connection with what are presently considered to be the most practical and preferred embodiments, it will be apparent to those skilled in the art that numerous changes, including but not limited to form, function, method of operation, and method of use, can be made without departing from the principles and concepts described herein. Moreover, the examples and embodiments, as used herein, are intended to be illustrative in all respects and should not be construed as limiting in any manner. [Explanation of symbols]
[0114] 100: Medical Imaging Ecosystem 102: First Medical Facility 103: Second Medical Facility 104: Medical Facility 105: Resource Allocation System 106: Medical System 107: Image Database 108: Cloud Computer Instance 110: CT Scanner 112, 122, 132, 142, 152, 162: LCI 120: MR Scanner 130: CT Scanner 140: PET Scanner 150: CT Scanner 160: PET Scanner 190: External Network 200: X-ray Imaging System 202: Detector Element 204: Subject 206: Center of Rotation 208: Control Mechanism 210: X-ray Controller 212: Gantry Motor Controller 214: DAS / Data Acquisition System 216: Computer / Computing Device 218: Storage Device 220: Operator Console 224: Picture Archiving and Communication System / PACS 226: Table Motor Controller 230: Image Reconstructor 232: Display / Display Device 250: Network 280: Table 282: Gantry 284: X-ray Source 286: X-ray Radiation Beam 288: Detector Array 300: Medical Imaging Ecosystem 302: Resource Allocation System 304: Processor 306: Non-Transient Memory 307: AI Module 308: Neural Network Module 310: Network Learning / Training Module 312: Inference Module 314: Medical Image Data 320: Priority Model 332: User Input Device 334: Display Device 342: MR Scanner LCI 344: CT Scanner LCI 346: Additional LCI 350: CCI / Cloud Compute Instance 1000: Medical Imaging Ecosystem 1002: First Scanner LCI 1004: Second Scanner LCI 1006: Nth scanner LCI 1012: 1st additional LCI 1014: 2nd additional LCI 1020: CCI
Claims
1. A resource allocation system (105, 302) for a connected network (250) of medical imaging systems, comprising: a processor (304) and instructions stored in a memory of the resource allocation system (105, 302); The instructions, when executed, cause the processor (304) to: receiving a scan protocol, reconstruction instructions, and post-reconstruction image processing instructions for a scan to be performed at a first imaging system of the connected network of medical imaging systems; executing a first set of processing tasks for the scan on one or more local computer instances (LCIs) (162, 152, 1004, 342, 122, 132, 142, 112, 1002) of the first imaging system based on the scan protocol and the reconstruction instructions; performing a second processing task of the scan in a second computing instance (CI) of the connected network of medical image processing systems based on the post-reconstruction image processing instructions, the second processing task being performed using an artificial intelligence (AI) model (800); in response to a data transmission time between the first imaging system and the second CI being greater than a threshold data transmission time; transmitting parameter data of the AI model (800) to a selected LCI of the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002); reassigning the second processing task from the second CI to the selected LCI; terminating processing of the second processing task at the selected LCI using a fallback version of the AI model (800) installed at the selected LCI; displaying the processed image on a display device (232, 334); A resource allocation system that allows
2. Each processing task of the first processing task set for scanning is assigned to an LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) of the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002), and the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) communicates with the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) and the scanner (342, 112, 1002) of the first imaging system during the processing task.
10. The resource allocation system of claim 1, wherein the resource allocation time is allocated based on the sum of calculated data transfer times for scan data used and / or generated between the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) and calculated computation times for executing processing tasks on the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) weighted with a weight based on an estimated demand for the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) at a time that the processing task is to be executed.
3. The estimated demand for the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) at the time the processing task is performed is the percentage of time during an operational shift of the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) that the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is occupied, estimated based on at least one of the following: the historical usage of said LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002); A resource allocation system according to claim 2 , wherein the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is used for scheduling.
4. The resource allocation system of claim 3 , wherein the usage schedule includes a schedule of medical tests to be performed on patients using the LCI (162, 152, 1004, 342, 122, 132, 142, 112, 1002) during the operating shift.
5. The historical usage of the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) is estimated by averaging the percentage of time that the LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) were used to scan patients by the number of randomly selected past operating shifts of the LCIs (162, 152, 1004, 342, 132, 142). The resource allocation system according to claim 3 .
6. The resource allocation system of claim 2 , wherein the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002) are selected by the resource allocation system without sending a service request to the one or more LCIs (162, 152, 1004, 342, 122, 132, 142, 112, 1002).
7. A method (400, 500, 600, 700) for a resource allocation system for a connected network of medical imaging systems, comprising: receiving (402) a scan protocol and reconstruction instructions for performing a scan at a first imaging system of the connected network of medical imaging systems, the first imaging system including a first local computing instance (LCI) for processing data acquired during the scan; determining (404) a plurality of data processing tasks included in said protocol and reconstruction instructions; For each data processing task of the plurality of data processing tasks: determining a set of candidate computing instances (CIs) of the connected network of medical imaging systems accessible to the first LCI (501); For each candidate CI in the set of candidate CIs: Calculating (604) a data transmission time for scan data used and / or generated during execution of the data processing task between the candidate CI and the first LCI; calculating (606) a computation time for performing the data processing task for the candidate CI; calculating (614) the sum of the data transmission time and the calculation time of the candidate CI; calculating a weight value based on an estimated demand for the candidate CI at the time the processing task is performed; multiplying the sum by the weight value to generate a fitness score for the candidate CI (614); selecting (616) the candidate CI with the lowest suitability score; performing the data processing task on the selected CI; displaying an image reconstructed according to the plurality of data processing tasks on a display device (412); A method (400, 500, 600, 700) comprising:
8. The selected CI is a second LCI communicatively coupled to the first LCI within the same medical facility, on the same medical internal network as the first LCI, or via an external network; a cloud compute instance (CCI) communicatively coupled to the first LCI via the Internet.
9. retrieving (504) a priority of a data processing task from a look-up table stored in a memory of the resource allocation system; 9. The method of claim 8, further comprising determining (506) that the priority is less than a threshold priority, and in response thereto, selecting (508) the first LCI.
10. The estimated demand for the candidate CI at the time the processing task is performed is the percentage of time during an operating shift of the candidate CI that is occupied, a historical usage of the candidate CI; and a schedule of medical tests to be administered to patients using the candidate CI during the operational shift; The method of claim 8, wherein the estimated ratio is based on at least one of the following:
11. using a decision tree model to determine (608) that the data transmission time of the CCI is greater than a data transmission time threshold, and in response, removing (610) the CCI from the set of candidate CIs; The method of claim 8 , wherein the decision tree model includes a set of specific delay conditions that apply to general predetermined estimates of available bandwidth and computation time stored in a lookup table.
12. using an artificial intelligence (AI) model to process the plurality of data processing tasks on the CCI; storing a fallback version of the AI model including parameters and data of the AI model in the first LCI; monitoring (702) a first data transmission time of data related to the data processing task between the first LCI and the CCI; 9. The method of claim 8, further comprising: in response to the first data transmission time being greater than a first threshold data transmission time, recalculating (706) suitability scores of the candidate CIs and reallocating (708) the processing task to the candidate CI having the lowest suitability score.
13. 13. The method of claim 12, further comprising, in response to no candidate CI being available to perform the data processing task, performing the data processing task on the first LCI using the fallback version of the AI model.
14. calculating a second data transmission time for parameter data of the AI model used to process the data processing task between the first LCI and the CCI; 13. The method of claim 12, further comprising: in response to the second data transmission time being less than a second threshold data transmission time (710), sending the parameter data to the first LCI to update the fallback version of the AI model (712).
15. For each candidate CI in the set of candidate CIs: estimating a financial cost for executing the data processing task on the candidate CI; 8. The method of claim 7, further comprising: executing the data processing task on the CI having the lowest combination of the suitability score and the lowest financial cost.