Processing method and device of flicker pulse, equipment and storage medium

By parallel processing of the energy and time event data of scintillation pulses in the PET system, and utilizing channel numbering of the detection unit and multi-threshold sampling technology, the problem of insufficient data processing speed in the PET system was solved, achieving efficient data matching and processing.

CN118276145BActive Publication Date: 2025-12-05RAYSOLUTION HEALTHCARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211731588.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-12-05
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

Existing PET systems have bottlenecks in data processing speed, especially when processing scintillation pulse-related data at high data transmission rates, making it difficult to achieve efficient matching and processing.

Method used

By acquiring energy and time event data related to multiple scintillation pulses, dividing them into multiple groups for parallel comparison, and using the channel number of the detection unit for synchronization processing, the energy and time events of the same scintillation pulse are determined. Multi-threshold sampling is used to obtain the trigger time, and a preset time difference value is set for matching.

Benefits of technology

It enables rapid matching of energy events and time events, significantly improving data processing speed and efficiency while reducing matching time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118276145B_ABST
    Figure CN118276145B_ABST
Patent Text Reader

Abstract

The application discloses a scintillation pulse processing method, device and equipment and a storage medium. The processing method comprises the following steps: acquiring first event data of a plurality of energy events and second event data of a plurality of time events related to a plurality of scintillation pulses captured by a detection component; the detection component comprises a plurality of detection units; the first event data and the second event data are respectively divided into a plurality of groups to correspond to each detection unit; and the first event data and the second event data corresponding to each detection unit are synchronously and parallelly compared to determine the energy events and the time events corresponding to the same scintillation pulse. The application can realize parallel processing on the matching of the energy events and the time events, greatly reduces the matching time, and improves the data processing speed and efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of data processing, and in particular, to a method and device for processing scintillation pulses, an apparatus, and a storage medium. BACKGROUND

[0002] A positron emission tomography (PET) system can have a plurality of detectors, each of which can include a plurality of crystal arrays. The crystal arrays can have a plurality of crystal channels. A gamma photon entering a crystal channel can deposit energy and be converted into a visible light signal, which is further converted into a scintillation pulse signal by a photoelectric conversion device coupled to the crystal array and output. By determining a line of response (LOR) to which a pair of opposite gamma photons generated by annihilation belong, the location of the annihilation event can be determined.

[0003] Normally, for a gamma photon, the detector will only detect one energy event and one time event; when the gamma photon scatters, one energy event and multiple time events will be detected. The PET system needs to match the energy event and the time event to determine the pair of gamma photons generated by the same annihilation event based on the time information corresponding to the gamma photons, and then determine the LOR based on the crystal channels detecting the pair of gamma photons.

[0004] For a processing device (e.g., a server, a host computer, etc.) used to perform the above processing, all data detected by the detectors need to be received at the same time. The data transmission rate of the current PET system has reached 4 GB / s. As the performance requirements of the PET system increase, the rate will also be higher and higher. Therefore, a method is needed to improve the data processing speed. SUMMARY

[0005] The technical problem to be solved by the embodiments of the present application is how to improve the data processing speed related to scintillation pulses.

[0006] To solve the above problems, the present application discloses a method and device for processing scintillation pulses, an apparatus, and a storage medium.

[0007] According to a first aspect of the present application, a method for processing scintillation pulses is provided. The method comprises: obtaining first event data of a plurality of energy events and second event data of a plurality of time events associated with a plurality of scintillation pulses captured by a detection component; the detection component comprises a plurality of detection units; dividing the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit; synchronously and in parallel comparing the first event data and the second event data corresponding to each detection unit to determine energy events and time events corresponding to the same scintillation pulse.

[0008] According to some embodiments of the present application, the detection unit comprises a plurality of detection channels, the first event data and the second event data comprise channel numbers for indicating detection channels generating the scintillation pulses; the dividing the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit comprises: based on the number of the plurality of detection channels and the channel numbers, respectively determining the first event data corresponding to energy events generated by the same scintillation pulse generated by the same detection unit as a group and the second event data corresponding to time events as a group.

[0009] According to some embodiments of the present application, the method further comprises: assigning the first event data of the same group with a first index number and assigning the second event data of the same group with a second index number, so that data access is performed to extract the first event data and the second event data corresponding to the same detection unit.

[0010] According to some embodiments of the present application, the synchronously and in parallel comparing the first event data and the second event data corresponding to each detection unit to determine energy events and time events corresponding to the same scintillation pulse comprises: determining a first trigger time of an energy event included in the first event data and a second trigger time of a time event included in the second event data; determining whether a time difference between the first trigger time and the second trigger time is less than a preset value; if yes, determining that the energy event corresponding to the first trigger time and the time event corresponding to the second trigger time correspond to the same scintillation pulse.

[0011] According to some embodiments of the present application, the first trigger time is obtained based on performing multi-threshold sampling on the scintillation pulse, and comprises a sampling time at which the scintillation pulse first crosses a lowest sampling threshold of a plurality of sampling thresholds.

[0012] According to some embodiments of the present application, the second trigger time is obtained based on performing multi-threshold sampling on the scintillation pulse, and comprises a trigger time at which the scintillation pulse first crosses a lower trigger threshold of two trigger thresholds.

[0013] According to some embodiments of the present application, the preset value of the time difference comprises 50 ns, 40 ns, 30 ns, 20 ns or 10 ns.

[0014] According to a second aspect of the present application, a processing device for scintillation pulses is provided. The processing device comprises: an obtaining module configured to obtain first event data of a plurality of energy events and second event data of a plurality of time events related to a plurality of scintillation pulses captured by a detection component; the detection component comprises a plurality of detection units; a dividing module configured to divide the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit; and a matching module configured to synchronously and in parallel compare the first event data and the second event data corresponding to each detection unit to determine energy events and time events corresponding to a same scintillation pulse.

[0015] According to some embodiments of the present application, the detection unit comprises a plurality of detection channels, and the first event data and the second event data comprise channel numbers for indicating detection channels generating the scintillation pulses; to divide the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit, the dividing module is configured to: based on the number of the plurality of detection channels and the channel numbers, respectively determine the first event data corresponding to energy events generated by a same scintillation pulse generated by a same detection unit as a group and the second event data corresponding to time events as a group.

[0016] According to some embodiments of the present application, the dividing module is further configured to: assign a first index number to the first event data of a same group and a second index number to the second event data of the same group, so as to data access to extract the first event data and the second event data corresponding to a same detection unit.

[0017] According to some embodiments of the present application, to synchronously and in parallel compare the first event data and the second event data corresponding to each detection unit to determine energy events and time events corresponding to a same scintillation pulse, the matching module is configured to: determine a first trigger time of an energy event included in the first event data and a second trigger time of a time event included in the second event data; determine whether a time difference between the first trigger time and the second trigger time is less than a preset value; and if yes, determine that the energy event corresponding to the first trigger time and the time event corresponding to the second trigger time correspond to a same scintillation pulse.

[0018] According to some embodiments of the present application, the first trigger time is obtained based on performing multi-threshold sampling on a scintillation pulse, and comprises a sampling time at which the scintillation pulse first crosses a lowest sampling threshold in a plurality of sampling thresholds.

[0019] According to some embodiments of the present application, the second trigger time is based on a preset value of the time difference.

[0020] According to some embodiments of the present application, the preset value of the time difference comprises 50ns, 40ns, 30ns, 20ns or 10ns.

[0021] According to a third aspect of the present application, a processing device is provided. The processing device comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, which, when executed by the processor, implements the steps of the processing method as described above.

[0022] According to a fourth aspect of the present application, a computer readable storage medium is provided. The storage medium stores a computer program, which, when executed by a processor, implements the steps of the processing method as described above.

[0023] The processing method of the scintillation pulse disclosed in the present application can implement parallel processing for the matching of energy events and time events, greatly reducing the matching time and improving the data processing speed and efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0024] The present application will be further described in the manner of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, the same reference numbers represent the same structures, wherein:

[0025] Figure 1 is an exemplary flow chart of the processing method of the scintillation pulse according to some embodiments of the present application;

[0026] Figure 2 is an exemplary schematic diagram of the numbering of event data according to some embodiments of the present application;

[0027] Figure 3 is another exemplary schematic diagram of the numbering of event data according to some embodiments of the present application;

[0028] Figure 4 is an exemplary module diagram of the data processing system for scintillation pulse processing according to some embodiments of the present application;

[0029] Figure 5 is an exemplary functional block diagram of the data processing system for scintillation pulse processing according to some embodiments of the present application. DETAILED DESCRIPTION

[0030] In order to make the above objectives, features and advantages of the present application more clear and comprehensible, specific embodiments of the present application will be described below in detail with reference to the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, the present application can be practiced in a number of different ways beyond the specific embodiments described and it is therefore contemplated that there are other embodiments of the present application that fall within the scope of the present application. It is additionally noted that actions relating to the present application can be practiced by software programs or code resident in the memory of a data processing system, by specific hardware such as an application specific integrated circuit, or by a combination of software, hardware and firmware resident in the memory of a data processing system. Furthermore, the described embodiments can be implemented in a computer program product tangibly embodied in a machine readable storage medium (e.g., magnetic disk, optical disk, memory, Programmable Logic Device, etc.) including a machine readable storage medium. The computer program product can also contain instructions that, when executed by a machine such as a data processing system, cause the machine to carry out acts specified in the instructions. The computer program product can further include a computer readable medium having stored thereon the instructions.

[0031] It is to be understood that where an element is referred to as being "on" another element, it can be directly on the other element or intervening elements can also be present. Where an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements can also be present. The terms "vertical", "horizontal", "left", "right" and similar expressions as used herein are for illustrative purposes only.

[0032] 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 in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0033] Some preferred embodiments of the present application will be described below with reference to the accompanying drawings. It should be noted that the following description is for illustrative purposes only and is not intended to limit the scope of protection of the present application.

[0034] Figure 1 is an exemplary flowchart of a method of processing scintillation pulses according to some embodiments of the present application. In some embodiments, the method of processing scintillation pulses 100 can be performed by the data processing system 400. For example, the method of processing scintillation pulses 100 can be stored in the form of a program or instructions in a storage device (such as a storage unit built-in the data processing system 400 or an external storage device), which when executed, can implement the method of processing scintillation pulses 100. As shown, the method of processing scintillation pulses 100 can include the following steps. Figure 1 As shown, the method of processing scintillation pulses 100 can include the following steps.

[0035] At step 110, first event data of a plurality of energy events and second event data of a plurality of time events associated with a plurality of scintillation pulses captured by a detection component are obtained.

[0036] In some embodiments, the detecting component can include a scintillation detector. The scintillation detector can include a scintillation crystal and a photoelectric conversion device coupled to each other. The scintillation crystal (e.g., BGO, PWO, LYSO:Ce, GAGG:Ce, NaI:TI, CsI:TI, LaBr3:Ce, BaF2, etc.) is used to convert a detected high-energy ray (such as a gamma ray, a neutron ray, etc.) into a visible light signal, and the photoelectric conversion device (e.g., a photomultiplier tube PMT, a silicon photomultiplier SiPM, etc.) is used to convert the visible light signal into an electrical signal, which is output in the form of a scintillation pulse by an electronics device connected to the photoelectric conversion device.

[0037] In some embodiments, the detecting component can include a plurality of scintillation detectors (which can also be referred to as detecting units in the present application). For example, 4, 8, 12, etc. Each scintillation detector can have a plurality of mutually independent crystal channels (which can also be referred to as detecting channels in the present application). For example, the scintillation crystal is regularly cut or divided, and each part is independently coupled to a photoelectric conversion device (e.g., a silicon photomultiplier SiPM) to form a crystal channel. For example, the crystal channel can include 18, 36, 54, etc. When a high-energy particle (e.g., a gamma photon) enters a certain crystal channel, energy deposition will occur in the crystal channel. The photoelectric conversion device coupled to the crystal channel will generate a scintillation pulse. This process can be the process of capturing a scintillation pulse by the detecting component, and can also be referred to as a single event. A single event can include an energy event and a time event. The energy event can correspond to the energy value of the scintillation pulse, and the time event can correspond to the arrival time of the high-energy particle causing the scintillation pulse.

[0038] Normally, one energy event and one time event can be detected by the detecting component after one gamma photon enters into one crystal channel of the scintillation detector (i.e. after the gamma photon enters into the crystal). However, the above process does not consider the occurrence of photon scattering. In fact, Compton scattering can occur after one gamma photon enters into one crystal channel of the scintillation detector (i.e. after the gamma photon enters into the crystal). The energy of the gamma photon changes and the direction of the gamma photon deviates, which causes energy deposition in multiple crystal channels and multiple scintillation pulses are output. That is, one gamma photon can cause single events in multiple channels after being captured by the scintillation detector. In order to accurately calculate the energy of the incident gamma photon, the multiple scintillation pulses can be added in energy and then the energy information is confirmed. That is, the multiple scintillation pulses can be superimposed into one scintillation pulse and then the above energy information confirmation process is performed. Therefore, one energy event and multiple time events can be detected by the detecting component after one gamma photon enters into one crystal channel of the scintillation detector when scattering occurs. However, only the time information corresponding to one time event can be used to indicate the arrival time of the scintillation pulse, i.e. the incident time of the high-energy particle.

[0039] In some embodiments, the detection component can capture multiple high energy particles (e.g., gamma photons) during operation, and the resulting multiple scintillation pulses will correspond to multiple energy events and multiple time events. To match the energy event and the time event corresponding to the same scintillation pulse, the time information of each energy event and the time information of each time event can be compared. The time information of the energy event and the time information of the time event can be included in the event data corresponding to the respective event. The event data of the energy event (which can be referred to as first event data in this application) can include energy information and incidence time information of the incident high energy particle. For example, by performing multi-threshold sampling on the resulting scintillation pulse to obtain sampling data, and based on the sampling data, determining a target function representing the shape of the pulse waveform of the scintillation pulse, and then integrating the target function to determine the energy value of the scintillation pulse as the energy information of the energy event. For another example, the time at which the scintillation pulse first crosses the lowest sampling threshold can be the time information of the energy event. The event data of the time event (which can be referred to as second event data in this application) can include time information of the incident high energy particle. For example, by setting a trigger threshold (e.g., one trigger threshold or two trigger thresholds), determining the time at which the scintillation pulse first crosses the lower trigger threshold after the scintillation pulse crosses all trigger thresholds can be the time information of the time event. In some embodiments, the detection channel (i.e., crystal channel) of the detection unit (i.e., scintillation detector) can have a channel number. For example, the crystal channels of 8 scintillation detectors (e.g., each detection unit has 36 detection channels) are sequentially numbered from 1 to 288. When a high energy particle (e.g., a gamma photon) produces energy deposition in a crystal channel and generates a scintillation pulse by a photoelectric conversion device coupled to the crystal channel, the channel number of the crystal channel can be output at the same time as part of the event data of the energy event and the time event.

[0040] In some embodiments, the data structure of the energy event first event data can be as follows:

[0041] struct EnergyEvent

[0042] {

[0043] uint16_t IP;

[0044] uint16_t CH;

[0045] float Energy;

[0046] double T0;

[0047] };

[0048] IP can represent a network address, the probe component can have one IP. CH can represent a crystal channel number, each crystal channel has one CH. Energy can represent energy, that is, the energy value carried by the energy event. T0 can represent time, that is, the time of the energy event.

[0049] The data structure of the second event data of the time event can be as follows:

[0050] struct TimeEvent

[0051] {

[0052] uint16_t IP;

[0053] uint16_t CH;

[0054] float deltaT;

[0055] double T0;

[0056] };

[0057] IP can represent a network address, the probe component can have one IP. CH can represent a crystal channel number, each crystal channel has one CH. deltaT can represent time width. For example, when setting a trigger threshold, the time difference between the time when the flicker pulse crosses the trigger threshold twice (such as T2-T1). When setting two trigger thresholds, the time difference between the time when the flicker pulse crosses the higher trigger threshold for the second time (such as T3) and the time when the flicker pulse crosses the lower trigger threshold for the first time (such as T1) (such as T3-T1). T0 can represent time, that is, the time of the time event.

[0058] In some embodiments, the first event data and the second event data can be pre-stored in the self-storage unit or external storage device of the data processing system 400 after being determined. The first event data and the second event data are obtained by data reading.

[0059] Step 120, respectively, divide the first event data and the second event data into multiple groups to correspond to each probe unit.

[0060] It can be understood that the energy event and the time event corresponding to the same scintillation pulse must be generated by one detection unit. Therefore, in order to improve the comparison speed, the first event data and the second event data corresponding to the same detection unit can be compared to save processing time. In some embodiments, the channel number (e.g., CH in the foregoing example) for indicating the detection channel generating the scintillation pulse included in the first event data and the second event data can be used for data grouping. For example, it is assumed that the detection component includes 8 detection units, and each detection unit includes 36 detection channels. All detection channels are sequentially arranged and numbered 1-288. It is assumed that the first event data of a certain energy event shows that the corresponding scintillation pulse is generated by detection channel 40. The ratio between the channel number and the number of detection channels (e.g., the ratio of 40 to 36 (1.11)) can be used to determine that the first event data of the energy event corresponds to the detection unit with the serial number 2. It can be known that when the ratio is less than or equal to 1, the first event data of the energy event corresponds to the detection unit with the serial number 1. When the ratio is greater than 1 and less than or equal to 2, the first event data of the energy event corresponds to the detection unit with the serial number 2. And so on. In addition, the ratio between the channel number and the number of detection channels plus one (e.g., the ratio of 40 to 37 (1.08)) can also be used for determination. When the ratio is less than 1, the first event data of the energy event corresponds to the detection unit with the serial number 1. When the ratio is greater than or equal to 1 and less than 2, the first event data of the energy event corresponds to the detection unit with the serial number 2. And so on. Of course, the above is an example of the division of the first event data of the energy event. The division of the second event data of the time event is the same or similar, and the division can also be performed according to the CH in the second event data.

[0061] In some embodiments, after the division of the first event data of the energy event and the second event data of the time event corresponding to each detection unit is determined, the first event data of the same group can be assigned a first index number, and the second event data of the same group can be assigned a second index number. In this way, when reading data, the data processing system 400 can access the specified group according to the index number. Thus, it is avoided to copy and store different groups in another storage space, reducing unnecessary data copying and reducing data storage space.

[0062] Reference Figure 2 , Figure 2 is an exemplary schematic diagram of the numbering of the first event data of the energy event according to some embodiments of the present application. In the present application, the first event data of the same group can be further divided. For example, divided into 6, 7, 8 or more. Figure 2The example shown in FIG. 6 is divided into 6 parts. 0 to C0 / 6*5 is the starting index number of the first index number of the first event data corresponding to the first detection unit. 0 is the starting index number of the first index number of the first event data corresponding to the first detection unit. C0 / 6 is the starting index number of the first index number of the first event data corresponding to the first detection unit. C0 / 6*2 is the starting index number of the first index number of the first event data corresponding to the first detection unit. And so on. Other first index numbers between two starting index numbers can be the index numbers of other first event data. C0 to C0+C1 / 6*5 is the starting index number of the second index number of the first event data corresponding to the second detection unit. C0 is the starting index number of the second index number of the first event data corresponding to the second detection unit. C0+C1 / 6 is the starting index number of the second index number of the first event data corresponding to the second detection unit. C0+C1 / 6*2 is the starting index number of the second index number of the first event data corresponding to the second detection unit. And so on. Other second index numbers between two starting index numbers can be the index numbers of other first event data.

[0063] Reference is made to Figure 3 , Figure 3 FIG. 7 is an exemplary diagram of the index numbers of the second event data of the time events according to some embodiments of the present application. In the present application, further division can not be performed for the same group of second event data. As shown in FIG. 7, 0 is the starting index number of the second event data corresponding to the first detection unit, C0 is the starting index number of the second event data corresponding to the second detection unit, C1 is the starting index number of the second event data corresponding to the third detection unit, and so on. Figure 3

[0064] Step 130, synchronously and in parallel compare the first event data and the second event data corresponding to each detection unit to determine the energy events and the time events corresponding to the same flash pulse.

[0065] ​In some embodiments, the first event data and the second event data corresponding to each probe unit can be compared simultaneously to achieve data parallel processing operation to reduce data processing time. In connection with the foregoing description, when the first event data within a group is further divided (e.g., divided into 6 parts), the number of parallel processing threads can be further increased to further reduce data processing time. For example, for the first event data of the same group divided into 6 parts, 6*8 (one probe component includes 8 probe units) threads can be simultaneously and parallel executed. When there are multiple probe components, assume X, then X*6*8 threads can be simultaneously and parallel executed, greatly reducing the data processing time, i.e., the event matching time in the present application.

[0066] In connection with the foregoing example, for the first event data corresponding to one probe unit divided into 6 parts, 6 threads can be parallel executed to perform event matching. For example, data reading can be performed according to the first index number and the second index number, and comparison can be performed based on the read data. For example, for the first event data and the second event data corresponding to the first probe unit, 6 threads can read the first event data from 0, C0, C0+C1, …, respectively, and read the second event data from 0. The first thread reads the first event data with the first index number from 0 to C0 in turn, and reads the second event data with the second index number from 0 to C0 for traversal comparison. The second thread reads the first event data with the first index number from C0 to C0+C1 in turn, and reads the second event data with the second index number from 0 to C0 for traversal comparison. The third thread reads the first event data with the first index number from C0+C1 to C0+C1+C2 in turn, and reads the second event data with the second index number from 0 to C0 for traversal comparison. And so on.

[0067] In each thread comparison, a time difference between a first trigger time of an energy event included in the first event data and a second trigger time of a time event included in the second event data can be determined. The first trigger time can be obtained based on performing multi-threshold sampling on the scintillation pulse, including a sampling time at which the scintillation pulse first crosses a lowest sampling threshold of a plurality of sampling thresholds, as the time information of the energy event described above. The second trigger time can be obtained based on performing multi-threshold sampling on the scintillation pulse, including a trigger time at which the scintillation pulse first crosses a lower trigger threshold of two trigger thresholds, as the time information of the time event described above. The preset value can represent a time window, or a time tolerance range. When the first trigger time and the second trigger time are within the time window, or within the time tolerance range, the corresponding energy event and time event can be considered to occur simultaneously. Both are matched, corresponding to the same scintillation pulse. The preset value can be determined according to prior data or prior experience, or can be different according to different application scenarios. For example, the preset value can be 50 ns, 40 ns, 30 ns, 20 ns, 10 ns, etc. In some embodiments, the preset value can be 50 ns.

[0068] It should be noted that the above description of each step in Figure 1 is only for example and illustration, and does not limit the scope of the present specification. Those skilled in the art can make various modifications and changes to each step in Figure 1 under the guidance of the present specification. However, these modifications and changes are still within the scope of the present specification.

[0069] The scintillation pulse processing method disclosed in the present application can realize parallel processing of the matching of energy events and time events, greatly reducing the matching time and improving the data processing speed and efficiency.

[0070] Figure 4 is an exemplary block diagram of a data processing system according to some embodiments of the present specification. The data processing system can realize fast matching of energy events and time events. As shown in Figure 4 , the data processing system 400 can include an acquisition module 410, a division module 420, and a matching module 430.

[0071] The acquisition module 410 can be configured to acquire, according to the above step 110, first event data of a plurality of energy events and second event data of a plurality of time events related to a plurality of scintillation pulses captured by a detection component. The detection component can include a scintillation detector. The scintillation detector can include a scintillation crystal and a photoelectric conversion device coupled to each other. The scintillation crystal (e.g., BGO, PWO, LYSO:Ce, GAGG:Ce, NaI:TI, CsI:TI, LaBr3:Ce, BaF2, etc.) is used to convert a detected high-energy ray (such as a gamma ray, a neutron ray, etc.) into a visible light signal, and the photoelectric conversion device (e.g., a photomultiplier tube PMT, a silicon photomultiplier SiPM, etc.) is used to convert the visible light signal into an electrical signal, which is output in the form of a scintillation pulse through an electronic device connected to the photoelectric conversion device. The detection component can include a plurality of scintillation detectors (which can also be referred to as detection units in the present application). For example, 4, 8, 12, etc. The scintillation crystal of each scintillation detector can have a plurality of independent crystal channels (which can also be referred to as detection channels in the present application). For example, the scintillation crystal is regularly cut or divided, and each part is independently coupled to a photoelectric conversion device (e.g., a silicon photomultiplier SiPM) to form a crystal channel. After a high-energy particle (e.g., a gamma photon) enters a certain crystal channel, energy deposition will occur in the crystal channel. The photoelectric conversion device coupled to the crystal channel will generate a scintillation pulse. This process can be the process of capturing a scintillation pulse by the detection component, and can also be referred to as a single event. A single event can include an energy event and a time event. The first event data of the energy event can include energy information and incident time information of the incident high-energy particle. The second event data of the time event can include time information of the incident high-energy particle. The detection channel (i.e., the crystal channel) of the detection unit (i.e., the scintillation detector) can have a channel number. For example, the crystal channels of 8 scintillation detectors (e.g., 36 detection channels for each detection unit) are sequentially numbered from 1-288. When a high-energy particle (e.g., a gamma photon) produces energy deposition in a crystal channel and a scintillation pulse is generated by a photoelectric conversion device coupled to the crystal channel, the channel number of the crystal channel can be output at the same time as part of the event data of the energy event and the time event.

[0072] The dividing module 420 can be configured to divide the first event data and the second event data into groups respectively according to the above-mentioned step 120, so as to correspond to each detection unit. The dividing module 430 can determine the first event data corresponding to the energy events and the second event data corresponding to the time events generated by the same detection unit based on the number of the detection channels and the channel number. For example, the dividing module 420 can determine which detection unit the event data of the energy events and / or the time events correspond to by determining the ratio between the channel number and the number of the detection channels. For example, it is assumed that the detection component includes 8 detection units, and each detection unit includes 36 detection channels. All the detection channels are arranged in sequence and numbered 1-288 respectively. Then according to the ratio between the channel number and the number of the detection channels, the integer greater than and close to the ratio can be used to represent which detection unit the event data belongs to. After determining the division of the first event data of the energy events and the second event data of the time events corresponding to each detection unit, the dividing module 420 can also assign the first event data of the same group with a first index number and the second event data of the same group with a second index number. In this way, when reading the data, the data processing system 400 can access the specified group according to the index number. Thus, it is avoided to copy and store different groups in another storage space, unnecessary data copying is reduced, and the data storage space is reduced.

[0073] The matching module 430 can be configured to synchronize and compare the first event data and the second event data corresponding to each detection unit in parallel according to the above-mentioned step 130 to determine the energy event and the time event corresponding to the same scintillation pulse. The matching module 430 can invoke the computing resource to run multiple threads in synchronization to perform the matching of the first event data and the second event data corresponding to each detection unit at the same time. For example, the matching module 430 can perform data reading according to the first index number and the second index number and comparison based on the read data. In each thread comparison, the matching module 430 can determine whether the time difference between the first trigger time of the energy event included in the first event data and the second trigger time of the time event included in the second event data is less than a preset value. The first trigger time can be obtained based on the multi-threshold sampling performed on the scintillation pulse, including the sampling time when the scintillation pulse first crosses the lowest sampling threshold in the multiple sampling thresholds, i.e., the time information of the energy event as mentioned above. The second trigger time can be obtained based on the multi-threshold sampling performed on the scintillation pulse, including the trigger time when the scintillation pulse first crosses the lower trigger threshold in the two trigger thresholds. The preset value can represent a time window, or a time tolerance range. When the first trigger time and the second trigger time are within the time window, or within the time tolerance range, it can be considered that the corresponding energy event and time event occur at the same time. Both are matched, corresponding to the same scintillation pulse. The preset value can be determined according to prior data or previous experience, or can be different according to different application scenarios. For example, the preset value can be 50ns, 40ns, 30ns, 20ns, 10ns, etc. Alternatively or preferably, the preset value can be 50ns.

[0074] Further descriptions regarding the above-mentioned modules can be referred to the flowchart part of the present application, such as Figure 1 .

[0075] It should be understood that Figure 4The illustrated system and its modules can be implemented in various ways. For instance, in some embodiments, the system and its modules can be implemented in hardware, software, or a combination of software and hardware. The hardware components can be implemented with special logic, while the software components can be stored in memory and executed by a suitable instruction execution system, such as a

[0076] It is to be noted that the above description of the modules is for the convenience of description only, and should not limit the scope of the present application to the embodiments described. It is to be understood by those skilled in the art that, after understanding the principles of the system, the modules can be combined in any manner, or connected with other modules to form a subsystem, without departing from the principles of the system. For example, the modules can share a storage module, or each module can have its own storage module. Such variations are within the scope of the present application.

[0077] Figure 5 is an exemplary block diagram of a processing device according to some embodiments of the present application. The processing device 500 can include any components to implement the system described in the embodiments of the present application. For example, the processing device 500 can be implemented by hardware, software program, firmware, or a combination thereof. For example, the processing device 500 can implement the data processing system 400. For the convenience of description, only one processing device is shown in the figure, but the computing functions described in the embodiments of the present application can be implemented in a distributed manner, by a group of similar platforms, to distribute the processing load of the system.

[0078] In some embodiments, the processing device 500 can include a processor 510, a memory 520, an input / output component 530, and a communication port 540. In some embodiments, the processor (e.g., CPU) 510 can execute program instructions in the form of one or more processors. In some embodiments, the memory 520 includes different forms of program memory and data memory, such as hard disks, read-only memory (ROM), random access memory (RAM), and the like, for storing a variety of data files processed and / or transmitted by the computer. In some embodiments, the input / output component 530 can be used to support input / output between the processing device 500 and other components. In some embodiments, the communication port 540 can be connected with a network for realizing data communication. An exemplary processing device can include program instructions stored in read-only memory (ROM), random access memory (RAM), and / or other types of non-transitory storage media, which are executed by the processor 510. The methods and / or processes of the embodiments of the present specification can be implemented in the form of program instructions. The processing device 500 can also receive programs and data disclosed in the present application through network communication.

[0079] For the sake of convenience, only one processor is exemplarily shown in FIG. 8. However, it should be noted that the processing device 500 in the embodiments of the present specification can include multiple processors, and thus the operations and / or methods described in the embodiments of the present specification as being implemented by one processor can also be implemented by multiple processors jointly or independently. For example, if in the present specification, the processor of the processing device 500 performs step A and step B, it should be understood that step A and step B can also be performed by two different processors of the processing device 500 jointly or independently (for example, a first processor performs step A, a second processor performs step B, or the first and second processors jointly perform step A and step B).

[0080] The processing method of the scintillation pulse provided in the present application can be specifically used in photon detection, and can be applied to various fields, such as medical imaging technology, high-energy physics, laser radar, autonomous driving, precision analysis, optical communication, etc. In one specific example, the processing method, device, equipment and storage medium of the scintillation pulse provided in the present application can be applied to radiation detection, and the detector for collecting pulse information can be threshold corrected to obtain more accurate collection data by using the scheme according to the embodiments of the present application. In other specific examples of the present application, the processing method, device, equipment and storage medium of the scintillation pulse provided in the present application can be applied to various digital devices, such as CT devices, MRI devices, PET devices, oil detection devices, weak light detection devices, SPECT devices, security inspection devices, gamma cameras, X-ray devices, DR devices, and other devices using high-energy ray conversion principle, and other photoelectric conversion application devices, one of the above devices or a combination of the above devices.

[0081] The foregoing detailed description has set forth various embodiments of the application via the use of specific terminology. As is understood by those skilled in the art, the application is not intended to be limited to the foregoing detailed description. Modifications, improvements, and alterations to the above-described embodiments can become apparent to those skilled in the art, and it is intended to include all such modifications, improvements, and alterations within the spirit and scope of the application. Accordingly, the foregoing detailed description is to be viewed in the context of the following claims.

[0082] Also, the use of "an" or "one" to refer to an item of an embodiment should not be construed to mean at most a single item. The terms "including" and "having" should be construed as "comprising." Moreover, the articles "a" and "an" are given their plain English meaning: i.e., "one or more." Any reference to claim "introduction" is intended to be construed as claim "incorporation" by reference to that material.

[0083] Moreover, those skilled in the art will appreciate that the aspects of the present application can be practiced with a variety of computer-system configurations, including small-form factor personal computers, laptop computer systems, multiprocessor systems, micro-processor based or programmable-consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Any processor scheme(s) can be used, for example, a multiple- core processor scheme, or another multi-processor scheme, as can be desired in certain implementations and

[0084] Computer storage media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, solid-state drives ("SSDs"), flash memory, phase-change ("PC") memory, optical-based drives, magnetic-based drives, or any other medium which can be used to store the desired information, and which can be accessed by a computer. Based on the foregoing, it can be appreciated that a computer storage medium can be any available medium or

[0085] Computer program code for carrying out operations of the aspects of the present specification can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, and others, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 3003, Perl, COBOL 3002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any form of network, such as a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider) or cloud computing environment or other data processing systems. In an example, multiple computing devices can be connected together to enable processing, enabling functionality, and / or improve performance, as would be understood by one of ordinary skill in the art.

[0086] In addition, the order of execution or sequence of any of the processes depicted in any of the figures, unless specifically stated to the contrary, should not be understood as a requirement to practice the inventive embodiments in that order and to not have a varying and / or alternative technical effect. It is understood that additional operations can be provided prior to, during, after, and / or as part of the processes of the various aspects. Also, one will understand that the order of the operations of processes can be changed, and that additional operations being performed in another order and / or concurrently can provide additional advantages in accordance with the various aspects. For example, described above are systems that can be implemented by hardware devices, but can also be implemented by software solutions, such as installing the described systems on existing servers or mobile devices.

[0087] Similarly, it is to be noticed that the term "comprising", used in the description, should not be interpreted as being restricted to the means listed thereafter; it does not exclude other elements or steps. It is thus to be interpreted as specifying the presence of the stated features, integers, steps or components as referred to, but does not preclude the presence or addition of one or more other features, integers, steps or components, or groups thereof. Thus, the scope of the expression should be commensurate to the disclosure and defined by the claims.

[0088] In some embodiments, numbers that describe amounts, dimensions, and so forth, are used in the description of the embodiments. It should be understood that such numbers are used only to illustrate examples and that the embodiments can be practiced with other numbers, including numbers outside the range of values stated in the specification. In some embodiments, the numbers are modified in some instances by the term "about" or "approximately." In some embodiments, unless otherwise indicated, the term "about" or "approximately" means ±20% of the value of the quantity to which the term "about" or "approximately" refers. Accordingly, in some embodiments, all numerical parameters in the description and claims are approximations and can vary depending upon the desired properties sought to be obtained by the individual embodiments. In some embodiments, numerical parameters are approximations and can vary depending upon the desired properties sought to be obtained by the individual embodiments. In some embodiments, numerical parameters are determined by the use of common mathematical formulas that are deemed appropriate. In some embodiments, even though numerical ranges and parameters are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable. The phrasing of the numerical ranges and parameters in the specification should not be interpreted as meaning that the numerical values are a strict limitation on the range of values that can be claimed.

[0089] Every patent, patent application, publication, document, article, book, specification, and other material cited in this specification is hereby incorporated by reference in its entirety for all purposes to the same extent as if each individual publication, document, article, book, specification, and other material were specifically and individually indicated to be incorporated by reference in its entirety for all purposes. Except in the Examples, all summary of application history documents (whether current or added later to the application file) are hereby expressly incorporated by reference for all purposes. In the event that the description, definitions, and / or terminology in such cited materials conflicts with the description, definitions, and / or terminology in this specification, the description, definitions, and / or terminology in this specification prevail. Reference to related application documents, if any, in the "Cross Reference to Related Applications" section of the specification, if any, is hereby expressly incorporated by reference for all purposes.

[0090] Finally, it should be understood that the embodiments described herein are merely examples of embodiments of the application. Other variations of the embodiments described herein can also be possible. As such, the embodiments of the application should not be limited to the examples described herein but can vary from these examples. Accordingly, the embodiments of the application are not limited to the examples described herein but can vary from these examples.

Claims

1. A method of processing a flicker pulse, characterized by, The processing method comprises: acquiring first event data of a plurality of energy events and second event data of a plurality of time events related to a plurality of scintillation pulses captured by a detection component; the detection component comprises a plurality of detection units; dividing the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit; synchronously and in parallel comparing the first event data and the second event data corresponding to each detection unit to determine energy events and time events corresponding to the same scintillation pulse, comprising: determining a first trigger time of an energy event included in the first event data and a second trigger time of a time event included in the second event data; determining whether a time difference between the first trigger time and the second trigger time is less than a preset value; if yes, determining that the energy event corresponding to the first trigger time and the time event corresponding to the second trigger time correspond to the same scintillation pulse.

2. The method of processing of flicker pulses according to claim 1, characterized in that, The detection unit comprises a plurality of detection channels, and the first event data and the second event data comprise channel numbers for indicating detection channels generating the scintillation pulse; The dividing the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit comprises: based on the number of the plurality of detection channels and the channel numbers, respectively determining that first event data corresponding to energy events generated by the same scintillation pulse generated by the same detection unit is a group and second event data corresponding to time events is a group.

3. The method of processing flicker pulses according to claim 2, characterized in that, The processing method further comprises: assigning the first event data of the same group with a first index number and the second event data of the same group with a second index number, so that data access extracts the first event data and the second event data corresponding to the same detection unit.

4. The method of processing flicker pulses according to claim 1, wherein, The first trigger time is acquired based on performing multi-threshold sampling on the scintillation pulse, comprising a sampling time when the scintillation pulse first crosses a lowest sampling threshold in a plurality of sampling thresholds.

5. The method of processing flicker pulses according to claim 1, wherein, The second trigger time is acquired based on performing multi-threshold sampling on the scintillation pulse, comprising a trigger time when the scintillation pulse first crosses a lower trigger threshold in two trigger thresholds.

6. The method of processing flicker pulses according to claim 1, wherein, The preset value of the time difference comprises 50ns, 40ns, 30ns, 20ns or 10ns.

7. A processing device of a flicker pulse, characterized by, The processing device comprises: an acquisition module configured to acquire first event data of a plurality of energy events and second event data of a plurality of time events related to a plurality of scintillation pulses captured by a detection component; the detection component comprises a plurality of detection units; a division module configured to divide the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit; The matching module is configured to synchronize and compare the first event data and the second event data corresponding to each detection unit in parallel to determine the energy event and the time event corresponding to the same scintillation pulse; the matching module is further configured to: determine a first trigger time of the energy event included in the first event data and a second trigger time of the time event included in the second event data; determine whether a time difference between the first trigger time and the second trigger time is less than a preset value; if yes, determine that the energy event corresponding to the first trigger time and the time event corresponding to the second trigger time correspond to the same scintillation pulse.

8. The scintillation pulse processing apparatus of claim 7, wherein, The detection unit includes a plurality of detection channels, and the first event data and the second event data include a channel number indicating a detection channel generating the scintillation pulse; in order to divide the first event data and the second event data into a plurality of groups respectively to correspond to each detection unit, the dividing module is configured to: based on the number of the plurality of detection channels and the channel number, determine that the first event data corresponding to the energy event generated by the scintillation pulse generated by the same detection unit is a group and the second event data corresponding to the time event is a group.

9. The scintillation pulse processing apparatus of claim 8, wherein, The dividing module is further configured to: assign the first event data of the same group with a first index number and the second event data of the same group with a second index number, so that data access can extract the first event data and the second event data corresponding to the same detection unit.

10. The scintillation pulse processing apparatus of claim 7, wherein, The first trigger time is obtained based on multi-threshold sampling of the scintillation pulse, including a sampling time when the scintillation pulse first crosses a lowest sampling threshold in a plurality of sampling thresholds.

11. The scintillation pulse processing apparatus of claim 7, wherein, The second trigger time is obtained based on multi-threshold sampling of the scintillation pulse, including a trigger time when the scintillation pulse first crosses a lower trigger threshold in two trigger thresholds.

12. The scintillation pulse processing apparatus of claim 7, wherein, The preset value of the time difference includes 50ns, 40ns, 30ns, 20ns or 10ns.

13. A processing device, characterized by It includes: a memory, a processor and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor to implement the steps of the processing method according to any one of claims 1-6.

14. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which is executed by a processor to implement the steps of the processing method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Scintillation pulse digitization method and device, equipment and storage medium

    CN114966815A

  • Method and system for synchronizing positron emission tomography (PET) detector modules

    US20150014545A1