Data processing method and device, computer storage medium, computer program product and digital PET system
By dividing the detection ring data in the PET system and processing it by multiple servers, and using a method of reading and sorting in stages, the problem of missing coincidence events caused by processing by multiple servers was solved, thus improving data processing efficiency and imaging effect.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-10
- Publication Date
- 2026-04-03
AI Technical Summary
During PET data acquisition, when multiple servers process single-event data, a large number of coincidence events are lost, affecting system sensitivity and imaging results.
By dividing the raw data output by the probe ring into multiple datasets, and having multiple first servers parse single-event data, and using second servers to process single-event data in stages to generate matching event data, the method of reading and sorting in stages reduces data loss.
It improves data processing efficiency under large data volume conditions, reduces the loss rate of matching events, and ensures the smooth progress of data acquisition and image reconstruction.
Smart Images

Figure CN121786003A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing, and in particular to a data processing method, apparatus, computer storage medium, computer program product, and digital PET system. Background Technology
[0002] Positron emission tomography (PET) is one of the most advanced molecular imaging technologies available today. It reconstructs images by detecting coincidence events corresponding to the annihilation of positive and negative electrons within the object being measured.
[0003] During PET data acquisition, a large amount of information needs to be recorded to obtain the energy, timing, and location information of gamma photons hitting the detector. When the drug activity is high enough or the PET axis length increases and the number of detectors increases, the real-time data volume becomes extremely large. On the one hand, most servers currently support two optical ports and a maximum data transmission of 40G; on the other hand, the transmission rate of a single optical fiber and the bandwidth of a switch are limited. Due to these two limitations, when planning to use high-activity drugs or increase the number of detectors for acquisition, multiple optical fibers are needed to transmit the data to multiple servers for data processing in order to transmit all the acquired data to the servers. However, the process of the radiopharmaceutical annihilation reaction producing a pair of inverse gamma photons hitting the detector is a random process. When using multiple servers for data processing, each server can only match a portion of the single-event data acquired by the detectors, thus losing a large number of coincidence events, which in turn significantly affects the system sensitivity and imaging effect. Summary of the Invention
[0004] Therefore, it is necessary to provide a data processing method, apparatus, computer storage medium, computer program product, and digital PET system to address at least one technical problem existing in traditional solutions.
[0005] According to a first aspect of this application, a data processing method is provided, comprising: collecting raw data output from a plurality of probe rings, dividing the raw data output from all the probe rings into a plurality of datasets; parsing the plurality of datasets through at least two first servers to obtain a plurality of single-event data; and processing the single-event data through a second server to obtain composite event data.
[0006] According to one embodiment of this application, several single-event data are obtained by parsing the multiple datasets through at least two first servers, including: dividing the several single-event data into several files according to the occurrence time through each first server, and marking time information on each file, wherein the time information is associated with the occurrence time of each single event in the corresponding file.
[0007] According to one embodiment of this application, processing the single event data through a second server to obtain conforming event data includes: reading and processing the single event data or file in the first server in installments after a predetermined collection time through the second server.
[0008] According to one embodiment of this application, processing the single event data through a second server to obtain conforming event data includes: if the previous processing of the single event data is completed, then continuing to read and process at least a portion of the remaining single event data or file through the second server.
[0009] According to one embodiment of this application, processing the single event data through a second server to obtain conforming event data includes: reading and processing the single event data or file from the first server in stages through the second server after the collection begins.
[0010] According to one embodiment of this application, processing the single event data through a second server to obtain matching event data includes: reading single event data or files from the first server in multiple reads through a second memory, and using each read single event data or file as the current matching data; selecting at least a portion of the current matching data as single matching data through a second video memory and processing the single matching data, and adding matching-related tagging information to each single event data after parsing to obtain single matching event data.
[0011] According to one embodiment of this application, reading single event data or files from the first server in stages through the second memory, and using each read single event data or file as the current data to be matched, includes: processing the single matching event data into a predetermined format through the second memory and outputting it; The process involves selecting at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data. After parsing, matching-related tagging information is added to each single event data to obtain single-event matching event data. This includes: after outputting single-event matching event data in a predetermined format from the second memory, continuing to select at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data.
[0012] According to one embodiment of this application, single-event data or files in the first server are read in stages through the second memory, and each read single-event data or file is used as the current data to be matched, including: after the second memory reads multiple files, the second memory sorts the multiple files according to the time information contained in the files; The process involves selecting at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data. After parsing, matching-related marker information is added to each single event data to obtain single-event matching event data. This includes selecting files according to the file arrangement order through the second video memory, extracting all single event data from the selected files, sorting all single event data according to the occurrence time, and then performing matching processing.
[0013] According to one embodiment of this application, single event data or files in the first server are read in stages through the second memory, and each read single event data or file is used as the current data to be matched, including: after multiple single event data are read in the second memory, the second memory sorts the single events according to the occurrence time of the single event data; The process involves selecting at least a portion of the current data to be matched as single-event data from the second video memory and processing the single-event data. After parsing, matching-related marker information is added to each single-event data to obtain single-event matching event data. This includes selecting single-event data from the second video memory according to the order of the single-event data.
[0014] According to one embodiment of this application, the data processing method further includes: after the second server reads single event data or files, each of the first servers retains a portion of the read single event data or files and deletes the remaining read single event data or files.
[0015] According to one embodiment of this application, the data processing method further includes: after the second server reads single event data or files, retaining a portion of the read single event data or files through at least one first server, and deleting the remaining read single event data or files.
[0016] According to one embodiment of this application, the data processing method further includes: after the second server reads single event data or files, retaining, through at least one of the first servers, the portion of the read single event data or files associated with unread single event data or files, and deleting the remaining read single event data or files.
[0017] According to a second aspect of this application, a data processing apparatus is provided, comprising: at least two first servers, each first server configured to parse one or more datasets to obtain a plurality of single-event data, the datasets being derived from raw data output by different probe rings, and the raw data output by all the probe rings being divided into a plurality of the datasets; and a second server, which interfaces with all the first servers and is configured to process the single-event data to obtain composite event data.
[0018] According to one embodiment of this application, each of the first servers is configured to divide a plurality of single event data into a plurality of files according to the time of occurrence, and to mark time information on each of the files, wherein the time information is associated with the occurrence time of each single event in the corresponding file.
[0019] According to one embodiment of this application, the second server is configured to read single-event data or files from the first server in installments after a predetermined collection time for processing.
[0020] According to one embodiment of this application, the second server is configured to continue reading and processing at least a portion of the remaining single-event data or files if the previous single-event data processing is completed.
[0021] According to one embodiment of this application, the second server is configured to read and process the single-event data or file from the first server in installments after the data collection begins.
[0022] According to one embodiment of this application, the second server includes: a second memory and a second video memory; the second memory is configured to read single-event data or files from the first server in batches, and use the single-event data or files read each time as the current data to be matched; the second video memory is configured to select at least a portion of the current data to be matched as single-time data to be matched and process the single-time data to be matched, and after parsing, add matching-related tag information to each single-event data to obtain single-time matching event data.
[0023] According to one embodiment of this application, the second memory is configured to process the single-compliance event data into a predetermined format and output it; the second video memory is configured to, after the second memory outputs the single-compliance event data in the predetermined format, continue to select at least a portion of the current data to be matched as single-compliance data and process the single-compliance data.
[0024] According to one embodiment of this application, the second memory is configured to sort the multiple files according to the time information contained in the files after reading them; the second video memory is configured to select files according to the order of the files, and is configured to extract all single event data in the selected files, sort all single event data according to the occurrence time, and then perform matching processing.
[0025] According to one embodiment of this application, the second memory is configured to sort the single events according to the occurrence time of the single event data after reading multiple single event data; the second video memory is configured to select single event data according to the order of arrangement of the single event data.
[0026] According to one embodiment of this application, each of the first servers is configured to delete the read single event data or file after the second server reads the single event data or file.
[0027] According to one embodiment of this application, at least one of the first servers is configured to retain a portion of the read single event data or file after the second server reads the single event data or file, and delete the remaining read single event data or file.
[0028] According to one embodiment of this application, at least one of the first servers is configured to retain the portion of the read single event data or file associated with the single event data or file that has not yet been read after the second server reads the single event data or file, and delete the remaining read single event data or file.
[0029] According to one embodiment of this application, the number of the first servers is associated with the amount of data in the original data.
[0030] According to one embodiment of this application, the first server and the second server are connected via a first switch.
[0031] According to one embodiment of this application, the first server and the detector are connected via a second switch.
[0032] According to a third aspect of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the data processing method described in the first aspect.
[0033] According to a fourth aspect of this application, a computer program or instructions are included, which, when executed by a processor, implement the steps of the data processing method described in the first aspect.
[0034] According to a fifth aspect of this application, a digital PET system is provided, including a detection system and the aforementioned data processing device.
[0035] According to one embodiment of this application, the detection system includes at least one detection ring, each of which is connected to at least one of the first servers.
[0036] According to one embodiment of this application, the raw data output by at least one of the detection rings is divided into several parts, each part of the raw data forms several datasets, and each set of several datasets formed by the raw data is transmitted to a first server.
[0037] The data processing method, apparatus, computer storage medium, computer program product, and digital PET system provided in this application process the raw data acquired by the detection system through multiple first servers, reducing the pressure on data transmission and analysis. By employing a second server to perform coincidence analysis on single events, separating analysis and coincidence analysis on different servers, processing efficiency can be improved when dealing with large amounts of data. This is particularly suitable for scenarios where the detector's axial length increases, ensuring the smooth progress of data acquisition, processing, and image reconstruction. Furthermore, related single events are statistically aggregated onto the same coincidence server, reducing the loss rate of coincidence events and thus minimizing the impact on system sensitivity and imaging performance. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0039] Figure 1 This is a schematic diagram of the structure of a data processing device in the prior art; Figure 2 This is a diagram that represents an event. Figure 3 This is a flowchart illustrating a data processing method in one embodiment of this application; Figure 4 This is a schematic diagram of the structure of a data processing device in one embodiment of this application; Figure 5 This is a schematic diagram of the structure of a digital PET system in one embodiment of this application; Figure 6 This is a schematic diagram of the structure of a digital PET system in another embodiment of this application; Figure 7 This is a schematic diagram of the structure of a digital PET system, one specific example of this application; Figure 8 This is a schematic diagram of the structure of a digital PET system for implementing a data processing method in one embodiment of this application; Figure 9 This is an internal structural diagram of a computer device in one embodiment of this application. Detailed Implementation
[0040] To make the above-mentioned objectives, features, and advantages of this application more readily understood, the specific embodiments of this application are described in detail below with reference to the accompanying drawings. Many specific details are set forth in the following description to provide a thorough understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar modifications without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.
[0041] It should be noted that when an element is said to be "fixed to" another element, it can be directly fixed to the other element or there may be an intervening element. When an element is said to be "connected to" another element, it can be directly connected to the other element or there may be an intervening element. The terms "substantially equal" or "substantially equal to" as used herein mean that the difference between the two lies within a range of errors considered equivalent in the art. The terms "vertical," "horizontal," "left," "right," and similar expressions used herein are for illustrative purposes only.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The terms “and / or” or “and / or” as used herein include any and all combinations of one or more of the associated listed items.
[0043] As mentioned in the background, in existing technologies, under large data volume scenarios, limitations such as server processing power, fiber optic transmission rate, and switch bandwidth necessitate dividing the detector output data across multiple servers for processing. The architecture is as follows: Figure 1 As shown. Before an event coincides, the energy, location, and time information of a single event are extracted. Then, energy window screening, location exclusion, and time window rejection are used to determine the coincidence and obtain the coincident event. Typically, within a time window, if there are two pulses whose energies are both within the energy window range, and the line connecting the crystal stripes on the detectors capturing the two pulses crosses the field of view (FOV), then these two pulses are recorded as a coincident event. An example of a coincident event is shown in [reference]. Figure 2In this diagram, the outer ring is the detection ring, the inner ellipse is the test object, and the straight line with a double-headed arrow is the response line. The arrows indicate the direction of photon flight, and the solid dots indicate the location of nuclide annihilation events. Detectors at both ends of the response line will detect a single event. If these two single events occur within the same time window, have energy within the same energy window, and their response lines cross the imaging field of view (as shown in the diagram), then these two single events can be considered coincidence events. However, existing processing methods may result in two potentially coincidence events being assigned to two different servers for coinciding. In this case, the coinciding of these two single events will fail, leading to the loss of coincidence event data.
[0044] To address the technical problems existing in the prior art, this application proposes a data processing method, apparatus, and supporting applications that can reduce the loss rate of events, at least when the amount of data in a single event is large.
[0045] In some embodiments, the data processing method disclosed in this application can be executed by a data processing apparatus. For example, the data processing method can be partially or wholly stored in a storage device (such as the built-in storage module of a detection device or an external storage device) in the form of a program or instructions, and the program or instructions can implement the data processing method when executed. The data processing apparatus disclosed in this application for implementing the above-mentioned data processing method can be a device with a large amount of computing resources (e.g., a computer, server, cloud computing, etc.) or a device with limited computing resources (e.g., FPGA (Field Programmable Gate Array) chip board, ASIC (Application-Specific Integrated Circuit) chip board, and other hardware circuits).
[0046] The following description, with reference to the accompanying drawings, illustrates some preferred embodiments of the present application. It should be noted that the following description is for illustrative purposes only and is not intended to limit the scope of protection of this application.
[0047] Figure 3 This is a flowchart illustrating a data processing method in one embodiment of this application. In one embodiment, the data processing method may include the following steps S100-300.
[0048] S100: Collect raw data output from several probe rings and divide the raw data output from all the probe rings into several datasets.
[0049] The raw data can be electrical signals. During detection, the radiopharmaceutical decays, producing 511 keV gamma rays. The scintillator in the detector converts these gamma rays into optical signals. A scintillator is a material that absorbs ionizing radiation and converts it into visible or ultraviolet light. This conversion process typically occurs within a few nanoseconds to a few microseconds. Because the optical signals are generated by high-energy radiation, each optical signal produced by the scintillator corresponds to a high-energy ray, and its intensity is usually proportional to the energy deposited on the scintillator. Scintillators can be broadly classified into two categories: organic scintillators (such as anthracene and stilbene crystals) and inorganic scintillators (such as NaI and CsI). The photoelectric conversion device in the detector converts the optical signals into electrical signals. After the high-energy rays deposit energy within the scintillator, forming weak visible light, the photoelectric conversion device converts this weak optical signal into an electrical signal. Common photoelectric conversion devices include photomultiplier tubes (PMTs), photodiodes, avalanche photodiodes (APDs), and silicon photomultiplier tubes (SiPMs). Among them, SiPMs are the most widely used. The internal structure of a SiPM consists of hundreds to tens of thousands of APD cells operating in Geiger mode. Its basic principle is as follows: In the initial state, when a light signal is incident, it is absorbed by the PN junction of the APD, resulting in an avalanche multiplication effect and generating a large current. Subsequently, due to the quenching effect of the large series resistor in the APD, the APD returns to its initial state, waiting for the next photon incident.
[0050] The dataset can be partitioned in two ways: First, the dataset output from each probe ring can be treated as a single UDP (User Datagram Protocol) packet and sent to the first server. Second, the dataset output from a single probe ring can be divided into multiple parts, each forming a separate UDP packet and sent to the first server. In one example, partitioning can be based on the data volume. During the digital PET design phase, by anticipating the usage scenario, the data volume of each probe ring can be roughly estimated. This allows for hardware design based on the data volume, selection of the dataset partitioning method, and ultimately, determination of the number of first servers.
[0051] S200: Obtain several single-event data by parsing the multiple datasets through at least two first servers.
[0052] The analysis of the raw data can be performed using existing methods, such as the multi-voltage threshold sampling method (MVT method). Multiple voltage thresholds are preset, and a series of "time-voltage" pairs are obtained by recording the time information of the electrical signal crossing these voltage thresholds. Then, combined with the prior information of the scintillation pulse, the waveform of the pulse is reconstructed by fitting, and the energy of the event is obtained by integrating the waveform. Usually, the intersection of the scintillation pulse and the horizontal axis or the first time point obtained by the MVT method is used as the arrival time of the scintillation event. The location of the event is obtained by combining the response line and the time of flight. Specifically, the specific location range of the event can be determined by calculating the time difference of flight of a pair of Gamma photons to the detector.
[0053] S300: The single event data is processed by the second server to obtain the matching event data.
[0054] The matching of single-event data can be performed using existing methods. For example, on the one hand, it is necessary to extract the arrival time of photon pairs to eliminate random matching events; on the other hand, it is also necessary to obtain the energy information of the photons to filter scattering matching events. A certain degree of random matching can be eliminated by setting a time window (usually 8ns~12ns). If the arrival time of a pair of photons is within the set time window, it is determined that the pair of photons is a true matching event originating from the same annihilation site; if the arrival time of the pair of photons falls outside the time window, it is determined that the pair of photons is a random event and is eliminated. The amplitude of the scintillation pulse characterizes the amount of charge carried by the photons. Calculating the area under the envelope of the scintillation pulse can obtain the energy information of the pulse. By setting an appropriate energy window, interference from scattering events can be eliminated.
[0055] Specifically, in one example of this application, step S200 includes: dividing a plurality of single-event data into a plurality of files according to their occurrence time through each of the first servers, and marking time information on each of the files, wherein the time information is associated with the occurrence time of each single event in the corresponding file. By placing the single-event data in each file, data transmission can be facilitated. It should be noted that the time information here can be the time associated with the occurrence time of the single events therein, for example, using the occurrence time of the first single event as the time information of the file, or using the median or average occurrence times of the single events as the time information. In addition, in another example, the time information here can also be the creation time of the corresponding file.
[0056] Specifically, in one example of this application, step S300 includes: reading and processing single-event data or files in the first server in stages after a predetermined collection time via the second server. It should be noted that "staged reading" here has two meanings: When there are many probe rings, each probe ring may collect raw data sequentially. At the same time, probe rings at different locations may not have raw data simultaneously. Therefore, one meaning is to read single-event data or files obtained from the raw data of different probe rings in stages. When the amount of raw data from a certain probe ring is large, for example, exceeding the bandwidth of the switch, it is necessary to read the single-event data or files corresponding to the raw data in that probe ring in stages. Therefore, another meaning is to read single-event data or files obtained from the raw data of the same probe ring in stages. It is understandable that the two meanings of phased reading here may only be implemented in one application. For example, when there is only one probe ring, only the single-event data or file obtained from the raw data of that probe ring may be read in phases. Alternatively, if the data volume of each probe ring does not exceed the bandwidth of the switch and the transmission rate of the fiber optic cable, that is, if all data can be read in one go, then only the single-event data or file obtained from the raw data of the probe rings at different locations may be read in phases. Of course, it is also understandable that since this phased reading is an optional solution of this application, in some applications, the single-event data or file obtained from the raw data of all probe rings may be read in one go. The reason for phased reading is to adapt to the hardware. When the hardware is sufficiently optimized, even if the data volume is very large, it can be read in one go.
[0057] The predetermined collection time can be a predetermined time after the collection begins, for example, at one-third, one-half, or one-quarter of the total collection time, the second server starts reading single event data or files from each of the first servers, or it can be after the collection is completed, the second server starts reading single event data or files from each of the first servers.
[0058] Specifically, in one example of this application, step S300 includes: if the previous single-event data processing is completed, then the second server continues to read and process at least a portion of the remaining single-event data or files. It is understood that after the previous single-event data processing is completed, the space in the second server is released before reading the remaining single-event data or files, and the sequential processing avoids data loss caused by data stacking or other situations.
[0059] Specifically, in one example of this application, step S300 includes: reading and processing the single-event data or file from the first server in stages via a second server after the acquisition begins. Unlike the example above, which follows a predetermined acquisition time, this example reads the single-event data or file from the first server immediately after the acquisition begins, employing a scheme where acquisition, parsing, and processing are performed simultaneously, which can further shorten the overall process time.
[0060] Specifically, in one example of this application, step S300 includes: reading single-event data or files from the first server in stages via the second memory, and using each read single-event data or file as the current data to be matched; selecting at least a portion of the current data to be matched as single-event data to be matched via the second video memory and processing the single-event data to be matched, and adding matching-related tag information to each single-event data after parsing to obtain single-event matching event data. The second server receives the acquisition command and acquisition time issued by the client, and reads the single-event data or files into the second memory according to the agreed time or immediately.
[0061] More specifically, in one example of this application, single-event data or files are read from the first server in stages using a second memory, with each read single-event data or file serving as the current data to be matched. This includes processing the single-event matching data into a predetermined format and outputting it using the second memory. Further, at least a portion of the current data to be matched is selected from the second memory as single-event matching data and processed. After parsing, matching-related marker information is added to each single-event data to obtain single-event matching data. This includes outputting the predetermined-format single-event matching data from the second memory, and then continuing to select at least a portion of the current data to be matched as single-event matching data and processing it using the second memory. In this way, sequential processing of single-event data is achieved, significantly reducing the matching event loss rate.
[0062] More specifically, in one example of this application, single-event data or files from the first server are read in stages using a second memory, with each read single-event data or file serving as the current data to be matched. This includes: after multiple files are read from the second memory, the second memory sorts the multiple files according to the time information contained in the files, thus sorting files from different first servers by time. Since the time information of a file is associated with the occurrence time of its single events, sorting the files effectively performs a coarse sorting of the single-event data by time. Further, at least a portion of the current data to be matched is selected from the current data to be matched using the second video memory as single-event data to be matched, and the single-event data to be matched is processed. After parsing, matching-related marker information is added to each single-event data to obtain single-event matching event data. This includes: selecting files according to the file arrangement order using the second video memory, extracting all single-event data from the selected files, sorting all single-event data by occurrence time, and then performing matching processing. In this case, single-event data is finely sorted by event. Since the selected files are arranged in chronological order, the individual event data within them are likely to form matching events, which can greatly reduce the rate of missing matching events.
[0063] More specifically, when single-event data is not divided into various files, the single-event data or files in the first server are read in stages through the second memory, and each read single-event data or file is used as the current data to be matched. This includes: after multiple single-event data are read from the second memory, the second memory sorts the single events according to their occurrence time; at least a portion of the current data to be matched is selected from the second video memory as single-event matching data and processed, and after parsing, matching-related tagging information is added to each single-event data to obtain single-event matching event data, including: selecting single-event data according to the arrangement order of the single-event data through the second video memory. In this example, the single events can be arranged directly, eliminating the coarse sorting process.
[0064] Furthermore, in one example of this application, the data processing method further includes step S400: after the second server reads single event data or files, each of the first servers retains a portion of the read single event data or files and deletes the remaining read single event data or files to free up storage space and avoid data overlap that makes it difficult to distinguish.
[0065] Furthermore, in one example of this application, the data processing method further includes step S500: after the second server reads single event data or files, at least one of the first servers retains a portion of the read single event data or files and deletes the remaining read single event data or files.
[0066] More specifically, in one example, the data processing method further includes step S600: after the second server reads single-event data or files, at least one of the first servers retains the portion of the read single-event data or files associated with unread single-event data or files, and deletes the remaining read single-event data or files. For example, if a portion of the read single-event data does not match any other single event to form a matching event, that portion of the single-event data can be retained for matching with other single-event data again.
[0067] Furthermore, the filtering of the aforementioned retained single-event data can be done by time, for example, retaining single-event data within a predetermined time period after a single event to be matched, or by sorting position, for example, retaining single-event data located several positions after a single event to be matched.
[0068] The data processing method provided in this application reduces the pressure of data transmission and analysis by processing the raw data acquired by the detection system through multiple first servers. By using a second server to perform coincidence analysis on single events, separating analysis and coincidence analysis on different servers, processing efficiency can be improved when dealing with large amounts of data. This method is particularly suitable for scenarios where the axial length of the detector increases, ensuring the smooth progress of data acquisition, processing, and image reconstruction. Furthermore, related single events are statistically aggregated onto the same coincidence server, reducing the loss rate of coincidence events and thus minimizing the impact on system sensitivity and imaging performance.
[0069] Corresponding to the above data processing method, this application also provides a data processing apparatus. Figure 4 This is a schematic diagram of the structure of a data processing apparatus in one embodiment of this application. In one embodiment, the data processing apparatus may include at least two first servers 100 and a second server 200.
[0070] In one example of this application, each of the first servers 100 is configured to parse one or more datasets to obtain several single-event data, said datasets being raw data output from different probe rings, and all said raw data output from the probe rings being divided into several said datasets.
[0071] like Figure 4As shown, each first server 100 is connected to the detection system 001. Optionally, the first server 100 can be connected to the detection system 001 via a switch. The detection system 001 includes several detection rings 0011. The output raw data is divided into several datasets, which can be further divided into several parts, each part containing one or more datasets. Each part of the dataset is output to a first server 100. The division of the datasets can be done by each detection ring 0011 ( Figure 5 The output dataset is treated as a single UDP (User Datagram Protocol) packet and sent to the first server 100. Alternatively, the dataset output by a probe ring 0011 can be divided into multiple parts, with each part forming a UDP packet and sent to the first server 100. In one example, the division can be based on the data volume. During the digital PET design phase, by anticipating the usage scenario, the data volume of each probe ring 0011 can be roughly estimated. This allows for hardware design based on the data volume, selection of the dataset division method, and thus determination of the number of first servers 100.
[0072] For example, the first server 100 includes a first cache and a first graphics card, with a first video memory configured within the first graphics card. The first cache continuously receives datasets until a certain amount of data is accumulated. The first video memory parses the raw data in the dataset to obtain single-event data, which includes the energy, time, and location information of the event. The raw data can be an electrical signal. During detection, the radiopharmaceutical decay produces 511 keV gamma rays, and a scintillator in the detector converts these gamma rays into optical signals. A scintillator is a material that can absorb ionizing radiation and convert it into visible or ultraviolet light. This conversion process typically occurs within a time range of a few nanoseconds to a few microseconds. Because the optical signal is generated by high-energy radiation, each optical signal produced by the scintillator corresponds to a high-energy ray, and its intensity is usually proportional to the energy deposited on the scintillator. Scintillators can be broadly classified into two categories: organic scintillators (such as anthracene and stilbene crystals) and inorganic scintillators (such as NaI and CsI). The photoelectric conversion device in the detector converts the optical signal into an electrical signal. When high-energy rays are deposited in a scintillator, forming weak visible light, photoelectric conversion devices convert this weak light signal into an electrical signal. Common photoelectric conversion devices include photomultiplier tubes (PMTs), photodiodes, avalanche photodiodes (APDs), and silicon photomultiplier tubes (SiPMs). Among them, SiPMs are the most widely used. The internal structure of a SiPM includes hundreds to tens of thousands of APD cells operating in Geiger mode. Its basic principle is as follows: In the initial state, when a light signal is incident, it is absorbed by the PN junction of the APD, resulting in an avalanche multiplication effect and generating a large current. Subsequently, due to the quenching effect of the large resistor in series with the APD, the APD returns to its initial state, waiting for the next photon incident.
[0073] In some examples, the first server 100 can also be referred to as the acquisition server, mainly responsible for data acquisition and analysis. Existing methods can be used for analyzing the raw data, such as the multi-voltage threshold sampling method (MVT method). Multiple voltage thresholds are preset, and a series of "time-voltage" pairs are obtained by recording the time information when the electrical signal crosses these voltage thresholds. Then, combined with prior information about the scintillation pulse, the waveform of the pulse is reconstructed through fitting, and the energy of the event is obtained by integrating the waveform. Typically, the intersection of the scintillation pulse with the horizontal axis or the first time point obtained by the MVT method is used as the arrival time of the scintillation event. The location of the event is obtained by combining the response line and the time of flight. Specifically, the exact location range of the event can be determined by calculating the time difference of flight of a pair of Gamma photons to the detector.
[0074] In one example of this application, a second server 200 interfaces with all first servers 100 and is configured to process the single-event data to obtain coincidence event data. Optionally, the second server 200 can be connected to the first server 100 via a switch, and the second server 200 can read the single-event data from each first server 100 according to a pre-configured path. The coincidence of the single-event data can be performed using existing methods. For example, on the one hand, it is necessary to extract the arrival time of photon pairs to eliminate random coincidence events, and on the other hand, it is necessary to obtain the energy information of the photons to filter scattering coincidence events. A certain degree of random coincidence can be eliminated by setting a time window (usually 8ns~12ns). If the arrival time of a pair of photons is within the set time window, it is determined that the pair of photons is a true coincidence event originating from the same annihilation site; if the arrival time of the pair of photons falls outside the time window, it is determined that the pair of photons is a random event and is eliminated. The amplitude of the scintillation pulse characterizes the amount of charge carried by the photons. Calculating the area under the envelope of the scintillation pulse can obtain the energy information of the pulse. By setting an appropriate energy window, interference caused by scattering events can be eliminated.
[0075] According to one example of this application, each of the first servers 100 is configured to divide a plurality of single-event data into a plurality of files according to their occurrence time, and to mark time information on each of the files, wherein the time information is associated with the occurrence time of each single event in the corresponding file. By placing the single-event data in separate files, data transmission can be facilitated. It should be noted that the time information here can be the time associated with the occurrence time of the single events therein, for example, the occurrence time of the first single event can be used as the time information of the file, or the median or average occurrence time of the single events can be used as the time information. In addition, in another example, the time information here can also be the creation time of the corresponding file.
[0076] Specifically, in one example, the second server 200 is configured to read the single-event data or file in stages after a predetermined collection time for processing. It should be noted that "staged reading" here has two meanings: When there are many probe rings 0011, each probe ring 0011 may collect raw data sequentially. At the same time, probe rings 0011 at different locations may not have raw data simultaneously. Therefore, one meaning is to read the single-event data or file obtained from the raw data of different probe rings 0011 in stages. When the amount of raw data from a certain probe ring 0011 is large, for example, exceeding the bandwidth of the switch, it is necessary to read the single-event data or file corresponding to the raw data in that probe ring 0011 in stages. Therefore, the other meaning is to read the single-event data or file obtained from the raw data of the same probe ring 0011 in stages. It is understandable that the two meanings of phased reading here may only be implemented in one application. For example, when there is only one probe ring 0011, the single event data or file obtained from the raw data of that probe ring 0011 may be read in phases. Alternatively, if the data volume of each probe ring 0011 does not exceed the bandwidth of the switch and the transmission rate of the fiber optic cable, that is, if all data can be read in one go, then the single event data or file obtained from the raw data of the probe rings 0011 at different locations may be read in phases. Of course, it is also understandable that since this phased reading is an optional solution of this application, in some applications, the single event data or file obtained from the raw data of all probe rings 0011 may also be read in one go. The reason for phased reading is to adapt to the hardware. When the hardware is sufficiently optimized, even if the data volume is large, it can be read in one go.
[0077] The predetermined collection time can be a predetermined time after the collection begins, for example, at one-third, one-half, or one-quarter of the total collection time, the second server 200 starts reading single event data or files from each of the first servers 100, or the second server 200 starts reading single event data or files from each of the first servers 100 after the collection is completed.
[0078] Specifically, in one example, the second server 200 is configured to continue reading and processing the remaining single-event data or at least a portion of the file if the previous single-event data processing is complete. It is understood that after the previous single-event data processing is completed, the space in the second server 200 is released before reading the remaining single-event data or file, performing sequential processing. This avoids data loss caused by data stacking or other similar situations.
[0079] Specifically, in one example, the second server 200 is configured to read the single-event data or file from the first server 100 in stages for processing after the collection begins. Unlike the example above, which reads the data after a predetermined collection time, this example reads the single-event data or file from the first server 100 immediately after the collection begins, employing a scheme where collection, parsing, and processing are performed simultaneously, which can further shorten the overall process time.
[0080] Specifically, in one example, the second server 200 includes a second memory and a second video memory. The second memory is configured to read single-event data or files from the first server 100 in stages, using each read single-event data or file as the current data to be matched. The second video memory is configured to select at least a portion of the current data to be matched as single-event matching data and process the single-event matching data, and after parsing, add matching-related tag information to each single-event data to obtain single-event matching event data. The second server 200 receives a collection command and collection time from the client, and reads the single-event data or files into the second memory according to the agreed time or immediately.
[0081] For example, when single-event data is divided into various files, the second memory is configured to sort the multiple files according to the time information contained in the files after reading them. This achieves sorting of files from different first servers 100 by time. Since the time information of a file is associated with the occurrence time of its single events, sorting the files effectively performs a coarse sorting of the single-event data by time. Further, the second memory is configured to select files according to their arrangement order and extract all single-event data from the selected files. It then sorts all the single-event data by occurrence time before performing matching processing. This achieves fine sorting of the single-event data by event. Because the selected files are arranged in chronological order, the single-event data within them are almost guaranteed to form matching events, thus greatly reducing the matching event loss rate.
[0082] For example, when single-event data is not divided into various files, the second memory is configured to sort the single events according to their occurrence time after reading multiple single-event data. The second video memory is configured to select single-event data according to their order of occurrence. In this example, the single events can be sorted directly, eliminating the need for a coarse sorting process.
[0083] Specifically, in one example, the second memory is configured to process the single-event matching data into a predetermined format and output it. The second video memory is configured to, after outputting the single-event matching data in the predetermined format, continue to select at least a portion of the current data to be matched as single-event matching data and process the single-event matching data, thereby achieving sequential processing of single-event data and significantly reducing the matching event loss rate.
[0084] Specifically, in one example, each of the first servers 100 is configured to delete the read single event data or file after the second server 200 reads the single event data or file, in order to free up storage space and avoid data overlap that would make it difficult to distinguish.
[0085] Specifically, in one example, at least one of the first servers 100 is configured to retain a portion of the read single-event data or file after the second server 200 reads the single-event data or file, and delete the remaining read single-event data or file. More specifically, in one example, at least one of the first servers 100 is configured to retain the portion of the read single-event data or file associated with unread single-event data or files after the second server 200 reads the single-event data or file, and delete the remaining read single-event data or file. For example, if a portion of the read single-event data does not match any other single event to form a matching event, that portion of the single-event data can be retained for matching with other single-event data again.
[0086] Furthermore, the filtering of the aforementioned retained single-event data can be done by time, for example, retaining single-event data within a predetermined time period after a single event to be matched, or by sorting position, for example, retaining single-event data located several positions after a single event to be matched.
[0087] The data processing apparatus provided in this application processes the raw data acquired by the detection system through multiple first servers, reducing the pressure on data transmission and analysis. By employing a second server to perform matching on single events, separating analysis and matching on different servers, processing efficiency can be improved when dealing with large amounts of data. This is particularly suitable for scenarios where the axial length of the detector increases, ensuring the smooth progress of data acquisition, processing, and image reconstruction. Furthermore, related single events are statistically aggregated onto the same matching server, reducing the loss rate of matching events and thus minimizing the impact on system sensitivity and imaging performance.
[0088] Corresponding to the aforementioned data processing apparatus, this application also provides a digital PET system, including a detection system 001 and the data processing apparatus provided in any of the above examples. It is understood that, by employing the data processing apparatus provided in the above examples, this digital PET system also possesses the advantages of the aforementioned data processing apparatus.
[0089] Specifically, in one example, the detection system 001 includes at least one detection ring 0011, each of which is connected to at least one of the first servers 100. For example... Figure 5 The illustration shows an example where the detection system 001 includes multiple detection rings 0011, and each detection ring 0011 corresponds to a first server 100.
[0090] Specifically, in one example, the raw data output by at least one of the probe rings 0011 is divided into several parts, each part of the raw data forming several datasets, and each dataset formed by the raw data is transmitted to one of the first servers 100. For example... Figure 6 The illustration shows an example where the detection system 001 includes multiple detection rings 0011, and each detection ring 0011 corresponds to multiple first servers 100.
[0091] To describe this application more clearly, Figure 7For example, the specific operation steps are illustrated below. Furthermore, assume there are four probe rings, numbered 0011-1, 0011-2, 0011-3, and 0011-4, each connected to a first server, numbered 100-1, 100-2, 100-3, and 100-4. All probe rings, first servers, and second servers directly or indirectly receive acquisition commands from the client. Upon receiving the acquisition command, at least some probe rings begin acquiring raw data. The first servers connected to the working probe rings receive the raw data. Assuming first probe rings 0011-1 and 0011-2 begin acquiring raw data, and first servers 100-1 and 100-2 receive the raw data, they either parse the raw data to obtain single-event data when the raw data reaches a certain amount or directly parse the raw data to obtain single-event data. Multiple files are then created, and single-event data is filled into each file according to the occurrence time sequence. Each file is assigned a time information associated with the occurrence time of the single-event data within it. Assuming that after a predetermined collection time, the first server 100-1 has five parsed files, numbered 1-1, 1-2, 1-3, 1-4 and 1-5 respectively, each storing 1000 single event data. Taking file 1-1 as an example, it stores single event data 1~1000, numbered [1-1-1]~[1-1-1000]. The first server 100-2 has eight files, numbered 2-1, 2-2, 2-3, 2-4, 2-5, 2-6, 2-7 and 2-8 respectively, each storing 1000 single event data. Taking file 2-1 as an example, it stores single event data 1~1000, numbered [2-1-1]~[2-1-1000]. Due to the storage space limitations of the second server 200, assuming it can only accept 4500 single-event data entries at a time, the second server 200 simultaneously fetches files 1-1, 1-2, 2-1, and 2-2 from the first servers 100-1 and 100-2 respectively. These files are sorted according to their time information, resulting in the order 2-1, 1-1, 1-2, 2-2. The single-event data in 2-1 and 1-1 is processed first, extracting the data and sorting it according to its occurrence time. The sorted single-event data undergoes a matching process; successfully matched single-event data is marked with a matching flag and output. Unmatched single-event data can be deleted, returned to its original first server, or wait for files 1-2 and 2-2, mixing this data with the remaining data for the next matching process. The same operation is performed on the single-event data in the first servers 100-3 and 100-4. It is understandable that when the four probe rings acquire raw data simultaneously, the second server can simultaneously retrieve data from the four first servers.
[0092] It should be understood that Figures 4-7The apparatus and modules shown can be implemented in various ways. For example, in some embodiments, the apparatus and modules can be implemented in hardware, software, or a combination of both. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution device, such as a microprocessor or dedicated-design hardware. Those skilled in the art will understand that the methods and apparatus described above can be implemented using computer-executable instructions and / or included in processor control code, for example, such code provided on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The apparatus and modules described in this application can be implemented not only with hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field-programmable gate arrays, programmable logic devices, etc., but also with software, for example, executed by various types of processors, or with a combination of the aforementioned hardware circuits and software (e.g., firmware).
[0093] It should be noted that the above description of the modules is for convenience only and should not be construed as limiting this specification to the embodiments described. It is understood that those skilled in the art, after understanding the principle of the device, may arbitrarily combine the modules or construct subsystems connected to other modules without departing from this principle. For example, the modules may share a single storage module, or each module may have its own separate storage module. Such modifications are all within the scope of this specification.
[0094] Figure 8 This is a schematic diagram of a digital PET system used to implement a data processing method in one embodiment of this application. (Refer to...) Figure 8 The digital PET system S00 may include a processing component S20, which further includes one or more processors, and memory resources represented by a memory S22 for storing instructions, such as application programs, that can be executed by the processors of the processing component S20. The application programs stored in the memory S22 may include one or more instructions, with each module corresponding to a set of instructions. Furthermore, the processing component S20 is configured to execute instructions to perform the aforementioned data processing methods.
[0095] The operations and / or methods described in the embodiments of this specification, implemented by a single processor, may also be implemented jointly or independently by multiple processors. For example, if, in this application specification, the processor of the processing device executes steps S100 to S300, it should be understood that steps S100 to S300 may also be executed jointly or independently by two different processors of the processing device (e.g., the first processor executes step S100, the second processor executes steps S200 to S300, or the first and second processors jointly execute steps S100 to S300).
[0096] The digital PET system S00 may further include: a power supply component S24 configured to perform power management of the data processing system S00; a wired or wireless network interface S26 configured to connect the digital PET system S00 to a network; and an input / output (I / O) interface S28. The digital PET system S00 can operate on an operating system stored in memory S22, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, or similar.
[0097] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory S22 including instructions, which can be executed by a processor of a flashing pulse data processing system S00 to perform the above method. The storage medium can be a computer-readable storage medium, for example, a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0098] In an exemplary embodiment, a computer program product is also provided, the computer program product including instructions that can be executed by a processor of a flashing pulse data processing system S00 to perform the above method.
[0099] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 9 As shown, Figure 9This is an internal structural diagram of a computer device according to one embodiment of this application. The computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores user- and task-related data used in the aforementioned data processing method. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a data processing method.
[0100] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0101] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0102] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, hardware + program embodiments are basically similar to method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0103] It should be noted that the devices, electronic devices, servers, etc., described above according to the method embodiments may also include other implementation methods, and specific implementation methods can be referred to the description of the relevant method embodiments. Furthermore, new embodiments formed by the combination of features between various methods, devices, and server embodiments still fall within the scope of this application, and will not be elaborated upon here.
[0104] In the description of this specification, the references to "one embodiment," "an embodiment," and / or "some embodiments," "some embodiments," "other embodiments," "ideal embodiments," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the present invention. In this specification, the illustrative descriptions of the above terms do not necessarily refer to the same embodiment or example, and certain features, structures, or characteristics in one or more embodiments of this specification may be appropriately combined.
[0105] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0106] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these all fall within the protection scope of the present invention. Therefore, the protection scope of this invention patent should be determined by the appended claims.
[0107] The basic concepts have been described herein. It is obvious that the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, various modifications, improvements, and corrections may be made to this specification by those skilled in the art. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.
[0108] Furthermore, those skilled in the art will understand that various aspects of this specification can be described and illustrated in several patentable ways or situations, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Accordingly, various aspects of this specification can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. All of the above hardware or software may be referred to as a “data block,” “module,” “engine,” “module,” “component,” or “system.” Furthermore, various aspects of this specification may be represented as a computer product located on one or more computer-readable media, including computer-readable program code.
[0109] Computer storage media may contain a propagated data signal containing computer program code, for example, on baseband or as part of a carrier wave. This propagated signal may take various forms, including electromagnetic, optical, and suitable combinations thereof. Computer storage media can be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, apparatus, or device to enable communication, propagation, or transmission of a program for use. The program code located on the computer storage medium can be propagated through any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0110] The computer program code required for the operation of each part of this manual 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, Visual Basic, Fortran 3003, Perl, COBOL 3002, PHP, ABAP; dynamic programming languages such as Python, Ruby, and Groovy; or other programming languages. This program code can run entirely on the user's computer, or as a standalone software package on the user's computer, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as Software as a Service (SaaS).
[0111] Furthermore, unless expressly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or other names described in this specification are not intended to limit the order of the processes and methods described herein. Although various examples have been discussed in the foregoing disclosure of some embodiments of the invention that are currently considered useful, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments; rather, the claims are intended to cover all modifications and equivalent combinations that conform to the spirit and scope of the embodiments described herein. For example, while the system components described above can be implemented using hardware devices, they can also be implemented solely using software solutions, such as installing the described system on existing servers or mobile devices.
[0112] Similarly, it should be noted that, in order to simplify the description disclosed herein and thus aid in the understanding of one or more embodiments of the invention, the foregoing description of embodiments in this specification may sometimes combine multiple features into a single embodiment, drawing, or description thereof. However, this method of disclosure does not imply that the subject matter of this specification requires more features than those mentioned in the claims. In fact, the embodiments contain fewer features than all the features of a single embodiment disclosed above.
[0113] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of embodiments are modified in some examples with the terms "approximately," "approximately," or "generally." Unless otherwise stated, "approximately," "approximately," or "generally" indicates 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 be changed depending on the characteristics required by individual embodiments. In some embodiments, numerical parameters should take into account specified significant digits and employ a general method of digit reservation. Although the numerical ranges and parameters used to confirm their breadth of range in some embodiments of this specification are approximate values, in specific embodiments, such values are set as precisely as feasible.
[0114] For each patent, patent application, patent application publication, and other material such as articles, books, specifications, publications, and documents referenced in this specification, the entire contents of which are incorporated herein by reference. This excludes historical application documents that are inconsistent with or conflict with the content of this specification, as well as documents that limit the broadest scope of the claims in this specification (currently or subsequently appended to this specification). It should be noted that in the event of any inconsistency or conflict between the descriptions, definitions, and / or terminology used in the supplementary materials to this specification and the content of this specification, the descriptions, definitions, and / or terminology used in this specification shall prevail.
[0115] Finally, it should be understood that the embodiments described in this specification are merely illustrative of the principles of the embodiments described herein. Other variations may also fall within the scope of this specification. Therefore, alternative configurations of the embodiments described herein are intended to be illustrative rather than limiting, and should be considered consistent with the teachings of this specification. Accordingly, the embodiments described herein are not limited to those explicitly introduced and described herein.
Claims
1. A data processing method, characterized in that, include: Collect raw data output from several probe rings and divide the raw data output from all the probe rings into several datasets; Several single-event data are obtained by parsing the multiple datasets through at least two first servers; The single event data is processed by a second server to obtain consistent event data.
2. The data processing method according to claim 1, characterized in that, Several single-event data points are obtained by parsing the multiple datasets through at least two first servers, including: Each of the first servers divides several single event data into several files according to the time of occurrence, and marks time information on each file, wherein the time information is associated with the occurrence time of each single event in the corresponding file.
3. The data processing method according to claim 1 or 2, characterized in that, The single-event data is processed by a second server to obtain consistent event data, including: The second server reads and processes single-event data or files from the first server in installments after a predetermined collection time.
4. The data processing method according to claim 1 or 2, characterized in that, The single-event data is processed by a second server to obtain consistent event data, including: If the single-event data processing described above is completed, then the second server continues to read and process at least a portion of the remaining single-event data or files.
5. The data processing method according to claim 1 or 2, characterized in that, The single-event data is processed by a second server to obtain consistent event data, including: After the data collection begins, the second server reads and processes the single event data or file from the first server in stages.
6. The data processing method according to claim 1 or 2, characterized in that, The single-event data is processed by a second server to obtain consistent event data, including: The system reads single-event data or files from the first server in stages using the second memory, and uses each read single-event data or file as the current data to be matched. At least a portion of the current data to be matched is selected from the second video memory as single data to be matched and processed. After parsing, matching-related tagging information is added to each single event data to obtain single matching event data.
7. The data processing method according to claim 6, characterized in that, Reading single event data or files from the first server in stages through the second memory, and using each read single event data or file as the current data to be matched, includes: processing the single matching event data into a predetermined format through the second memory and outputting it; The process involves selecting at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data. After parsing, matching-related tagging information is added to each single event data to obtain single-event matching event data. This includes: after outputting single-event matching event data in a predetermined format from the second memory, continuing to select at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data.
8. The data processing method according to claim 6, characterized in that, The second memory reads single event data or files from the first server in stages, and uses each read single event data or file as the current data to be matched, including: after the second memory reads multiple files, the second memory sorts the multiple files according to the time information contained in the files; The process involves selecting at least a portion of the current data to be matched as single-event matching data from the second video memory and processing the single-event matching data. After parsing, matching-related marker information is added to each single event data to obtain single-event matching event data. This includes selecting files according to the file arrangement order through the second video memory, extracting all single event data from the selected files, sorting all single event data according to the occurrence time, and then performing matching processing.
9. The data processing method according to claim 6, characterized in that, The second memory reads single event data or files from the first server in multiple steps, and uses each read single event data or file as the current data to be matched. This includes: after the second memory reads multiple single event data, the second memory sorts the single events according to the occurrence time of the single event data. The process involves selecting at least a portion of the current data to be matched as single-event data from the second video memory and processing the single-event data. After parsing, matching-related marker information is added to each single-event data to obtain single-event matching event data. This includes selecting single-event data from the second video memory according to the order of the single-event data.
10. The data processing method according to claim 1 or 2, characterized in that, Also includes: After the second server reads the single event data or file, each of the first servers retains a portion of the read single event data or file and deletes the rest.
11. The data processing method according to claim 1 or 2, characterized in that, Also includes: After the second server reads the single event data or file, at least one of the first servers retains a portion of the read single event data or file and deletes the remaining read single event data or file.
12. The data processing method according to claim 1 or 2, characterized in that, Also includes: After the second server reads the single event data or file, at least one of the first servers retains the portion of the read single event data or file associated with the single event data or file that has not yet been read, and deletes the remaining read single event data or file.
13. A data processing apparatus, characterized in that, include: At least two first servers, each first server is configured to parse one or more datasets to obtain several single-event data, said datasets are raw data output from different probe rings, and all said raw data output from the probe rings are divided into several said datasets; The second server connects to all the first servers and is configured to process the single event data to obtain matching event data.
14. The data processing apparatus according to claim 13, characterized in that, Each of the first servers is configured to divide a number of single event data into a number of files according to the time of occurrence, and to mark time information on each of the files, wherein the time information is associated with the occurrence time of each single event in the corresponding file.
15. The data processing apparatus according to claim 13 or 14, characterized in that, The second server is configured to read single-event data or files from the first server in batches after a predetermined collection time for processing.
16. The data processing apparatus according to claim 13 or 14, characterized in that, The second server is configured to continue reading and processing at least a portion of the remaining single-event data or files if the previous single-event data processing is completed.
17. The data processing apparatus according to claim 13 or 14, characterized in that, The second server is configured to read the single event data or file from the first server in installments after the data collection begins and process it.
18. The data processing apparatus according to claim 13 or 14, characterized in that, The second server includes: a second memory and a second video memory; The second memory configuration reads single-event data or files from the first server in stages, and uses each read single-event data or file as the current data to be matched; The second video memory is configured to select at least a portion of the current data to be matched as single data to be matched and process the single data to be matched, and after parsing, add matching-related tagging information to each single event data to obtain single matching event data.
19. The data processing apparatus according to claim 18, characterized in that, The second memory is configured to process the single coincidence event data into a predetermined format and output it; The second video memory is configured to, after outputting single-completion event data in a predetermined format to the second memory, continue to select at least a portion of the current data to be matched as single-completion data and process the single-completion data.
20. The data processing apparatus according to claim 18, characterized in that, The second memory is configured to sort the multiple files according to the time information contained in the files after reading them; The second video memory is configured to select files according to the file arrangement order, and is configured to extract all single event data in the selected files, sort all single event data according to the occurrence time, and then perform matching processing.
21. The data processing apparatus according to claim 18, characterized in that, The second memory is configured to sort the single events according to their occurrence time after reading multiple single event data. The second video memory is configured to select single event data according to the order in which the single event data is arranged.
22. The data processing apparatus according to claim 13 or 14, characterized in that, Each of the first servers is configured to delete the read single event data or file after the second server reads the single event data or file.
23. The data processing apparatus according to claim 13 or 14, characterized in that, At least one of the first servers is configured to retain a portion of the read single event data or file after the second server reads the single event data or file, and delete the remaining read single event data or file.
24. The data processing apparatus according to claim 13 or 14, characterized in that, At least one of the first servers is configured to, after the second server reads single event data or files, retain the portion of the read single event data or files associated with single event data or files that have not yet been read, and delete the remaining read single event data or files.
25. The data processing apparatus according to claim 13, characterized in that, The number of the first servers is related to the amount of data in the original data.
26. The data processing apparatus according to claim 13, characterized in that, The first server and the second server are connected via a first switch.
27. The data processing apparatus according to claim 13, characterized in that, The first server is connected to the detector via a second switch.
28. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the data processing method according to any one of claims 1 to 12.
29. A computer program product, characterized in that, It includes a computer program or instructions, characterized in that, when the computer program or instructions are executed by a processor, they implement the steps of the data processing method according to any one of claims 1 to 12.
30. A digital PET system, characterized in that, It includes a detection system and a data processing apparatus as described in any one of claims 13 to 27.
31. The digital PET system according to claim 30, characterized in that, The detection system includes at least one detection ring, and each detection ring is connected to at least one of the first servers.
32. The digital PET system according to claim 31, characterized in that, The raw data output by at least one of the probe rings is divided into several parts, each part of the raw data forms several datasets, and each set of several datasets formed by the raw data is transmitted to one of the first servers.