Trajectory optimization method, system, device and storage medium for synchronous motion of multiple components

By obtaining the position and velocity of the multi-component in the radiation therapy system and iteratively optimizing its motion parameters, the problems of long optimization time for multi-component synchronous motion trajectory and inaccurate radiation dose are solved, and a fast and accurate treatment process is achieved.

CN114832242BActive Publication Date: 2024-12-13SHANGHAI UNITED IMAGING HEALTHCARE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210301963.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-12-29
Filing Date
2018-12-27
Publication Date
2024-12-13
Estimated Expiration
2038-12-27

Smart Images

  • Figure CN114832242B_ABST
    Figure CN114832242B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide a method and system for rapid optimization of trajectories of synchronous motion of multiple components. The method may include: obtaining multiple sets of positions of multiple components in a device, each set of positions of the multiple components corresponds to a control node, and two adjacent control nodes can define a sub-field; determining the speed of each component at each control node based on the multiple sets of positions of the multiple components; determining the minimum duration of each sub-field for each component to execute at least one sub-field based on the speed of each component at each control node; iteratively updating to determine the optimized duration corresponding to each sub-field based on the minimum duration of each sub-field for each component to execute at least one sub-field, wherein for the iterative update, one or more components of the multiple components are identified and iteratively updated before other components; based on the optimized duration corresponding to each sub-field, determining the motion parameters of each component in each sub-field.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority declaration

[0002] This application is a divisional application for a Chinese application filed on December 27, 2018, with application number 201811629517.1 and invention name “Trajectory optimization method, system, device and storage medium for synchronous motion of multiple components”, which claims priority to PCT patent application PCT / CN2017 / 120051 filed on December 29, 2017, and the application is incorporated herein by reference in its entirety. Technical Field

[0003] Embodiments described herein relate to synchronized motion optimization, and more particularly, to methods, systems, devices, and storage media for optimizing synchronized motion of multiple components in a radiation therapy device or system. Background Art

[0004] Contemporary radiotherapy systems can provide specialized treatments for delivering radiation doses, such as personalized radiation doses. During treatment, multiple components, such as a gantry, a collimator, one or more leaves of a multileaf collimator, a patient bed, etc., can move synchronously with the delivery of the radiation dose. In order to synchronize the movement of the components of the radiotherapy system, their motion trajectories can be planned. However, this process may take a long time and may result in a large radiation dose delivered to the patient. Therefore, a method and system are needed to optimize the synchronous movement of multiple components and deliver the radiation dose to reduce trajectory optimization time and radiation. Summary of the invention

[0005] In response to the above-mentioned problems of long trajectory optimization time and large radiation dose delivered during treatment, the present invention provides a method and system for synchronous motion optimization of a device with movable components, which can reduce trajectory optimization time, reduce treatment time, accurately deliver radiation dose, and increase treatment accuracy.

[0006] In order to achieve the purpose of the above invention, the technical solution provided by the present invention is as follows:

[0007] A method for rapid optimization of trajectories for synchronous motion of multiple components. The method may include one or more of the following operations. Multiple sets of positions of multiple components may be obtained, each set of positions of the multiple components corresponds to a control node, and two adjacent control nodes define a sub-field. The speed of each component at each control node may be determined based on the multiple sets of positions of the multiple components. The minimum duration of each sub-field for each component to execute at least one sub-field may be determined based on the speed of each component at each control node. Based on the minimum duration of each sub-field for each component to execute at least one sub-field, iterative updates may be performed to determine the optimized duration corresponding to each sub-field, wherein, for the iterative update, one or more components among the multiple components are identified and iterative updates are performed before other components; based on the optimized duration corresponding to each sub-field, the motion parameters of each component in each sub-field may be determined.

[0008] A fast trajectory optimization system for synchronous motion of multiple components. The system includes an acquisition module and a processing module. The acquisition module is used to acquire multiple groups of positions of multiple components, each group of positions of the multiple components corresponds to a control node, and two adjacent control nodes define a sub-field. The processing module includes a speed determination unit, a duration determination unit, and a motion parameter determination unit. The speed determination unit is used to determine the speed of each component at each control node based on the multiple groups of positions of the multiple components. The duration determination unit is used to determine the minimum duration of each sub-field for each component to execute at least one sub-field based on the speed of each component at each control node, and the minimum duration of each sub-field for each component to execute at least one sub-field based on the speed of each component at each control node, and iteratively update to determine the optimized duration corresponding to each sub-field, wherein, for the iterative update, one or more components of the multiple components are identified and iteratively updated before other components. The motion parameter determination unit is used to determine the motion parameters of each component in each sub-field based on the optimized duration corresponding to each sub-field.

[0009] Additional features will be described in part in the following description and will become apparent to those skilled in the art by reviewing the following and accompanying drawings, or may be learned by the production or operation of the examples. The features of the present invention may be realized and obtained by practicing or using the various aspects of the methods, tools, and combinations described in the following detailed examples.

[0010] Compared with the prior art, the present invention has the following beneficial effects:

[0011] The optimal trajectory curve for the synchronous movement of each component of the system can be quickly obtained to ensure the minimization of the plan execution time, reduce the patient's treatment time, and at the same time ensure that each predetermined position of the patient during the treatment process can accurately receive a specific radiation dose, increasing the accuracy of the treatment. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The present application may be further described according to exemplary embodiments. The exemplary embodiments may be described in detail with reference to the accompanying drawings. The embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures in several views of the accompanying drawings, and in which:

[0013] Figure 1 is a schematic diagram of an exemplary radiation therapy system according to some embodiments of the present invention;

[0014] Figure 2 is a schematic diagram of exemplary hardware components and / or software components of an exemplary computing device according to some embodiments of the present invention;

[0015] Figure 3 is a schematic diagram of exemplary hardware components and / or software components of an exemplary mobile device according to some embodiments of the present invention;

[0016] Figure 4 is a block diagram of an exemplary processing device according to some embodiments of the present invention;

[0017] Figure 5 is an exemplary flow chart for generating control instructions for controlling the movement of multiple components according to some embodiments of the present invention;

[0018] Figure 6 is a block diagram of an exemplary processing module according to some embodiments of the present invention;

[0019] Figure 7 is an exemplary flow chart for determining motion parameters of multiple components according to some embodiments of the present invention;

[0020] Figure 8 is an exemplary flow chart for determining an optimized duration according to some embodiments of the present invention;

[0021] Fig. 9 is exemplary planning data according to some embodiments of the present invention;

[0022] Fig.10 is an exemplary trajectory curve of a component according to some embodiments of the present invention;

[0023] Fig.11 is an exemplary velocity model of a component according to some embodiments of the present invention;

[0024] Fig.12 is an exemplary speed pattern of an assembly shown according to some embodiments of the present invention;

[0025] Fig.13is a schematic diagram of a maximum effective speed, a minimum effective speed, a maximum effective displacement and a minimum effective displacement of a component in a sub-field according to some embodiments of the present invention;

[0026] Fig.14 are exemplary sub-nodes on a trajectory of a component according to some embodiments of the present invention;

[0027] Fig.15 is a schematic diagram of an exemplary control model for controlling the motion of multiple components according to some embodiments of the present invention. DETAILED DESCRIPTION

[0028] In the following detailed description, in order to provide a thorough understanding of the related applications, the specific details of the present application are set forth by way of example. Various modifications to the embodiments of the present application will be apparent to those skilled in the art, and the general principles defined in the present application may be applied to other embodiments and application scenarios without departing from the spirit and scope of the present application. Therefore, the present application is not limited to the embodiments shown, but conforms to the broadest scope consistent with the claims.

[0029] The terms used in this application are only used for the purpose of describing specific exemplary embodiments and are not restrictive. As used in this application, unless the context clearly indicates an exception, the singular form of "a", "an" and "the" may also include the plural. It should be further understood that the terms "including" and / or "comprising" used in this specification refer to the presence of the features, shaping constants, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, shaping constants, steps, operations, elements, components and / or combinations thereof.

[0030] It should be understood that the terms "system", "engine", "unit", "module" and / or "block" used in this application are a method of distinguishing the levels of different components, elements, parts, components or assemblies in ascending order. However, these terms may be replaced by other expressions if other expressions achieve the same purpose.

[0031] Generally, as used herein, a "module," "unit," or "block" refers to logic embodied in a collection of hardware or firmware or software instructions. The modules, units, or blocks described herein may be executed in software and / or hardware and may be stored in any type of non-transitory computer-readable medium or other storage device. In some embodiments, software modules, units, and blocks may be compiled and linked into an executable program. It should be understood that software modules may be called from other modules, units, blocks, or themselves and / or may be called in response to detected events or interrupts. A software module / unit / block configured for execution on a computing device (e.g., Figure 2 The processor 210 shown) can be provided on a computer-readable medium, such as an optical disc, a digital video disc, a flash drive, a disk, or any other tangible medium or as a digital download (and can be stored originally in a compressed or installable format, requiring installation, decompression or decryption before execution). The software code can be stored in part or in whole on a storage device of the executing computing device for execution by the computing device. The software instructions can be embedded in firmware, such as an EPROM. It should be understood that hardware modules, units, or blocks can be included in connected logical components, such as gates and triggers and / or can be included in programmable units such as programmable gate arrays or processors. The modules, units, blocks, or computing device functions described in this application can be implemented as software modules / units / blocks, but can be represented by hardware or firmware. Generally, the modules, units, and blocks described here refer to logical modules, units, and blocks that can be combined with other modules, units, and blocks or divided into sub-modules, sub-units, and sub-blocks, despite their physical organization or storage. The description can be applicable to a system, an engine, or a portion thereof.

[0032] It should be understood that when a unit, engine, module, or block is referred to as being "on," "connected to," or "coupled to" another unit, engine, module, or block, it may be directly in communication with the other unit, engine, module, or block, or there may be a unit, engine, module, or block, unless the context clearly indicates an exception. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0033] These and other features of the present application and the methods of operation and function of the related structural elements and parts of manufacture and economical combinations may become more apparent with reference to the accompanying drawings and considering the following description, all of which form a part of this application. However, it should be expressly understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of the present application. It should be understood that the drawings are not to scale.

[0034] Provided herein are systems having multiple movable components for medical or industrial applications, such as for disease treatment, disease diagnosis, synchronized motion control, research purposes, etc. In some embodiments, the system may be a combination of one or more of a radiation therapy (RT) system, a computed tomography (CT) system, an ultrasound examination system, an X-ray imaging system, etc. The following description is provided with reference to an RT system for illustrative purposes and is not intended to limit the scope of the invention.

[0035] In one aspect, the present invention relates to a system and method for synchronous motion optimization. The position information of multiple components in a radiotherapy system can be used to determine the duration of the synchronous motion of multiple components from one position to another. The duration can be optimized in multiple iterations to reach a minimum value.

[0036] Figure 1 FIG. 1 is a schematic diagram of an exemplary radiation therapy system according to some embodiments of the present invention. Figure 1 As shown, the radiation therapy system 100 includes a radiation therapy device 110 , a network 120 , one or more terminals 130 , a processing device 140 , and a storage device 150 .

[0037] The radiotherapy device 110 can deliver a radiation beam to a target object (e.g., a patient or a phantom). In some embodiments, the radiotherapy device 110 may include a linear accelerator (also referred to as a linear accelerator) 111. The linear accelerator 111 can generate and emit a radiation beam (e.g., an X-ray beam) from a treatment head 112. The radiation beam can pass through one or more collimators with a specific shape (e.g., a multi-leaf collimator) and be delivered to the target object. In some embodiments, the radiation beam can include electrons, photons, or any other type of radiation. In some embodiments, the energy presented by the radiation beam is in the megavolt range (i.e., >1 MeV), and therefore can be referred to as a megavolt radiation beam. The treatment head 112 can be coupled and mounted with a gantry 113. The gantry 113 can rotate, for example, clockwise or counterclockwise around a gantry rotation axis 114. The treatment head 112 can rotate together with the gantry 113. In some embodiments, the radiotherapy device 110 may include an imaging assembly 115. The imaging assembly 115 can receive a radiation beam passing through a target object and can acquire a projection image of a patient or a phantom before, during, and / or after a radiotherapy or correction process. The imaging assembly 115 can include an analog detector, a digital detector, or any combination thereof. The imaging assembly 115 can be attached to the gantry 113 in any manner, including a retractable housing. Thus, rotating the gantry 113 can cause the treatment head 112 and the imaging assembly 115 to rotate synchronously. In some embodiments, the radiotherapy device 110 can also include a workbench. The workbench 116 can support a patient during radiotherapy or imaging, and / or support a phantom during the correction process of the radiotherapy device 110. The workbench can be adjusted according to different application scenarios.

[0038] The network 120 may include any suitable network that can facilitate information and / or data exchange of the radiotherapy system 100. In some embodiments, one or more components of the radiotherapy system 100 (e.g., the radiotherapy device 110, the terminal 130, the processing device 140, the storage device 150, etc.) may exchange information and / or data with one or more components of the radiotherapy system 100 via the network 120. For example, the processing device 140 may obtain planning data from a radiotherapy planning system (TPS) via the network 120. The network 120 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN), a wide area network (WAN), etc.), a wired network (e.g., an Ethernet), a wireless network (e.g., an 802.11 network, a wireless Wi-Fi network, etc.), a cellular network (e.g., a long term evolution (LTE) network), a frame relay network, a virtual private network (VPN), a satellite network, a telephone network, a router, a hub, a server computer, etc., or a combination thereof. For example, the network 120 may include a wired network, an optical fiber network, a telecommunication network, a local area network, a wireless local area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth T M Network, ZigBee TM In some embodiments, the network 120 may include one or more network access points. For example, the network 120 may include a wired and / or wireless network access point, such as a base station and / or an Internet exchange point, through which one or more components of the radiation therapy system 100 may connect to the network 120 to exchange data and / or information.

[0039] The terminal 130 may include a mobile device 131 , a tablet computer 132 , a laptop computer 133 , etc. or any combination thereof.

[0040] In some embodiments, the mobile device 131 may include a smart home device, a wearable device, a mobile device, a virtual reality device, an augmented reality device, etc. or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a smart appliance control device, a smart monitoring device, a smart TV, a smart camera, an intercom, etc. or any combination thereof.

[0041] In some embodiments, in some embodiments, the wearable device may include a bracelet, shoes, glasses, helmets, watches, clothes, backpacks, smart accessories, etc. or any combination thereof. In some embodiments, the mobile device may include a mobile phone, a personal digital assistant (PDA), a gaming device, a navigation device, a POS device, a laptop, a tablet computer, a desktop computer, etc. or any combination thereof. In some embodiments, the virtual reality device and / or augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality patch, an augmented reality helmet, augmented reality glasses, an augmented reality patch, etc. or any combination thereof. For example, the virtual reality device and / or augmented reality device may include Google Glass TM 、Oculus Rift TM 、HoloLens TM or GearVR TM Etc. In some embodiments, the terminal 130 may be a part of the processing device 140 .

[0042] The processing device 140 can process data and / or information obtained from the radiotherapy device 110, the terminal 130 and / or the storage device 150. For example, the processing device 140 can process planning data and determine motion parameters for controlling the motion of multiple components of the radiotherapy device 110. In some embodiments, the processing device 140 can be a single server or a server group. The server group can be centralized or distributed. In some embodiments, the processing device 140 can be local or remote. For example, the processing device 140 can access information and / or data from the radiotherapy device 110, the terminal 130 and / or the storage device 150 through the network 120. For another example, the processing device 140 can directly connect to the radiotherapy device 110, the terminal 130 and / or the storage device 150 to access information and / or data. In some embodiments, the processing device 140 can be implemented on a cloud platform. For example, the cloud platform can include one or a combination of private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, cross-cloud, multi-cloud, etc. In some embodiments, the processing device 140 can be provided by Figure 2 A computing device 200 implementation is described having one or more components.

[0043] The storage device 150 may store data, instructions, and / or any other information. In some embodiments, the storage device 150 may store data obtained from the processing device 140 and / or the terminal 130. In some embodiments, the storage device 150 may store data and / or instructions that the processing device 140 may execute or use to perform the exemplary methods described in the present application. In some embodiments, the storage device 150 may include a large capacity memory, a removable memory, a volatile read-write memory, a read-only memory (ROM), etc., or a combination of several of them. The large capacity storage may include a disk, an optical disk, a solid-state hard disk, a mobile storage, etc. The removable memory may include a flash drive, a floppy disk, an optical disk, a memory card, a ZIP disk, a tape, etc. The volatile read-write memory may include a random access memory (RAM). The RAM may include a dynamic random access memory (DRAM), a double data rate synchronous dynamic random access memory (DDR-SDRAM), a static random access memory (SRAM), a thyristor random access memory (T-RAM), a zero capacitance random access memory (Z-RAM), etc. ROM may include a mask read-only memory (MROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), a digital versatile disk, etc. In some embodiments, the storage device 150 may be implemented by the cloud platform described in the present application. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, a cross-cloud, a multi-cloud, etc., or a combination of several of them.

[0044] In some embodiments, the storage device 150 may be connected to the network 120 to implement communication with one or more components (e.g., the processing device 140, the terminal 130, etc.) in the radiation therapy system 100. One or more components in the radiation therapy system 100 may read data or instructions in the storage device 150 through the network 120. In some embodiments, the storage device 150 may be a part of the processing device 140.

[0045] Figure 2 FIG. 2 is an exemplary diagram of hardware and / or software components of an exemplary computing device 200 that may implement the processing device 140 according to some embodiments of the present invention. Figure 2 As shown, computing device 200 may include processor 210 , memory 220 , input / output (I / O) 230 , and communication port 240 .

[0046] The processor 210 can execute computer instructions (e.g., program code) and can perform the functions of the processing device 140 according to the techniques described in the application. The computer instructions can be used to perform specific functions described in the present application, and the computer instructions can include, for example, programs, objects, components, data structures, procedures, modules, and functions. For example, the processor 210 can process planning data obtained from the storage device 150, and / or any other component of the radiation therapy system 100. In some embodiments, the processor 210 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), any circuit or processor capable of performing one or more functions, or a combination of the foregoing.

[0047] For illustration only, only one processor is described in the computing device 200. However, it should be noted that the computing device 200 may also include multiple processors. The operations and / or methods performed by one processor described in this application may also be performed jointly or separately by multiple processors. For example, if the processor of the computing device 200 described in this application performs operations A and B, it should be understood that operations A and B may also be performed jointly or separately by two or more different processors in the computing device 200 (for example, the first processor performs operation A and the second processor performs operation B, or the first processor and the second processor perform operations A and B jointly).

[0048] The memory 220 may store data / information obtained from the radiotherapy device 110, the terminal 130, the storage device 150, and / or any other component of the radiotherapy system 100. In some embodiments, the memory 220 may include one or a combination of mass storage, removable storage, volatile read-write memory, read-only memory (ROM), etc. The mass storage may include a magnetic disk, an optical disk, a solid-state hard disk, a mobile storage, etc. The removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a ZIP disk, a magnetic tape, etc. The volatile read-write memory may include a random access memory (RAM). The RAM may include a dynamic random access memory (DRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), a static random access memory (SRAM), a thyristor random access memory (T-RAM), a zero capacitance random access memory (Z-RAM), etc. ROM may include a mask read-only memory (MROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), a digital versatile disk, etc. In some embodiments, the memory 220 may store one or more programs and / or instructions for executing the exemplary methods described in the present application. For example, the memory 220 may store a program that may be used by the processing device 140 to determine motion parameters of multiple components.

[0049] The input / output 230 may input and / or output signals, data, information, etc. In some embodiments, the input / output 230 may enable interaction between a user and the processing device 140. In some embodiments, the input / output 230 may include an input device and an output device. The input device may include one or a combination of a keyboard, a mouse, a touch screen, a microphone, etc. The output device may include one or a combination of a display device, a speaker, a printer, a projector, etc. The display device may include one or a combination of a liquid crystal display (LCD), a light emitting diode (LED) display, a flat panel display, a curved screen, a television device, a cathode ray tube (CRT), a touch screen, etc.

[0050] The communication port 240 can be connected to a network (e.g., the network 120) to facilitate data communication. The communication port 240 can establish a connection between the processing device 140 and the radiotherapy device 110, the terminal 130, and / or the storage device 150. The connection can be a wired connection, a wireless connection, any connection that can achieve data transmission and / or reception, or a combination thereof. The wired connection can include, for example, an electrical cable, an optical cable, a telephone line, or a combination thereof. The wireless connection can include, for example, Bluetooth. TM Link, Wi-FiTM Link, WiMAX TM Link, Wireless LAN Link, ZigBee TM In some embodiments, the communication port 240 may be a wireless communication port, a mobile network link (e.g., 3G, 4G, 5G, etc.), or a combination thereof. In some embodiments, the communication port 240 may be and / or include a standardized communication port, such as RS232, RS485, etc. In some embodiments, the communication port 240 may be a specially designed communication port. For example, the communication port 240 may be designed according to the Digital Imaging and Communications in Medicine (DICOM) protocol.

[0051] Figure 3 FIG. 1 is an exemplary schematic diagram of hardware and / or software components of an exemplary mobile device 300 that can implement terminal 130 according to some embodiments of the present invention. Figure 3 As shown, mobile device 300 may include communication platform 310, display 320, graphics processor (GPU) 330, central processing unit (CPU) 340, input / output 350, memory 360 and storage 390. In some embodiments, mobile device 300 may also include any other suitable components, including but not limited to a system bus or controller (not shown). In some embodiments, mobile operating system 370 (e.g., iOS TM , Android, Windows Phone TM 390) and one or more applications 380 may be loaded from storage 390 into memory 360 so as to be executable by central processor 340. Application 380 may include a browser or any other suitable mobile application for receiving and presenting information related to image processing or other information from processing device 140. User interaction with the information flow may be achieved through input / output 350 and provided to processing device 140 and / or other components of radiation therapy system 100 through network 150.

[0052] In order to implement the various modules, units and functions thereof described in this application, a computer hardware platform can be used as a hardware platform for one or more elements described in this application. A computer with user interface elements can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, a computer can also act as a server.

[0053] Figure 4 4 is a block diagram of an exemplary processing device 140 according to some embodiments of the present invention. The processing device 140 may include an acquisition module 410, a processing module 420, a control module 430, and a storage module 440.

[0054] The acquisition module 410 can acquire data. The acquisition module 410 can acquire data from one or more of the radiotherapy device 110, the network 120, the terminal 130, the storage device 150, or any device or component capable of storing data disclosed in the present application. The acquired data may include a combination of one or more of the positions of multiple components, user instructions, algorithms, etc. The positions of the multiple components may include multiple groups of positions of multiple components on a trajectory. In some embodiments, each group of positions of the multiple components may correspond to a control node. The control node is related to the time point when the multiple components reach the group of positions. Each control node corresponds to a different time point. In some embodiments, two adjacent control nodes may define a subfield. In some embodiments, the positions of the multiple components may be determined according to the planning data. The planning data may refer to data related to a certain plan (e.g., a radiotherapy plan, a scanning plan, etc.). The planning data may include multiple discrete control nodes. For a radiotherapy plan, each control node of the planning data may include the position information of multiple components at a time point and the cumulative radiation dose delivered within a period of time (e.g., during treatment). The multiple components may include a gantry 113, one or more blades of an MLC, a workbench 116, etc. In some embodiments, the position information can be used to determine motion parameters of multiple components. In some embodiments, the radiation dose can be used to determine the dose rate at which the radiation therapy device 110 delivers the radiation dose. As used herein, the dose rate can refer to the radiation dose delivered per unit time. In some embodiments, the radiation dose can be considered as one component of multiple components in the radiation therapy system 100. In some embodiments, the transition between two adjacent control nodes, i.e., from one control node to a subsequent control node, can be defined as a sub-field. In some embodiments, the planning data may include at least one sub-field.

[0055] In some embodiments, the acquisition module 410 may obtain information, such as position information, speed information, and time, through sensors. Exemplary sensors may include position sensors, angle position sensors, timers, speed sensors, acceleration sensors, and the like. For example, in order to control the movement of multiple components during radiotherapy based on the motion parameters determined according to the planning data, the acquisition module 410 may acquire real-time information (e.g., the real-time position, real-time speed, real-time acceleration, etc. of one or more components), and feed the real-time information to the control module 430 to control or adjust the movement of one or more components during radiotherapy.

[0056] In some embodiments, the acquisition module 410 may store the acquired data in the memory 150 and / or the storage module 440. In some embodiments, the acquisition module 410 may transmit the acquired planning data to a computing device (e.g., the processing module 420) for determining motion parameters of the plurality of components or a control device (e.g., the control module 430) for controlling the motion of the plurality of components.

[0057] The processing module 420 can process data provided by the various modules of the processing device 140. For example, the processing module 420 can process the planning data acquired by the acquisition module 410 or acquired from the storage module 440. The processing module 420 can process the acquired data by determining multiple parameters or values ​​related to the planning data. For example, the processing module 420 can determine the speed of a component at a control node, the duration of each of a plurality of components to perform a sub-field, and / or the motion parameters of a plurality of components of an apparatus (e.g., a radiotherapy device 110 with or without an imaging component). The motion parameters can be used to control the motion of a plurality of components. In some embodiments, the processing module 420 can transmit the motion parameters of a plurality of components to the control module 430 to control the motion of the plurality of components.

[0058] The control module 430 can control the operation of modules or components of the radiotherapy system 100. In some embodiments, the control module 430 can receive motion parameters from the processing module 420 and control the movement of multiple components based on the motion parameters. The movement of multiple components may include, for example, a combination of one or more of linear motion, reciprocating motion, circular motion, etc. In some embodiments, the control module 430 may include a position control unit and a speed control unit. The position control unit can be configured to control the real-time position of a component throughout the movement process based on the trajectory curve of the component. In some embodiments, the trajectory curve can be determined based on a combination of one or more of the motion parameters and the mechanical structure of the radiotherapy device 110. Details about the position control unit are described elsewhere in this application. For example, see Fig.15 The speed control unit may be configured to control the real-time speed of a component during the entire motion process based on a speed curve of the component. In some embodiments, the speed curve may be determined based on motion parameters.

[0059] The storage module 440 may store data. In some embodiments, the storage module 440 may store one or more programs and / or instructions that may be executed by the processor(s) of the processing device 140 to implement the exemplary methods described in this application. For example, the memory 440 may store program(s) and / or instructions that may be executed by the processor(s) of the processing device 140 to determine the speed of multiple components, the minimum time for each component to execute a subfield, the optimal time corresponding to a subfield, and / or motion parameters of multiple components.

[0060] In some embodiments, Figure 4 One or more of the modules shown may be Figure 1 The control module 410, the processing module 420, the control module 430 and / or the storage module 440 may be integrated into a console (not shown). Through the console, the user may set parameters for implementing the operations described elsewhere in this application (e.g., planning data for treating a patient). In some embodiments, the console may be implemented by the processing device 140 and / or the terminal 130.

[0061] It should be understood that Figure 4 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or a dedicated design hardware. Those skilled in the art will understand that the above-mentioned method and system can be implemented using computer executable instructions and / or included in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules of the present application can not only be implemented by hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but can also be implemented by software such as executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (for example, firmware).

[0062] It should be noted that the above description is only for convenience of description and does not limit the present application to the scope of the embodiments. It is understandable that for those skilled in the art, after understanding the principle of the system, various modifications and changes in form and details can be made to the application field of the above method and system without deviating from this principle. For example, the processing module 420 and the control module 430 can be integrated into one module to simultaneously realize the functions of data processing and component motion control. For another example, the processing device 140 can also include an I / O module for facilitating interaction between the radiotherapy system 100 and the user. However, these changes and modifications do not depart from the scope of the present application.

[0063] Figure 5 5 is an exemplary flow chart of a process 500 for generating control instructions for controlling the motion of multiple components according to some embodiments of the present invention. Process 500 and other processes described herein can be performed by any suitable combination of hardware, software, or manual methods. The software embodying these processes can be stored by any non-transitory tangible medium, including hard disk, floppy disk, compact disk, digital video disk, flash memory, or magnetic tape.

[0064] At 502, the positions of multiple components in a system may be acquired. For example, the positions may be acquired by the acquisition module 410. In some embodiments, the positions of the multiple components may include multiple groups of positions on the motion trajectories of the multiple components. In some embodiments, each group of positions corresponds to a control node. The control node is related to the time point at which the multiple components reach the group of positions. Each control node corresponds to a different time point. In some embodiments, two adjacent control nodes may define a subfield. The control node may be predetermined, for example, determined according to planning data. The planning data may involve a combination of one or more of a radiotherapy plan, a scanning imaging plan, and the like. The system in the present application may be a medical system, for example, a combination of one or more of a radiotherapy (RT) system 100, a computed tomography (CT) system, an ultrasound examination system, an X-ray photography system, and the like. Taking the radiotherapy (RT) system 100 as an example, the multiple components may include a combination of one or more of a gantry 113, one or more leaves of a multileaf collimator (MLC), a workbench 116, and the like. In some embodiments, the real-time position of the component may be determined or measured by a sensor connected to or communicating with the acquisition module 410.

[0065] In 504, the motion parameters of multiple components can be determined based on the position. For example, the motion parameters of multiple components can be determined by the processing module 420. In some embodiments, the motion parameters of the component in the sub-field can refer to the parameters of the component executing the sub-field. The execution of the sub-field can refer to the component starting from the position and time point corresponding to a control node defining the sub-field, moving according to a motion trajectory (for example, a planned motion trajectory, an optimized motion trajectory, etc.), and reaching the position corresponding to another control node at the time point corresponding to another control node of the sub-field. The motion parameters may include one or more of acceleration duration, uniform speed duration, deceleration duration, uniform speed, acceleration, etc. In some embodiments, the processing module 420 can determine the motion parameters of each component based on the position to execute the sub-field. In some embodiments, the motion parameters can enable multiple components to move in a coordinated manner. More specifically, the motion parameters can enable multiple components to arrive at a predetermined position defined by the control node of the planning data at the same (or approximately the same) time point.

[0066] In 506, control instructions for controlling the multiple components can be generated based on the motion parameters. In some embodiments, the control instructions can be generated by the control module 430. In some embodiments, the control instructions may include instructions for controlling the speed and / or real-time position of multiple components. Instructions for controlling the real-time speed and / or real-time position of multiple components can be transmitted to the speed loop and / or the position loop. The position loop can control the real-time position of a component during the entire motion process based on the trajectory curve of the component. In some embodiments, the trajectory curve can be determined based on the motion parameters. The speed loop can control the speed of the component at multiple control nodes or between multiple control nodes based on the speed curve of the component. In some embodiments, the speed curve can be determined based on the motion parameters.

[0067] It should be noted that the above description is only for convenience of description and does not limit the present application to the scope of the embodiments. It is understandable that for those skilled in the art, after understanding the principle of the system, various corrections and changes in form and details can be made to the application field of the above method and system without deviating from this principle. For example, process 500 can also include operations for determining multiple optimized durations for multiple components to pass through multiple sub-fields. The motion parameters of the multiple components can be determined based on the optimized duration. However, these changes and modifications do not depart from the scope of the present application.

[0068] Figure 6 4 is a block diagram showing an exemplary processing module 420 according to some embodiments of the present invention. The processing module 420 may include a speed determination unit 610, a duration determination unit 620, a motion parameter determination unit 630 and a component selection unit 640.

[0069] The speed determination unit 610 can determine the speed of a component at a control node. The speed determination unit 610 can obtain the positions of one or more control nodes associated with the control node (e.g., planning data), and determine the speed of the component at the control node based on the positions. In some embodiments, the speed determination unit 610 can determine whether the speed of a component at a control node is zero. In some embodiments, the speed determination unit 610 can determine the value of the speed at the control node. In some embodiments, the speed determination unit 610 can transmit the speed of the component to the duration determination unit 620 and / or the motion parameter determination unit 630 for further processing, or to any storage device disclosed in the present invention (e.g., storage module 440, storage device 150) for storage.

[0070] The duration determination unit 620 can determine the duration of a component executing a sub-field. In some embodiments, the duration determination unit 620 can obtain the speed of a component at two adjacent control nodes in a sub-field, and determine the speed model of the component in the sub-field based on the speed at the two adjacent control nodes. The speed model can be a representation of the speed curve of the component in the sub-field. For example, one or more stages of the speed curve (e.g., acceleration stage, deceleration stage, uniform speed stage, etc.) can be represented in the speed model. In some embodiments, the duration determination unit 620 can determine the minimum duration of the component executing the sub-field based on the speed model and a set of constraints. The set of constraints can involve the maximum speed, maximum acceleration, maximum jerk, displacement and / or mechanical structure of the component in the sub-field.

[0071] In some embodiments, the duration determination unit 620 may further determine the optimized duration corresponding to the sub-field based on the minimum duration of multiple components executing a sub-field. In some embodiments, the duration determination unit 620 may determine the optimized duration corresponding to the sub-field based on multiple iterations. In some embodiments, the duration determination unit 620 may transmit the optimized duration corresponding to the sub-field to the motion parameter determination unit 630 to determine the motion parameters of the component in the sub-field, and / or transmit to any storage device disclosed in the present invention (e.g., storage module 440, storage device 150) for storage.

[0072] The motion parameter determination unit 630 can determine the motion parameters of the component in the sub-field. In some embodiments, the motion parameter determination unit 630 can obtain the duration (e.g., optimized duration) corresponding to the sub-field from the duration determination unit 620, and determine the motion parameters of the component in the sub-field based on the duration. The motion parameters may include, for example, one or more of acceleration duration, uniform duration, deceleration duration, uniform speed, acceleration, etc. For example, the motion parameter determination unit 630 can determine the motion parameters of the component in the sub-field using a double S velocity model. The motion parameters can be transmitted to the control module 430 to control the motion of multiple components of the radiotherapy device 110, and / or transmitted to any storage device disclosed in the present invention (e.g., storage module 440, storage device 150) for storage.

[0073] The component selection unit 640 can select one or more components from a plurality of components. For a sub-field, one or more key moving parts may be used to determine the corresponding optimization duration. The key moving parts have a large movement distance in the sub-field, which largely determines the optimization duration of the sub-field. After obtaining the optimization duration determined based on the key moving parts, other components can be evaluated. If the conditions are met, that is, other components can also move synchronously from the starting point of the sub-field to the end point, the optimization duration determined based on the key moving parts can be designated as the optimization duration corresponding to the sub-field. This can reduce the trajectory optimization time. The component selection unit 640 can select one or more components before the duration determination unit 620 determines the optimization duration corresponding to each sub-field. The optimization duration can be determined through multiple iterations based on one or more selected components rather than all components in the plurality of components. For illustrative purposes only, the one or more selected components may include a first component having a larger minimum duration compared to other components, a leaf having a larger displacement among all leaves of the multileaf grating moving in the sub-field in an acceleration-uniform speed-deceleration model, a leaf having a larger displacement among all leaves of the multileaf grating moving in the sub-field in an acceleration-uniform speed model or a uniform speed-deceleration model, and / or a leaf having a larger displacement among all leaves of the multileaf grating moving in the sub-field in a uniform speed model.

[0074] It should be noted that the above description is only for convenience of description and cannot limit the present application within the scope of the embodiments. It is understandable that for those skilled in the art, after understanding the principle of the system, various corrections and changes in form and details can be made to the application field of the above method and system without deviating from this principle. For example, one or more units in the processing module 420 may include an independent storage block (not shown). For another example, any two or more units can be combined into an independent unit to realize multiple functions. For another example, any one unit can be divided into two or more sub-units. However, these changes and modifications do not depart from the scope of the present application.

[0075] Figure 7 is an exemplary flow chart for determining motion parameters of multiple components according to some embodiments of the present invention. Process 700 and other processes described herein may be performed by any suitable combination of hardware, software, or manual methods. The software embodying these processes may be stored by any non-transitory tangible medium, including a hard disk, floppy disk, compact disk, digital video disk, flash memory, or magnetic tape.

[0076] In 702, the positions of multiple components may be obtained. The positions may be obtained by the obtaining module 410. In some embodiments, the operation for obtaining the positions of multiple components in 702 may be the same as or similar to the operation in 502 in the process 500, and will not be described again here.

[0077] In 704, a speed of each component at each control node may be determined based on the position. In some embodiments, the speed of each component at each control node may be determined by the speed determination unit 610. In some embodiments, it may be determined whether the speed of each component at each control node is zero.

[0078] For ease of explanation, an example of determining the speed of a component at a current control node will be described below. In some embodiments, the speed at the current control node can be determined based on one or more displacements corresponding to one or more control nodes before or after the current control node. In some embodiments, the one or more control nodes can include a previous control node and a subsequent control node. As used in this application, the previous control node may refer to a control node that is immediately adjacent to the current control node before the current control node, and the subsequent control node may refer to a control node that is immediately adjacent to the current control node after the current control node. For illustration only, the current control node CP is used as the displacement of the current control node. i For example, the control node CP i-1 Will be defined as the current control node CP i The previous control node, control node CP i+1Will be defined as the current control node CP i In some embodiments, one or more displacements may be determined based on information about the location in the planning data. For example, the current control node CP i and the previous control node CP i-1 The displacement of the constructed sub-field can be determined by the difference between the positions of the two control nodes mentioned above. One or more. In some embodiments, the displacement may refer to the displacement between the control node and the reference control node. As an example only, the reference control node may be the starting control node of the planning data, the ending control node of the planning data, the previous control node of the current control node, the subsequent control node of the current control node, etc. As used herein, the starting control node may refer to the first control node of the planning data's control node in time, and the ending control node may refer to the last control node of the planning data's control node in time. For example, for a control node including M+1 control nodes (e.g., CP=[CP0, CP1, CP2, CP3, ..., CP m ]), CP0 can be the starting control node, and CP m It may be an end control node. In some embodiments, the one or more displacements may be displacements between the one or more control nodes and their respective previous control nodes.

[0079] In some embodiments, it may be determined whether one or more displacements conform to a monotonic change over time. If one or more displacements conform to a monotonic change over time, the velocity at the control node may be non-zero. If one or more displacements do not conform to a monotonic change over time, the velocity at the control node may be assigned to zero.

[0080] Control Node CP i For example, the speed determination unit 610 may determine the speed corresponding to the control nodes CP i-1 , CP i and CP i+1 The displacement ε(CP i-1 ),ε(CP i ) and ε(CP i+1 ). Control Node CP i The velocity can be based on the displacement ε(CP i-1 ),ε(CP i ) and ε(CP i+1 ) is determined. The displacement ε(CP i-1 ),ε(CP i ) and ε(CP i+1 ) can represent the displacement between the control node and the reference control node CP0. If the displacement ε(CP i-1),ε(CP i ) and ε(CP i+1 ) is consistent with monotonic variation over time (e.g., ε(CP i-1 )≥ε(CP i )≥ε(CP i+1 ) or ε(CP i-1 )≤ε(CP i )≤ε(CP i+1 )), then the control node ε(CP i ) can be non-zero. If the displacement ε(CP i-1 ),ε(CP i ), and ε(CP i+1 ) does not conform to monotonic variation over time (e.g., ε(CP i-1 )>ε(CP i ) and ε(CP i )<ε(CP i+1 ), or ε(CP i-1 )<ε(CP i ) and ε(CP i )>ε(CP i+1 )), then the control node CP i The velocity can be specified as zero.

[0081] In 706, the minimum duration of each sub-field for each component to execute at least one sub-field can be determined based on the speed of each component at each control node. In some embodiments, the minimum duration can be determined by the duration determination unit 620. In some embodiments, the speed model of each component can be determined for each sub-field, and the minimum duration of each component to execute each sub-field can be determined based on the speed model. In some embodiments, the speed model can include one or more motion modes (e.g., acceleration, uniform speed, or deceleration). The uniform speed can indicate that the speed of the component does not change and moves at a stable speed. Exemplary speed models can include, but are not limited to, acceleration-uniform speed-deceleration model, uniform speed model, acceleration-deceleration model, acceleration-uniform speed model, uniform speed-deceleration model, deceleration-uniform speed-acceleration model, deceleration-acceleration model, etc. or any combination thereof. The acceleration-uniform speed-deceleration model can include an acceleration phase, a uniform speed phase, and a deceleration phase. The acceleration-uniform speed model can include an acceleration phase and a uniform speed phase. The uniform speed-deceleration model can include a uniform speed phase and a deceleration phase. The uniform speed model can include a uniform speed phase. The acceleration-deceleration model can include an acceleration phase and a deceleration phase. In some embodiments, a component may execute different subfields at different speed models.

[0082] In some embodiments, the speed model of the component that can execute the subfield defined by the two control nodes can be determined based on the speed of the component at the two control nodes. j-1 and CP j Limited sub-field S j If the component is on two control nodes CP j-1 and CP j If the speeds at all locations are not zero, the component can execute the subfield S in a uniform speed model, an acceleration-uniform speed-deceleration model, an acceleration-deceleration model, a deceleration-uniform speed-acceleration model, or a deceleration-acceleration model. j For example, if the component is on two control nodes CP j-1 and CP j If the speeds at all locations are zero, the component can execute the subfield S in an acceleration-constant speed-deceleration model or an acceleration-deceleration model. j .

[0083] In some embodiments, the minimum duration for a component to execute a subfield can be determined based on a velocity model of the component in the subfield. In some embodiments, the duration corresponding to each motion phase in the velocity model can be determined. The minimum duration for the component to execute the subfield can be obtained by determining the sum of the durations corresponding to each motion phase in the velocity model. Details on determining the minimum duration based on the velocity model can be found elsewhere in the present invention. For example, see Fig.12 and its description.

[0084] In some embodiments, the maximum time for a component to execute a sub-field can be determined based on an acceleration-constant speed-deceleration model. For example, if the speed of a component at two control nodes of a sub-field is zero (i.e., the starting speed of each component in the sub-field is equal to 0 (V enter =0), the terminal velocity is equal to 0 (V exit =0)), the duration of a component execution sub-field determined based on the acceleration-uniform speed-deceleration model can be specified as the maximum duration of the component execution sub-field.

[0085] In 708, the optimized duration corresponding to each sub-field may be determined based on the minimum duration for each component to execute each sub-field in at least one sub-field. In some embodiments, the optimized duration corresponding to a sub-field may refer to the minimum duration for all of the multiple components to execute the sub-field, and at the end of the optimized duration, all of the multiple components reach the position defined by the end control node of the sub-field. For example, for the control node CP j-1 and CP j Limited sub-field S j If the optimization duration is 10 seconds, then after 10 seconds, all components have reached the control node CP. j Limited location.

[0086] In some embodiments, a candidate minimum duration corresponding to the sub-field can be determined based on the minimum duration for each component to execute the sub-field. The candidate minimum duration can be specified as a lower limit when the optimized duration corresponding to the sub-field can be determined. The optimized duration corresponding to the sub-field can be equal to or greater than the candidate minimum duration.

[0087] In some embodiments, the optimal duration may be determined based on multiple iterations. During each of the multiple iterations, the candidate minimum duration may be updated (e.g., an increment is added in each iteration). In some embodiments, when the termination condition is met, the iteration may terminate, and the updated or unupdated candidate minimum duration may be designated as the optimal duration. Details on determining the optimal duration corresponding to a subfield may be found elsewhere in the present invention. For example, see Figure 8 and its description. In some embodiments, the candidate maximum duration corresponding to the sub-field can be determined based on the maximum duration of each component executing the sub-field. For example, when the maximum duration of a component passing through the sub-field is greater than the maximum duration of other components executing the sub-field, the maximum duration of the component executing the sub-field can be designated as the candidate maximum duration corresponding to the sub-field. The candidate maximum duration can be designated as the upper limit of the optimized duration corresponding to the sub-field. The optimized duration can be determined from the range consisting of the candidate minimum duration and the candidate maximum duration. In some embodiments, when determining the optimized duration, the maximum duration and the candidate maximum duration can be ignored.

[0088] In 710, the motion parameters of each component in each sub-field can be determined based on the optimized duration corresponding to each sub-field. In some embodiments, the motion parameters can be used to control the synchronous movement of multiple components from the starting control node to the ending control node of each sub-field. The motion parameters may include, but are not limited to, acceleration duration, uniform speed duration, deceleration duration, uniform speed, acceleration, etc. In some embodiments, the motion parameters of the components in the sub-field can be determined based on the optimized duration of the sub-field. For example, after determining the optimized duration of at least one sub-field, the speed of each component at each control node can be determined. In some embodiments, the speed of each component at each control node can be determined according to formula (1):

[0089]

[0090] Among them, CP j Indicates the current control node, V CP(j) Represents the speed of the component at the current control node, V Av(j) Indicates that the control node CP j-1 and CP j Limited sub-field S j The average velocity of the component, VAv(j+1) Indicates that the control node CP j and CP j+1 Limited sub-field S j+1 The average speed of the component described in is not monotonically indicating that the component is at the control node CP i-1 , CP i and CP i+1 The target displacement ε(CP i-1 ),ε(CP i ) and ε(CP i+1 ) does not conform to monotonic variation over time (e.g., ε(CP i-1 )>ε(CP i ) and ε(CP i )<ε(CP i+1 ), or ε(CP i-1 )<ε(CP i ) and ε(CP i )>ε(CP i+1 )), monotonically represents the component at the control node CP i-1 , CP i and CP i+1 The target displacement ε(CP i-1 ),ε(CP i ) and ε(CP i+1 ) is consistent with monotonic variation over time (e.g., ε(CP i-1 )≥ε(CP i )≥ε(CP i+1 ) or ε(CP i-1 )≤ε(CP i )≤ε(CP i+1 )). The average speed V Av(j) It can be determined by formula (2):

[0091] V Av(j) =(ε(CP j )-ε(CP j-1 )) / h j (2)

[0092] Among them, v(CP j ) and ε(CP j-1 ) respectively represent the control nodes CP j and CP j-1 The displacement, h j Indicates that the component executes the subfield S j In some embodiments, the motion parameters of each component in each sub-field can be determined based on the velocity model of each component in each sub-field and other techniques (e.g., double S model) using the velocity of each component at each control node.

[0093] In some embodiments, a control instruction may be generated based on motion parameters. The synchronous motion of the multiple components may be controlled according to the control instruction. In some embodiments, the control instruction may include, but is not limited to, speed curves and position curves of the multiple components. In some embodiments, the speed curve of the component may include multiple speeds and corresponding time points at which the component reaches the multiple speeds. In some embodiments, the position curve of the component may include multiple positions and corresponding time points at which the component reaches the multiple positions.

[0094] In some embodiments, the motion parameters corresponding to the sub-field depend on the sub-field itself and other sub-fields. For example, the position, terminal speed, etc. of a component at the end control node of a sub-field are the position, starting speed, etc. of the component at the start control node of the subsequent sub-field immediately adjacent to the sub-field. The motion parameters of the sub-field (e.g., the optimized duration corresponding to the sub-field) can be determined based on the parameters of the sub-field itself and the parameters of other sub-fields (e.g., the candidate minimum durations of other sub-fields).

[0095] It should be noted that the above description is only for convenience of description and does not limit the present application to the scope of the embodiments. It is understandable that, for those skilled in the art, after understanding the principle of the system, various corrections and changes in form and details can be made to the application field of the above method and system without departing from this principle. For example, process 700 may further include an operation for generating a control instruction for controlling the movement of multiple components in at least one sub-field, and an operation for transmitting the control instruction to the control module 430. However, these changes and modifications do not depart from the scope of the present application.

[0096] Figure 8 8 is a flow chart showing an exemplary process 800 for determining an optimized duration according to some embodiments of the present invention. Process 800 and other processes described herein may be performed by any suitable combination of hardware, software, or manual methods. The software embodying these processes may be stored by any non-transitory tangible medium, including a hard disk, a floppy disk, an optical disk, a digital video disk, a flash memory, or a tape.

[0097] In 802, the minimum duration for each component to execute each sub-field of the at least one sub-field is obtained. In some embodiments, the minimum duration for each component to execute each sub-field can be determined by, for example, executing the operation in 706, which will not be described again.

[0098] In 804, a candidate minimum duration corresponding to each sub-field is determined. For planning data including m sub-fields, m candidate minimum durations may be determined. The candidate minimum durations may be specified as lower limits when an optimized duration corresponding to a sub-field is determined.

[0099] In some embodiments, a candidate minimum duration corresponding to a sub-field can be determined based on the minimum durations of multiple components corresponding to the sub-field. In some embodiments, when the minimum duration of a component to execute a sub-field is greater than the minimum duration of other components, the minimum duration of the component can be designated as the candidate minimum duration of the sub-field (also referred to as the "initial candidate minimum duration"). The candidate minimum duration corresponding to the sub-field can be the lower limit of the range for determining the optimized duration corresponding to the sub-field. For example, if the minimum duration of a gantry to execute a sub-field is greater than the minimum duration of other components (e.g., the leaves, collimator, and workbench of the MLC), the minimum duration of the gantry to execute the sub-field can be designated as the candidate minimum duration of the sub-field.

[0100] In some embodiments, at least one candidate minimum duration corresponding to at least one sub-field may be determined based on the minimum duration of each sub-field in at least one sub-field executed by each component. In some embodiments, at least one candidate minimum duration may be in the form of a matrix or a vector. For example, the at least one candidate minimum duration may be in the form of a row matrix expressed in formula (3):

[0101] H=[h1,h2,h3,…,h m ] (3)

[0102] Where m represents the number of subfields, H represents the row matrix, and h1 to h m Respectively represent the candidate minimum duration corresponding to each of the m sub-fields. For another example, the at least one candidate minimum duration may be represented in the form of a one-dimensional vector.

[0103] In 806, based on the at least one candidate minimum duration corresponding to the at least one sub-field, the starting speed of one or more components at the starting control node of the sub-field and the terminal speed of one or more components at the ending control node may be determined. For a sub-field defined by two control nodes, the speed at the starting control node of the sub-field may refer to the starting speed, and the speed at the ending control node may refer to the terminal speed. The starting control node of the sub-field may refer to the control node at the beginning of the sub-field. The ending control node of the sub-field may refer to the control node at the end of the sub-field. For illustration purposes only, for a sub-field defined by control node CP j-1 and CP j Limited sub-field S j , the control node CP j-1 Subfield S j The starting control node, and the control node CP j Subfield S jThe end control node of the start control node. The start speed may refer to the speed of one or more components at the start control node. The end speed may refer to the speed of one or more components at the end control node. In some embodiments, the start speed of one or more components at the start control node and the end speed of one or more components at the end control node may be determined based on at least one candidate minimum duration. For example, the start speed and the end speed may be determined by substituting at least one candidate minimum duration into formulas (1) and (2) to determine the start speed and the end speed.

[0104] In some embodiments, the candidate minimum duration of the sub-field can be updated in multiple iterations to determine the optimized duration of the sub-field. In order to improve efficiency, one or more components can be selected from multiple components, so that multiple iterations for determining the optimized duration of the sub-field are performed for the selected components instead of all components. Just for illustration, the one or more components (e.g., 806 to 816) can be considered first in the iteration process. If the preset conditions for the selected one or more components are not met, another round of iteration can be performed. If the preset conditions for the selected one or more components are met, the potential optimized duration of the sub-field can be determined. Then, the potential optimized duration of the sub-field can be tested for other components of the multiple components. If the preset conditions for all components are met, the potential optimized duration of the sub-field can be formulated as the optimized duration of the sub-field. If the preset conditions of at least one component in the other components are not met, another round of iteration can be performed, starting again from the selected one or more components. The one or more selected components can be determined by the component selection unit 640. For illustration purposes only, four components including a first component, a second component, a third component, and a fourth component may be determined for each sub-field.

[0105] In some embodiments, for a sub-field, a component having a greater minimum duration than other components is called a first component. In some embodiments, the minimum duration for each component to execute a sub-field may be determined, for example, by executing step 706 of process 700 .

[0106] In some embodiments, the MLC may have multiple blades (e.g., 120 blades), and each blade of the MLC may be determined as a component, respectively. In some embodiments, various velocity models may be considered when determining one or more components. For illustrative purposes only, for two blades of the MLC having the same displacement in a sub-field, if the two blades execute the sub-field according to different velocity models, the minimum duration may be different. In some embodiments, for one or more blades that execute a sub-field at a zero starting velocity and a zero terminal velocity, the blade with the largest displacement among these blades may be determined as a second component. In some embodiments, for one or more blades that execute a sub-field at a zero starting velocity and a non-zero terminal velocity, or at a non-zero starting velocity and a zero terminal velocity, the blade with the largest displacement among these blades may be determined as a third component. In some embodiments, for one or more blades that execute a sub-field at a non-zero starting velocity and a non-zero terminal velocity, the blade with the largest displacement among these blades may be determined as a fourth component.

[0107] In 808, the maximum effective displacement of the multiple components in the sub-field can be determined based on the starting speed and the terminal speed of the multiple components. In some embodiments, the maximum effective displacement of the component in the sub-field can be determined based on the maximum effective speed of the component in the sub-field. The maximum effective speed can refer to the peak speed that the component can reach when executing a sub-field within the candidate minimum time length. The maximum effective displacement of the component in the sub-field can refer to the displacement that the component can reach at the maximum effective speed within the candidate minimum time length. In some embodiments, the minimum effective displacement of the multiple components can be determined based on the starting speed and the terminal speed of the multiple components. In some embodiments, the minimum effective displacement of the component in the sub-field can be determined based on the minimum effective speed of the component in the sub-field. The minimum effective speed of the component in the sub-field can refer to the minimum speed that the component can reach when executing the sub-field within the candidate minimum time length. The minimum effective displacement can refer to the displacement that the component can reach at the minimum effective speed within the candidate minimum time length. In some embodiments, the maximum effective speed and / or the minimum effective speed of the component in the sub-field can be determined in multiple iterations. Details on determining the maximum effective displacement and the minimum effective displacement of a component in a sub-field can be found elsewhere in the present invention. For example, see Fig.13 and its description.

[0108] In 810, the displacement of one or more components in the sub-field can be determined based on the planning data. In some embodiments, the displacement of the component in the sub-field can be determined based on the position information in the planning data. In some embodiments, the displacement of the component in the sub-field can be determined based on the position of the component at the starting control node and the position of the component at the ending control node. For example, if the rotation angles of the racks at two adjacent control nodes of a sub-field are 10 degrees and 15 degrees, respectively, the displacement of the rack in the sub-field is 5 degrees. For another example, if the positions of the blades of the MLC at two adjacent control nodes of a sub-field are -1 cm and 1 cm, respectively, the displacement of the blades in the sub-field is 2 cm.

[0109] At 812, it may be determined whether a preset condition is satisfied. If the preset condition is satisfied, process 800 may proceed to 814, where the candidate minimum duration may be designated as the optimized duration. If the preset condition is not satisfied, process 800 may proceed to 816 to increase the candidate minimum duration by an increment, and another round of iterations including 806 to 812 may be performed.

[0110] In some embodiments, the preset condition may be that the displacement of each of the multiple components is less than the maximum effective displacement. For illustration purposes only, for a sub-field, if the displacement of each component is less than the maximum effective displacement, this may indicate that all of the multiple components can execute the sub-field within the candidate minimum time length, and the preset condition may be considered to be satisfied. In some embodiments, the preset condition may be that the displacement of each of the multiple components is between the maximum effective displacement and the minimum effective displacement of the component. For illustration purposes only, for a sub-field, if the displacement of each component is between the maximum effective displacement and the minimum effective displacement, this may indicate that all of the multiple components can execute the sub-field within the candidate minimum time length, and the preset condition may be considered to be satisfied. In some embodiments, the preset condition may be a preset threshold of the candidate minimum time length, and when the candidate minimum time length is greater than the preset threshold after iterative update, the iteration will terminate. In some embodiments, the preset threshold may be set by the user and / or according to the default setting of the radiotherapy system 100. In some embodiments, if the speed of a component among the multiple components at the control node of the sub-field is zero (that is, the starting speed V of the component is zero), the preset condition may be satisfied. enter = 0 and terminal velocity V exit =0), and the minimum duration of the component executing the sub-field is greater than the minimum duration of other components, then the minimum duration of the component (that is, the largest minimum duration) can be designated as the preset threshold of the sub-field.

[0111] In 814, a candidate minimum duration may be determined as the optimized duration of the sub-field. The optimized duration of the sub-field may be used to determine motion parameters of multiple components in the sub-field.

[0112] In 816, the candidate minimum duration may be increased by an increment. If the displacement of at least one component is greater than its maximum effective displacement, which indicates that the at least one component cannot execute the entire sub-field within the candidate minimum duration, the candidate minimum duration may be increased by an increment, and the candidate duration (i.e., the updated candidate minimum duration) may be obtained. The increment may be a value (e.g., 2 seconds, 15 seconds, 1 minute, etc.) according to the default setting of the radiation therapy system 100 or set by the user. For illustration purposes only, for the sub-field S j If the preset conditions are not met, the subfield S can be determined according to formula (4): j Candidate duration:

[0113] h′ j =h j +Δh (4)

[0114] Among them, Δh represents the increment, h j represents the candidate minimum duration for the update, h j It can be understood that when another round of iteration is performed, h j It also represents the candidate minimum duration updated in the previous iteration. In some embodiments, a set of new candidate minimum durations corresponding to at least one sub-field can be determined. The set of new candidate minimum durations can be used to determine the minimum duration corresponding to the sub-field S. j-1 Optimization duration. j-1 In terms of time, you can j For illustration purposes only, if the subfield S j The candidate minimum duration of S is changed (for example, an increment is added), and the multiple components are in the subfield S j The starting speed, terminal speed, maximum effective displacement and minimum effective displacement will be changed accordingly. According to formula (1) and formula (2), multiple components in the subfield S j The change of the starting speed will affect the component in the adjacent sub-field S j-1 Therefore, the subfield S j The change of candidate duration will make the subfield S j-1 The optimization time has changed, and you need to reconfirm the sub-field S j-1 For example, the process 800 is executed. j , the new set of candidate minimum durations can be expressed by formula (5):

[0115] h n=[h1,h2,h3,…,h′ j ,…,h m ] (5)

[0116] Among them, n represents the number of iterations, that is, which round of iteration is currently being executed.

[0117] It should be noted that the above description is only for the convenience of description and does not limit the present application to the scope of the embodiments described. It can be understood that for those skilled in the art, after understanding the principle of the system, various modifications and changes in form and details can be made to the application field of the above method and system without deviating from this principle. For example, for two consecutive sub-fields, the iterative operations in 806 to 816 can be repeated to determine the second optimized duration of the second sub-field corresponding to at least one sub-field in the first multiple iterations after determining the first optimized duration of the first sub-field corresponding to at least one sub-field in the first multiple iterations, wherein the first sub-field may be before the second sub-field. For illustrative purposes only, for a system including m sub-fields (for example, S=[S1, S2, S3, ..., S j , S j+1 , ...S m ,]) planning data, subfield S j+1 The optimization duration can be determined in the subfield S j For another example, the operations in 806 to 812 may be replaced by other operations for evaluating the candidate minimum duration (e.g., determining whether the candidate minimum duration can be the optimal duration of the sub-field). However, these changes and modifications do not depart from the scope of the present application.

[0118] Fig. 9 is exemplary planning data shown in some embodiments of the present invention. The planning data may correspond to a plan (e.g., a radiation therapy plan for providing a sequence of radiation beams) that includes a series of positions of multiple components (e.g., a gantry, one or more leaves of a multileaf collimator (MLC), etc.). In some embodiments, the planning data may include multiple discrete control nodes. Each of the control nodes may include the positions of multiple components and the cumulative radiation dose delivered. The transition between two adjacent control nodes may be defined as a sub-field. In some embodiments, the planning data may include at least one sub-field. Fig. 9 As shown, the planning data may include m+1 control nodes CP0 to CP m . Control nodes CP0 to CP mEach control node in includes the position of the gantry (e.g., measured in angles of the gantry), the position of each leaf of the multi-leaf collimator (MLC), and the cumulative radiation dose delivered (measured in the radiation sensor). In some embodiments, the radiation dose to be delivered can also be determined as a component. More description of planning data or the position of multiple components can be found in U.S. Pat. No. 8,503,608 B2, the contents of which are incorporated herein by reference.

[0119] Fig.10 1001 is an exemplary trajectory curve of a component shown in some embodiments of the present invention. The horizontal axis represents time or sub-field time, and the vertical axis represents the position of the component. The ideal trajectory curve 1001 represented by the dotted line can be generated by a trajectory generation framework including multiple features. The features may include but are not limited to a velocity model, a minimum duration, and a set of constraints. The set of constraints includes but is not limited to jerk, acceleration, speed, etc. In some embodiments, the ideal trajectory curve 1001 of the component can be generated based on the motion parameters determined according to 710 in process 700. In some embodiments, the component can be a blade of an MLC. The trajectory curve 1001 may include multiple passing points, such as passing point 1003. A passing point may represent a position that a component may reach at a point in time. In some embodiments, each passing point may correspond to a control node. The time interval between two adjacent control nodes may represent the duration for which a component can execute a sub-field defined by two adjacent control nodes.

[0120] In some embodiments, components may be Fig.10 The solid line shown in FIG. 1 represents a subfield in the actual trajectory 1002. In some embodiments, there may be a deviation between the ideal trajectory curve 1001 and the actual trajectory 1002. A larger number of control nodes may reduce the deviation. In some embodiments, the number of control nodes may be optimized to reduce the deviation and improve the efficiency of determining the optimization duration and motion parameters of multiple components in process 700.

[0121] Fig.11 is an exemplary velocity model of a component according to some embodiments of the present invention. Fig.11 (a) to Fig.11 In (d), the horizontal axis represents time or sub-field time, and the vertical axis represents the position of the component. In some embodiments, the velocity model may include an acceleration-uniform speed-deceleration model 1110, an acceleration-uniform speed model 1120, a uniform speed-deceleration model 1130, a uniform speed model 1140, etc. In some embodiments, the velocity model of the component in the sub-field may be determined based on the starting velocity of the component in the sub-field (i.e., the velocity at the starting control node of the sub-field) and the terminal velocity (i.e., the velocity at the ending control node of the sub-field).

[0122] In some embodiments, if both the starting speed and the terminal speed are zero, the speed model of the component motion conforms to the acceleration-uniform speed-deceleration model 1110. According to the acceleration-uniform speed-deceleration model 1110, the component can accelerate from the starting speed to the uniform speed in the acceleration time period, move at a uniform speed in the uniform speed time, and then decelerate from the uniform speed to the terminal speed in the deceleration time period. As used herein, the acceleration time period may refer to the length of time that the speed of the component changes from the starting speed to the uniform speed. The deceleration time period may refer to the length of time that the speed of the component changes from the uniform speed to the terminal speed. The minimum length of time that the component executes the subfield may be determined according to formula (6):

[0123]

[0124] Where V(t) represents the speed function of the component execution subfield, V entry Indicates the starting speed of the component, V cruise represents uniform velocity, V exit represents the terminal velocity of the component, V max represents the upper limit of the component's speed, t represents time, represents the derivative of the velocity function V(t), A(t) represents the acceleration function of the component in the subfield, A max Indicates the upper limit of the acceleration of the component, T en Indicates the acceleration time period, T entry represents the entry time, T curise represents the uniform time, T ex Indicates the deceleration time period, T exit represents the exit time, D represents the displacement of the component in the sub-field, and h min The minimum duration for a component to execute the sub-field can be the acceleration time T en , uniform time T curise and deceleration time T ex In some embodiments, the limits related to jerk may also be considered. For example, the limits related to jerk may be expressed by formula (7):

[0125]

[0126] in, represents the second-order derivative of the velocity function V(t), J(t) represents the acceleration, and J max Indicates the upper limit of jerk.

[0127] In some embodiments, if the starting speed is zero and the terminal speed is non-zero, the speed model of the component motion conforms to the acceleration-uniform speed model 1120. According to the acceleration-uniform speed model 1120, the component can accelerate from the starting speed to the uniform speed during the acceleration time period, and then maintain a uniform speed during the uniform time period. If the starting speed is non-zero and the terminal speed is zero, the speed model of the component conforms to the uniform speed-deceleration model 1130. According to the uniform speed-deceleration model 1130, the component can maintain a uniform speed during the uniform time period, and then decelerate from the uniform speed to the terminal speed during the exit stabilization time. Taking the acceleration-uniform speed model 1120 as an example, the minimum length of time for the component to execute the subfield can be determined according to formula (8):

[0128]

[0129] The minimum time for the component to execute the sub-field may include an acceleration time T en and uniform time T curise In some embodiments, the limitations (eg, limitations on jerk as shown in equation (7)) may also be considered.

[0130] In some embodiments, if both the starting speed and the terminal speed are non-zero, the speed model of the component motion conforms to the uniform speed model 1140. According to the uniform speed model 1140, the component can execute the sub-field at a uniform speed within a uniform time. The minimum time for the component to execute the sub-field can be determined according to formula (9):

[0131] h min =D / V max (9)

[0132] Where D represents the distance between the two control nodes that make up the sub-field.

[0133] Fig.12 is an exemplary speed model of a component shown in some embodiments of the present invention. The horizontal axis represents time or sub-field time, and the vertical axis represents the speed of the component (or the speed towards the destination or the end control node of the sub-field). The component can enter the sub-field at the starting speed at the entry time, accelerate from the starting speed to the uniform speed during the acceleration time period, maintain a uniform speed during the uniform speed time, decelerate from the uniform speed to the terminal speed during the deceleration time period, and then leave the sub-field at the terminal speed at the exit time. In this process, the component may need to satisfy a set of constraints. The set of constraints may be related to the maximum speed, maximum acceleration and maximum jerk of the component. In some embodiments, according to the constraints, the speed of the component passing each control node is continuous. The speed of the component can be expressed as a piecewise function (10):

[0134]

[0135] Where V(t) represents the piecewise function of the component execution subfield, t represents time, T entry Indicates the time point when the component enters the sub-field, T en represents the acceleration time period of the component, T ex represents the deceleration time period of the component, T exit represents the time point when the component leaves the sub-field, f(t) and g(t) represent part of the piecewise function V(t), f(t) represents the speed function of the component during the acceleration period, g(t) represents the speed function of the component during the deceleration period, represents the derivative of f(t), represents the derivative of g(t), V entry Indicates the starting speed of the component, V cruise represents uniform velocity, V exit Indicates the terminal velocity of the component.

[0136] In some embodiments, the speed, acceleration, and jerk of the component may be limited by one or more thresholds. In some embodiments, the one or more thresholds may be set by the user according to a combination of one or more of the default settings of the radiation therapy system 100, etc. In some embodiments, the one or more thresholds may be related to the structure, size, or material of the component. For example, the speed, acceleration, and jerk of the component may be expressed as formulas (11) to (13):

[0137] |V(t)|≤V max , (11)

[0138]

[0139]

[0140] Where V(t) represents the velocity function, represents the first-order derivative of the velocity function V(t), represents the second-order derivative of the velocity function V(t), A(t) represents acceleration, J(t) represents jerk, V max Indicates the maximum speed, A max represents the maximum acceleration, J max In some embodiments, V max , A max and J max It can be determined based on the planning data and limited by the mechanical structure of the component. In some embodiments, the total time for the component to execute the sub-field can be determined according to formula (14):

[0141] h=T exit-T entry =T en +T curise +T ex (14)

[0142] Here, h refers to the total time it takes for a component to execute a sub-field.

[0143] In some embodiments, the displacement of the component can be expressed as formula (15):

[0144]

[0145] When determining the minimum duration in 706 of process 700, each component may need to satisfy the constraints set forth in the description (e.g., equations (11) to (15)). More description of an exemplary speed model can be found in U.S. patent application US2017 / 0354393A1, the contents of which are incorporated herein by reference.

[0146] Fig.13 Schematic diagram of the maximum effective speed, minimum effective speed, maximum effective displacement and minimum effective displacement of a component in a sub-field according to some embodiments of the present invention. The horizontal axis represents time or sub-field time, and the vertical axis represents the speed of the component. Fig.13 This can be described in conjunction with the operation in 808 of process 800. For a subfield defined by a start control node and an end control node, the speed of the component at the start control node and the end control node can be a start speed V, a start speed V, and a end speed V, respectively. entry and terminal velocity V exit Given the duration h that the component needs to execute the subfield (e.g., the candidate minimum duration), a first speed curve 1301 and a second speed curve 1302 may be determined. In some embodiments, when determining the first speed curve 1301 and the second speed curve 1302, the component may also need to satisfy a set of constraints (e.g., formulas (11) to (15)). The set of constraints may involve the speed, acceleration, jerk, and / or displacement of the component in the subfield.

[0147] The first speed curve 1301 may include an acceleration phase and a deceleration phase. The acceleration phase may correspond to an acceleration duration T en_α and acceleration displacement D en_α , the deceleration phase may correspond to the deceleration duration T ex_α and deceleration displacement D ex_α The acceleration time T en_α and the deceleration time T ex_α The sum can be less than or equal to the duration h (i.e., T en_α +T ex_α ≤h). The peak value of the first speed curve 1301 can be determined as the maximum effective speed Vmax_eff . Acceleration displacement D en_α and deceleration displacement D ex_α The sum can be the maximum effective displacement S max_eff (i.e., S max_eff =D en_α +D ex_α ).

[0148] The second speed curve 1302 may include a deceleration phase and an acceleration phase. The deceleration phase may correspond to a deceleration time T en_β and deceleration displacement D en_β , the acceleration phase may correspond to the acceleration duration T ex_β and acceleration displacement D ex_β The deceleration time T en_β and the acceleration time T ex_β The sum can be less than or equal to the duration h (i.e., T en_β +T ex_β ≤h). The valley value of the second speed curve 1302 can be determined as the minimum effective speed V min_eff . Deceleration displacement D en_β and acceleration displacement D ex_β The sum can be the minimum effective displacement S min_eff (i.e., S min_eff =D en_β +D ex_β ).

[0149] In some embodiments, the maximum effective speed and / or the minimum effective speed can be determined in multiple iterations. For example, the maximum effective speed of a component can be determined by iteratively checking the difference between the candidate minimum duration corresponding to the sub-field and the actual duration of the component executing the sub-field at different effective speeds. If the difference between the candidate minimum duration and the actual duration is greater than a preset threshold (e.g., zero), the effective speed can be determined as the maximum effective speed of the component. More descriptions of the maximum effective speed, minimum effective speed, maximum effective displacement, and minimum effective displacement of a component in a sub-field can be found in U.S. patent application US 2017 / 0354393 A1, the contents of which are incorporated herein by reference.

[0150] Fig.14 1400 is an exemplary sub-node on a motion trajectory of a component according to some embodiments of the present invention. The horizontal axis represents time or sub-field time, and the vertical axis represents the position of the component. In some embodiments, trajectory 1400 may be generated based on the motion parameters of the component determined in 710 of process 700. Trajectory 1400 may include j-1 To Cp j+3In some embodiments, a plurality of sub-nodes (e.g., 1402-1, 1402-2, and 1402-3) may be generated between two adjacent control nodes. The plurality of sub-nodes may also divide the sub-field between the two adjacent control nodes into one or more sub-sub-fields. In some embodiments, a regular interval T may exist between two adjacent sub-nodes, such as 20 milliseconds, 50 milliseconds, etc. For example, the control node CP j+1 and CP j+2 (e.g., the sub-field between control nodes 1401-3 and 1401-4) can be divided into four sub-fields by three sub-nodes. The sub-nodes (e.g., 1402-1, 1402-2, and 1402-3) can include control information of multiple components. The control information may include the time point when the component arrives at the sub-node, the position of the component corresponding to the sub-node, the speed of the component at the sub-node, the acceleration of the component at the sub-node, etc. For illustration purposes only, the sub-node Cp i (eg, the control information of child node 1402-2) may include when the component reaches Cp i Time point t i , corresponding to Cp i Position i , in Cp i Velocity at time i , in Cp i Acceleration Acc i Etc. Subnodes can be used to control the movement of components when executing subfields.

[0151] Fig.15 is a schematic diagram of an exemplary control model for controlling the motion of multiple components according to some embodiments of the present invention. The control model can be implemented by one or more modules or devices of the radiotherapy system 100 to achieve the purpose of motion control of multiple components. The processing module 420 can obtain planning data including multiple target positions of multiple components, and by executing a reference Figures 7 to 9 One or more operations are provided to generate motion parameters of multiple components. The motion parameters may include the time point when the component reaches the control node or subnode, the position of the component corresponding to the control node or subnode, the speed at the control node or subnode, the acceleration at the control node or subnode, the uniform speed between two consecutive control nodes or subnodes, the acceleration duration of the acceleration phase, etc. i For example, the child node Cp i You can use Cp i (t i ,Pos i , Veli , Acc i ) indicates that t i Indicates that the component has reached CP i The time point, Pos i Indicates that it corresponds to CP i The position of the component, Vel i Indicates that in CP i The speed of the component, Acc i Indicates that in CP i The acceleration of the component at the time.

[0152] In some embodiments, the radiation therapy system 100 may include a position control unit 1501. In some embodiments, the position control module 1501 may be a part of the control module 430. The position control module 1501 may also include a velocity feedforward unit 1502, an acceleration feedforward unit 1503, and a position loop control unit 1504. The processing module 420 may transmit information about one or more sub-nodes to a device in the position control module 1501 at a predetermined interval (20 milliseconds). The information may include position information, velocity information, acceleration information, etc. i For example, the position Pos i can be transmitted to the ring control unit 1504 to control the position of the component, the speed Vel i can be transmitted to the speed feedforward unit 1502 to control the speed of the component, and the acceleration Acc i Can be transmitted to the acceleration feed-forward unit 1503 to control the acceleration of the component. In some embodiments, the position loop control unit 1504 can receive the detected positions of multiple components from a position detection device (e.g., a motor encoder, a position sensor, an angular position sensor, etc.). The detected position from the position detection device can be used as real-time position feedback. Just for illustration, the position loop control unit 1504 can determine whether there is a deviation between the detected component position and the position of the component corresponding to the subnode. If there is a deviation, the speed feed-forward unit 1502 and / or the acceleration feed-forward unit 1503 can dynamically adjust the speed of the component based on the deviation to keep up with the position corresponding to the subnode. The speed feed-forward unit 1502, the acceleration feed-forward unit 1503 and the position loop control unit 1504 can generate speed instructions about multiple components based on one or more subnodes. In some embodiments, the control module can also include a speed loop (not shown in the figure), which can receive speed instructions from the position control module 1501, and control the movement of multiple components based on the speed instructions.

[0153] The above content describes the present application and / or some other examples. According to the above content, the present application can also make different variations. The subject matter disclosed in the present application can be realized in different forms and examples, and the present application can be applied to a large number of applications. All applications, modifications and changes required for protection in the following claims belong to the scope of the present application.

[0154] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.

[0155] Those skilled in the art will appreciate that the contents disclosed in this application may be subject to many variations and improvements. For example, the various system components described above are all implemented by hardware devices, but may also be implemented only by software solutions. For example: installing the system on an existing server. In addition, the provision of location information disclosed herein may be implemented by a firmware, a combination of firmware / software, a combination of firmware / hardware, or a combination of hardware / firmware / software.

[0156] All or portions of the software may at times communicate over a network, such as the Internet or other communications network. Such communications enable software to be loaded from one computer device or processor to another. For example, from a management server or host computer of a radiation therapy system to a hardware platform of a computer environment, or other computer environment implementing the system, or a system of similar functionality associated with providing information required for vertebral identification and naming. Thus, another medium capable of transmitting software elements may also be used as a physical connection between local devices, such as light waves, radio waves, electromagnetic waves, etc., transmitted through electrical cables, optical cables, or air. Physical media such as cables, wireless connections, optical cables, and the like used to carry carriers may also be considered to be the medium that carries the software. As used herein, unless limited to tangible "storage" media, other terms referring to computer or machine "readable media" refer to media that participate in the execution of any instructions by a processor.

[0157] The computer program coding required for the operation of each part of the present application can be written in any one or more programming languages, including object-oriented programming languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages ​​such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages ​​such as Python, Ruby and Groovy, or other programming languages, etc. The program coding can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partly on the user's computer and partly on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, for example, a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).

[0158] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this application. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0159] Similarly, it should be noted that in order to simplify the description of the disclosure of this application and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this application, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the object of this application are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.

[0160] In some embodiments, numbers describing attributes and quantities are used. It should be understood that such numbers used to describe the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values ​​is as accurate as possible within the feasible range.

[0161] Each patent, patent application, patent application disclosure, and other materials, such as articles, books, instructions, publications, documents, objects, etc., cited in this application are hereby incorporated by reference in their entirety. Except for application history documents that are inconsistent with or conflicting with the content of this application, documents that limit the broadest scope of the claims of this application (currently or later attached to this application) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the attached materials of this application are inconsistent or conflicting with the content described in this application, the descriptions, definitions, and / or use of terms in this application shall prevail.

[0162] Finally, it should be understood that the embodiments described in this application are only used to illustrate the principles of the embodiments of the present application. Other variations may also fall within the scope of the present application. Therefore, as an example and not a limitation, the alternative configurations of the embodiments of the present application may be considered to be consistent with the teachings of the present application. Accordingly, the embodiments of the present application are not limited to the embodiments explicitly introduced and described in the present application.

Claims

1. A method for rapid optimization of trajectories of multi-component synchronous motion, characterized in that: The method comprises: Acquire multiple groups of positions of multiple components, each group of positions of the multiple components corresponds to a control node, and two adjacent control nodes define a subfield; determining a velocity of each component at each control node based on the plurality of sets of positions of the plurality of components; Determine a minimum length of time for each component to execute each sub-field of at least one sub-field based on a speed of each component at each control node; Based on the minimum duration of each sub-field executed by each component for at least one sub-field, iterative updating is performed to determine an optimized duration corresponding to each sub-field, including: For each sub-field of the at least one sub-field, determining a candidate minimum duration corresponding to each sub-field based on a minimum duration for each component to execute each sub-field; and Iteratively updating based on at least one candidate minimum duration corresponding to at least one sub-field to determine an optimized duration corresponding to each sub-field; wherein, for the iterative update, one or more components among the multiple components are identified and the iterative update is performed before other components; and Based on the optimized duration corresponding to each sub-field, a motion parameter of each component in each sub-field is determined.

2. The method according to claim 1, characterized in that: The plurality of components include at least one of: a gantry, one or more leaves of a multi-leaf collimator (MLC), a tungsten gate, or a radiation dose.

3. The method according to claim 1, characterized in that The step of determining the minimum duration of each sub-field for each component to execute at least one sub-field based on the speed of each component at each control node comprises: For each component in each subfield of at least one subfield, obtaining a set of motion constraints for the component; Determining a velocity model matched by the component based on the velocity of the component at each control node; and Based on the velocity model and the set of motion constraints, a minimum length of time for the component to execute the subfield is determined.

4. The method according to claim 1, characterized in that: The identified one or more components include at least one of the following: A first component having a greater minimum duration than the other components; a first leaf having a maximum displacement among the leaves of the multileaf raster executing the sub-field at the first velocity model; a second leaf having a maximum displacement among the leaves of the multileaf raster executing the sub-field at the second velocity model; or A third leaf having a maximum displacement among the leaves of the multileaf raster that executes the sub-field at the third velocity model.

5. The method according to claim 1, characterized in that The step of determining the optimized duration corresponding to each sub-field based on at least one candidate minimum duration corresponding to at least one sub-field comprises: Determine, based on the at least one candidate minimum duration corresponding to the at least one sub-field, a starting speed of the plurality of components at a starting control node and an ending speed at an ending control node of the sub-field; determining a plurality of maximum effective displacements of the plurality of components in the sub-field based on the starting velocity and the terminal velocity in each of the sub-fields; In response to a displacement of at least one of the multiple components being greater than a maximum effective displacement, a candidate minimum duration of a corresponding sub-field is iteratively updated.

6. The method according to claim 5, characterized in that The candidate minimum duration of the iterative update corresponding to the sub-field includes: The candidate minimum duration is updated based on the plurality of displacements of the plurality of components, the maximum effective displacement of the plurality of components, and the minimum effective displacement of the plurality of components, wherein the minimum effective displacement is the displacement reached by the plurality of components within the candidate minimum duration.

7. The method according to claim 5, characterized in that The step of determining the optimized duration corresponding to each sub-field based on at least one candidate minimum duration corresponding to at least one sub-field comprises: In response to the displacement of the plurality of components being less than a maximum effective displacement, the candidate minimum duration is designated as an optimized duration of the sub-field.

8. The method according to claim 1, characterized in that The iterative updating based on the minimum duration of each sub-field of at least one sub-field executed by each component to determine the optimized duration corresponding to each sub-field comprises: One or more components are identified from the plurality of components, and one or more iterations for determining the optimization duration are performed on the identified one or more components before one or more iterations for determining the optimization duration are performed on other components.

9. A fast trajectory optimization system for multi-component synchronous motion, characterized in that: The system comprises: An acquisition module is used to acquire multiple groups of positions of multiple components, where each group of positions of the multiple components corresponds to a control node, and two adjacent control nodes define a subfield; The processing module includes a speed determination unit, a duration determination unit and a motion parameter determination unit, wherein: The speed determination unit determines the speed of each component at each control node based on the multiple sets of positions of the multiple components; The duration determination unit, Determine a minimum length of time for each component to execute each sub-field of at least one sub-field based on a speed of each component at each control node; Based on the minimum duration of each sub-field executed by each component for at least one sub-field, iterative updating is performed to determine an optimized duration corresponding to each sub-field, including: For each sub-field of the at least one sub-field, determining a candidate minimum duration corresponding to each sub-field based on a minimum duration for each component to execute each sub-field; and Iteratively updating based on at least one candidate minimum duration corresponding to at least one sub-field to determine an optimized duration corresponding to each sub-field; Wherein, for the iterative update, one or more components among the multiple components are identified and the iterative update is performed before other components; The motion parameter determination unit determines the motion parameter of each component in each sub-field based on the optimized duration corresponding to each sub-field.