Method and apparatus for medical imaging event detection and image reconstruction based on machine learning

By using a trained machine learning model to decouple pile-up events in nuclear imaging systems, the problem of reduced accuracy in traditional systems in detecting multiple events is solved, higher sensitivity and accurate energy and position estimation are achieved, and image reconstruction quality is improved.

CN120707661APending Publication Date: 2025-09-26SIEMENS MEDICAL SOLUTIONS USA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510302640.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-25
Filing Date
2025-03-14
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Traditional nuclear imaging systems are prone to overlooking or missing detection events when detecting multiple events, resulting in reduced accuracy of the generated measurement data and reconstructed images.

Method used

A trained machine learning model is used to detect and decouple pile-up events, generating energy and position estimates representing multiple pulses for reconstructing medical images.

Benefits of technology

The sensitivity of the nuclear imaging system and the accuracy of energy and positioning estimation are improved, and the accuracy of image reconstruction is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120707661A_ABST
    Figure CN120707661A_ABST
Patent Text Reader

Abstract

Methods and apparatus for machine learning-based medical imaging event detection and image reconstruction. Systems and methods for detecting a plurality of events during a nuclear imaging scan and for reconstructing an image based on the detected events are disclosed. In some embodiments, an image scanning system scans an object and generates a signal characterizing a detection event. The system generates sampled data based on sampling at least one signal. In addition, the system applies a trained machine learning process to the sampled data. Based on the application of the trained machine learning process, the system generates pulse data characterizing a plurality of decoupled pulses. For example, the pulse data may characterize a pulse energy value for each decoupled pulse, and a corresponding time for each pulse. In addition, the method includes transmitting the pulse data to generate a temporal coincidence pair for image reconstruction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Aspects of the present disclosure relate generally to medical diagnostic systems, and more particularly to capturing and reconstructing images from nuclear imaging systems for diagnostic and reporting purposes. Background Art

[0002] Nuclear imaging systems can use various techniques to capture images. For example, some nuclear imaging systems use positron emission tomography (PET) to capture images. PET is a nuclear medicine imaging technique that produces tomographic images representing the distribution of positron-emitting isotopes in the body. Some nuclear imaging systems combine images from PET and co-modalities such as computed tomography (CT) or magnetic resonance imaging (MRI). CT is an imaging technique that uses x-rays to produce anatomical images. Magnetic resonance imaging (MRI) is an imaging technique that uses magnetic fields and radio waves to generate anatomical and functional images, and can also be used as co-modalities. These nuclear imaging systems can combine images from PET and co-modal scanners during the image fusion process to produce images showing information from both PET scans and co-modal scans (e.g., PET / CT systems). In addition, nuclear imaging systems can generate attenuation maps that can be used to correct PET measurement data during image reconstruction.

[0003] Typically, PET systems (e.g., time-of-flight (TOF) PET systems) include scanners with detector elements that include crystals that can detect gamma rays during a scanning process. The detector elements include crystals that detect gamma rays. Based on these detections, the system can generate measurement data that characterizes an image. However, sometimes, these systems ignore or miss detection events, such as when multiple detection events occur close in time to each other. As a result, the generated measurement data and any medical images reconstructed based on the measurement data may suffer in accuracy. As such, there is an opportunity to address these and other deficiencies in nuclear imaging systems. Summary of the Invention

[0004] Systems and methods are disclosed for detecting multiple events during a nuclear imaging scan, and for reconstructing a medical image based on the detected events.

[0005] In some embodiments, a computer-implemented method includes receiving at least one signal representative of a detection event. The method further includes generating sampled signal data based on sampling the at least one signal. Additionally, the method includes applying a trained machine learning process to the at least one signal, and generating pulse data representative of a plurality of pulses based on the application of the trained machine learning process. The method further includes transmitting the pulse data representative of the plurality of pulses.

[0006] In some embodiments, a non-transitory computer-readable medium stores instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: receiving at least one signal representative of a detection event. The operations further comprise generating sampled signal data based on sampling the at least one signal. Additionally, the operations comprise applying a trained machine learning process to the at least one signal, and generating pulse data representative of a plurality of pulses based on the application of the trained machine learning process. The operations further comprise transmitting the pulse data representative of the plurality of pulses.

[0007] In some embodiments, a system includes a memory device storing instructions, a transceiver, and at least one processor communicatively coupled to the transceiver and the memory device. The at least one processor is configured to execute instructions to receive at least one signal representing a detection event via the transceiver. The at least one processor is further configured to execute instructions to generate sampled signal data based on sampling the at least one signal. Additionally, the at least one processor is configured to execute instructions to apply a trained machine learning process to the at least one signal and, based on the application of the trained machine learning process, generate pulse data representing a plurality of pulses. The at least one processor is further configured to execute instructions to transmit the pulse data representing the plurality of pulses. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The following will become apparent from elements in the accompanying drawings, which are provided for illustrative purposes and are not necessarily drawn to scale.

[0009] Figure 1A 、 Figure 1B 、 Figure 1C and Figure 1D Portions of a nuclear imaging system are illustrated, according to some embodiments.

[0010] Figure 2 Illustrated is a block diagram of an example computing device that can perform one or more of the functions described herein in accordance with some embodiments.

[0011] Figure 3 Illustrated is the reconstruction of a nuclear image using a neural network, according to some embodiments.

[0012] Figure 4 is a flow chart of an example method of generating data characterizing a plurality of pulses according to some embodiments.

[0013] Figure 5 is a flow chart of an example method of training a machine learning process according to some embodiments.

[0014] Figure 6A and Figure 6BIllustrated are exemplary real pulses and analyzed pulses according to some embodiments.

[0015] Figure 7 Two pulses are illustrated that correspond to pile-up pulses in accordance with some embodiments. DETAILED DESCRIPTION

[0016] This description of exemplary embodiments is intended to be read in conjunction with the accompanying drawings, which are to be considered a part of the entire written description. Independent of grammatical usage, individuals identifying as masculine or feminine are included within the terms.

[0017] Exemplary embodiments are described with respect to the claimed systems and with respect to the claimed methods. Furthermore, exemplary embodiments are described with respect to methods and systems for image reconstruction, and with respect to methods and systems for training functions for image reconstruction. Features, advantages, or alternative embodiments herein may be assigned to other claimed objects, and vice versa. For example, a claim for providing a system may be modified with features described or claimed in the context of a method, and vice versa. Furthermore, functional features of the described or claimed method are embodied by an object unit of the providing system. Similarly, a claim for a method and system for training an image reconstruction function may be modified with features described or claimed in the context of a method and system for image reconstruction, and vice versa.

[0018] Various embodiments of the present disclosure may employ machine learning methods or processes to provide clinical information from nuclear imaging systems. For example, embodiments may employ machine learning methods or processes to reconstruct images based on captured measurement data and provide the reconstructed images for clinical diagnosis. In some embodiments, the machine learning methods or processes are trained to improve image reconstruction.

[0019] A positron emission tomography (PET) imaging system can include a scanner having various detection elements. Each detection element can house a crystal that detects gamma rays emitted from a scanned object. When a crystal detects an event, one or more signals can be generated. For example, the system can generate a first signal representing the energy associated with the detected event. The system can additionally generate a second signal representing a first-dimensional position of the detection (e.g., the X-axis position of the detection crystal), and a third signal representing a second-dimensional position of the detection (e.g., the Y-axis position of the detection crystal).

[0020] Each of these signals (e.g., the first signal, the second signal, and the third signal) can represent a pulse, where the height of the signal at any given point in time indicates an associated energy value, such as a kiloelectronvolt (KeV) value. The energy of a radiation pulse can be measured by the area under the pulse for a particular event. As activity increases in the field of view of the system scanner, the likelihood of more than one pulse being generated simultaneously or nearly simultaneously increases. For example, the scanner may detect a second pulse during the duration of a first pulse or while the scanner is processing the first pulse (e.g., within the scanner's pulse processing time). Such a situation is referred to as "pile-up." Conventional systems may attempt to detect such a condition and, if detected, discard the detected event (e.g., not process the detected event as if it had never occurred). Conventional systems may discard such events to prevent introducing errors in energy and detector positioning (e.g., crystal positioning) estimates, or because of a lack of timing information associated with such events. However, discarding such information reduces the sensitivity of the system and, as a result, reduces the accuracy of energy and positioning estimates.

[0021] Decoupling pulses using a trained machine learning model

[0022] Embodiments described herein employ a trained machine learning or artificial intelligence process that detects pile-up events, decouples multiple pulses from the pile-up event, and generates energy and position estimates for each of the multiple pulses. For example, a signal received from an imaging scanner can be sampled (e.g., using an analog-to-digital converter (ADC)) to generate multiple values. The multiple values ​​can be input into a trained machine learning model (e.g., a trained neural network, a trained deep learning model, etc.), which is configured to generate output data that characterizes whether a pile-up event has occurred and, if so, multiple decoupled pulses and a time offset value that identifies the time offset between the multiple decoupled pulses. For example, the output data can identify whether the input pulses include a pile-up condition and, if a pile-up condition is detected, the energy value of each pulse and the time between the pulses. Based on the output data, the system can generate energy, position, and time (e.g., timestamp) estimates for each of the multiple pulses.

[0023] Figure 7A graph 700 is illustrated that identifies the number of samples along the X-axis (e.g., the number of analog-to-digital converter (ADC) samples) and the energy value along the Y-axis (e.g., the ADC sample value). Graph 700 illustrates a pile-up signal 702 as a solid line, which is a signal that may be received when two events are detected simultaneously or nearly simultaneously, resulting in a pile-up event. For example, pile-up signal 702 may be generated when an event is detected while the scanner is still processing a signal from a previously detected event (e.g., before the first signal has fully decayed). To decouple two or more pulses from pile-up signal 702, embodiments described herein may apply a trained machine learning process to pile-up signal 702 to generate output data representative of two or more individual pulses, such as a first decoupled pulse 704 and a second decoupled pulse 706.

[0024] For example, a machine learning process can be trained to detect (e.g., classify) the following based on the pile-up signal 702: a first peak 760 located at a sample number 772 (ADC sample number) and a second peak 762 located at a sample number 782. The trained machine learning process can also detect a first amplitude 774 of the first peak 760 and a second amplitude 784 of the second peak 762. Based on the position and amplitude of each detected peak 760, 762, the trained machine learning process can further generate a corresponding energy value. For example, the energy value can be the area under the curve (AUC) of each corresponding peak 760, 762. In some examples, the trained machine learning process can determine the energy value of each peak 760, 762 based on detecting the peak value of each peak 760, 762, respectively. As described herein, the output data generated by the trained machine learning process can include the energy value of each detected peak.

[0025] Additionally, the output data of the trained machine learning process can further characterize a time offset value between detected peaks (such as between peaks 760 and 762). As an example, assume that the number of samples 782 of the second peak 762 is 98, and the number of samples 772 of the first peak 760 is 93. The time offset value between the first peak 760 and the second peak 762 can be 5 (98-93), where 5 indicates a time depending on the ADC sampling rate. Upon pulse detection (e.g., when the signal amplitude reaches a threshold amplitude level), a first time can be assigned to the first decoupling pulse 704, and a second time can be assigned to the second decoupling pulse 706 based on the first time and the time offset value. For example, the second time can be an offset added to the first time.

[0026] These embodiments can perform any of these pile-up detection processes on any signal received from the scanner, such as a first signal representing energy and second and third signals representing crystal position. Additionally, and as described herein, energy values ​​corresponding to time values ​​can be used to generate temporally coincident pair data for image reconstruction.

[0027] Training machine learning models

[0028] The machine learning process described herein can be based on, for example, a classifier model, a decision tree (e.g., a random forest) model, a neural network (e.g., a convolutional neural network, a deep neural network), an artificial intelligence model, or any other suitable model, and can be trained using training data representing various pulses output by a simulated image scanner. For example, pulses having various pulse shapes can be generated based on one or more functions. Function 1 below illustrates a function Y(t) that represents a pulse.

[0029] Y(t)=Ks*exp((-1*(t-Ki) / tf)) / (1+exp(-1*(t-Ki) / tr)) (1)

[0030] Here, the variable t represents time, the variable Ks is the global scale factor, the variable Ki is the time offset term, the variable tf is the decay time constant of the pulse, and the variable tr is the rise time constant of the pulse. For example, Figure 6A A graph 600 is illustrated that identifies the number of samples along the X-axis and the energy value (e.g., ADC sample value) along the Y-axis. Graph 600 includes a capture pulse 602, illustrated in dashed lines, that overlaps an analysis pulse 604, illustrated in solid lines. The analysis pulse 604 is calculated using Function 1 above and corresponding values ​​for Ks, Ki, tf, and tr. Similarly, Figure 6B A graph 650 is illustrated in which an acquisition pulse 652, illustrated in dashed lines, overlaps an analysis pulse 654, illustrated in solid lines. The analysis pulse 654 is also calculated using the same values ​​of Ks, Ki, tf, and tr using Function 1 above. As indicated in each of these graphs, the analysis pulses 604, 654 closely match the acquisition pulses 602, 652, respectively.

[0031] As such, to generate training data, a synthetic pulse (e.g., a data value characterizing a pulse) is generated, for example, according to Function 1 above. The synthetic pulse is then phase shifted and sampled to generate additional synthetic pulses. As an example, a synthetic initial pulse can be generated according to Function 1 using a predetermined digitizer sampling time (e.g., t=1 ns) and predetermined values ​​for the remaining parameters. The synthetic initial pulse is then sampled at a system rate (e.g., 20 nanoseconds) to generate a first synthetic pulse. The system rate can be the rate at which an ADC in a target image scanning system samples. The synthetic initial pulse is then phase shifted by a predetermined amount (e.g., 1 nanosecond) and resampled at the system rate to generate a second synthetic pulse. This process of phase shifting and sampling is repeated any number of times, such as until the synthetic initial pulse has been phase shifted to twice its width.

[0032] In addition, each generated composite pulse is added to each other to generate a composite pile-up signal. For example, a first composite pulse can be added to a second composite pulse to generate a first pile-up pulse. Similarly, a first composite pulse can be added to a third composite pulse to generate a second pile-up pulse. Furthermore, a second composite pulse can be added to a third composite pulse to generate a third pile-up pulse. Additional pile-up pulses can be generated by adding pairs of composite pulses. In some examples, the amplitude of any one of the composite pulses can be adjusted (e.g., increased or decreased) before generating the corresponding pile-up pulse. For example, the amplitude of the composite pulse can be adjusted by 10 KeV to generate the additional pile-up pulse. These pile-up pulses and the corresponding composite pulses can be used as training data to train a machine learning process. For example, each pile-up pulse can be labeled as an input, and the corresponding composite pulse can be labeled as an expected output. These labeled pile-up pulses and the corresponding composite pulses can then be input to a trained machine learning model. Although described herein as adding pulse pairs to decouple three or more pulses, the machine learning model can be trained with pile-up pulses generated based on a higher number of corresponding composite pulses, thereby allowing the trained machine learning process to decouple a higher number of pulses when a pile-up event is detected.

[0033] Exemplary embodiments

[0034] Now refer to Figure 1A, the nuclear imaging system 100 includes an image scanning system 102 and an image reconstruction system 104. The image scanning system 102 can be a PET scanner that can capture PET images, a PET / MR scanner that can capture PET and MR images, a PET / CT scanner that can capture PET and CT images, or any other suitable image scanner. For example, the image scanning system 102 can capture PET images (e.g., of a person) and can generate PET measurement data 111 based on the captured PET images. The PET measurement data 111 (e.g., sinogram data, list mode data) can represent anything containing a positron-emitting isotope that is imaged in the scanner's field of view (FOV). In addition, the PET measurement data 111 can identify detection events (e.g., time-coincidence pair data) and related timing information. The image scanning system 102 can transmit the PET measurement data 111 to the image reconstruction system 104 for image reconstruction. For example, the image reconstruction system 104 can apply a machine learning process to the PET measurement data to generate a final image volume 191 that represents the reconstructed image.

[0035] In some examples, the image scanning system 102 can additionally generate an attenuation map 105 (e.g., a μ-map). For example, the image scanning system 102 can be a PET / CT scanner that can capture a CT scan of the patient in addition to the PET image. The image scanning system 102 can generate the attenuation map 105 based on the captured CT image and can transmit the attenuation map 105 to the image reconstruction system 104. As another example, the image scanning system 102 can be a PET / MR scanner that can capture an MR scan of the patient in addition to the PET image. The image scanning system 102 can generate the attenuation map 105 based on the captured MR image and can transmit the attenuation map 105 to the image reconstruction system 104.

[0036] In this example, the image scanning system 102 includes a scanner 150, an analog-to-digital converter (ADC) engine 152, a machine learning-based pulse determination engine 154, a time-to-digital converter (TDC) 156, and a measurement data output engine 158. In some examples, all or part of the image scanning system 102 is implemented in hardware, such as in one or more field programmable gate arrays (FPGAs), one or more application specific integrated circuits (ASICs), one or more state machines, one or more computing devices, digital circuits, or any other suitable circuits. For example, all or part of the ADC engine 152, the machine learning-based pulse determination engine 154, the TDC 156, and the measurement data output engine 158 can be implemented within one or more FPGAs. In some examples, part or all of the image scanning system 102 can be implemented in software as executable instructions, such that when the executable instructions are executed by one or more processors, the one or more processors perform the corresponding functions as described herein. The instructions can be stored in a non-transitory computer-readable storage medium and can be read and executed by the one or more processors.

[0037] The scanner 150 may include a detector element including a crystal that can detect gamma rays during a scanning (e.g., imaging) process. Specifically, for each detection event, the scanner 150 may generate detection data 151 including one or more signals (e.g., for one or more detection channels). For example, the detection data 151 may include a first signal representing a detected energy level (e.g., energy deposition), a second signal representing a first-dimensional positioning of the detection crystal (e.g., X-axis positioning), and a third signal representing a second-dimensional positioning of the detection crystal (e.g., Y-axis positioning). The scanner 150 may provide the detection data 151 representing the detected event to an ADC engine 152.

[0038] The ADC engine 152 may include an analog-to-digital converter (ADC) that samples each signal represented by the detection data 151 at a sampling rate to generate ADC data 153 representing the sampled signal. For example, the ADC engine 152 may sample each signal at a Nyquist rate (such as every 20 nanoseconds) and, based on the sampling, may generate ADC data 153 representing the corresponding voltage level of the signal. The ADC engine 152 may transmit the ADC data 153 for each signal represented by the detection data 151 to the machine learning-based pulse determination engine 154.

[0039] The machine learning-based pulse determination engine 154 can receive the ADC data 153 and input the ADC data 153 into a trained machine learning process that, in response to the input ADC data 153, generates and outputs pulse data 155 representing each detected event. For example, the trained machine learning process can determine that the sampled signal data includes a pile-up event and generate and output pulse data 155 representing each detected event. In other words, the machine learning process can be trained to detect two or more pulses based on the ADC data 153 that, when added together, form the sampled signal represented by the ADC data 153, and can generate pulse data 155 representing the two or more detected pulses. For example, if no pile-up event is detected, the pulse data 155 may represent one pulse corresponding to one detected event. However, if a pile-up event is detected, the pulse data 155 may represent two or more pulses, each corresponding to one detected event.

[0040] In some examples, the machine learning-based pulse determination engine 154 can generate pileup data 154A indicating whether the ADC data 153 includes pileup events (e.g., two or more pulses) for each signal represented by the detection data 151. Additionally or alternatively, the machine learning-based pulse determination engine 154 can generate peak position data 154B identifying the location of each detected peak for each signal. For example, the peak position data 154B can identify the number of ADC samples or a range of ADC sample numbers of the ADC data 153 corresponding to each detected peak. For example, the machine learning-based pulse determination engine 154 can store the pileup data 154A and the peak position data 154B in the memory device 174.

[0041] In some examples, pulse data 155 may represent energy values. As described herein, the energy value may be an area under the curve (AUC) value or peak value for each detected pulse. For example, if a pile-up event is detected, the pulse data 155 generated by the trained machine learning process may include an energy value representing each decoupled pulse (e.g., the energy value of the first decoupled pulse 704 and the energy value of the second decoupled pulse 706). For example, the trained machine learning process may be trained to output an energy value included in the pulse data 155 for each decoupled pulse. In some examples, the machine learning-based pulse determination engine 154 may execute Function 1 based on the corresponding pulse parameters of each pulse decoupled by the trained machine learning process to determine an energy value Y(t) at each peak location. In some examples, the machine learning-based pulse determination engine 154 determines that an event occurs when the energy value is within a range (e.g., above a lower discriminator and below an upper discriminator). If the energy value is not within the range, the machine learning-based pulse determination engine 154 may discard (e.g., ignore) the event.

[0042] As an example, the machine learning-based pulse determination engine 154 may receive detection data 151 from the ADC engine 152. The detection data 151 may represent three signals, such as an energy signal, a first-dimensional position signal, and a second-dimensional position signal. The machine learning-based pulse determination engine 154 may apply a trained machine learning process to each of the three signals to detect two pulses on each of the three signals, and may further determine an energy value at a location of a peak of each of the two pulses on each of the three signals. The machine learning-based pulse determination engine 154 may generate pulse data 155 representing an energy value of each of the two pulses on each of the three signals.

[0043] As illustrated, the machine learning-based pulse determination engine 154 may also receive time data 157 from the TDC 156. The time data 157 may represent a time associated with each detection event received for one or more signals of the detection data 151. For example, the TDC 156 may receive the detection data 151 and generate time data 157 representing a digital time for each detection event for each signal of the detection data 151. For example, in response to receiving a detection event for a signal of the detection data 151, the TDC 156 may sample system time and generate time data 157 for the signal based on the sampled system time. As described herein, for example, the detection data 151 may represent events detected for one or more signals (e.g., one or more detection channels). In response to each received event, the TDC 156 may generate time data 157 for the event. The TDC 156 may transmit the time data 157 to the machine learning-based pulse determination engine 154.

[0044] The machine learning-based pulse determination engine 154 can receive the time data 157 and, based on the time data 157, determine the time of each pulse detected on the corresponding signal in the detection data 151. For example, the machine learning-based pulse determination engine 154 can generate a first time for a first pulse (an earlier pulse) based on the time data 157 and can generate a second time for a second pulse (a later pulse) based on the first time and a corresponding time offset value (e.g., peak position data 154B). In examples where the time offset value represents a difference in the number of samples, the machine learning-based pulse determination engine 154 can scale the time offset value to system time (e.g., to the same units as the system time) and add the scaled offset value to the first time to generate the second time. In addition to characterizing the energy value of one or more detected pulses, the machine learning-based pulse determination engine 154 can generate pulse data 155 to characterize the corresponding time (e.g., a timestamp) of each pulse on each signal. For example, the pulse data 155 can include pulse-time pairs, where each pulse-time pair characterizes a detected pulse and a corresponding time associated with the detected pulse. The machine learning based pulse determination engine 154 may transmit the pulse data 155 to the measurement data output engine 158 .

[0045] The measurement data output engine 158 may receive the pulse data 155 from the machine learning-based pulse determination engine 154. Based on the pulse data 155, the measurement data output engine 158 may generate PET measurement data 111. The PET measurement data 111 identifies detected crystal pulses (e.g., temporally coincident data pairs) and corresponding times (e.g., time offsets between detection events). For example, the measurement data output engine 158 may perform processing to generate temporally coincident pairs based on the times and pulses identified by the pulse data 155, and may generate the PET measurement data 111 to include the determined temporally coincident pairs.

[0046] In addition, and as illustrated, the image reconstruction system 104 can receive PET measurement data 111 from the image scanning system 102. The image reconstruction system 104 can perform operations to reconstruct an image based on the PET measurement data 111 and can generate a final image volume 191 representing the reconstructed image. For example, the image reconstruction system 104 can apply one or more trained machine learning processes to the PET measurement data 111 and, based on applying the one or more trained machine learning processes, can generate the final image volume 191. In some examples, the image reconstruction system 104 receives an attenuation map 105 from the image scanning system 102. The image reconstruction system 104 can perform operations based on the attenuation map 105 to, for example, correct the PET measurement data 111 for attenuation. For example, the image reconstruction system 104 can apply one or more attenuation correction processes to the output of the trained machine learning process and the attenuation map 105 and, based on applying the one or more attenuation correction processes, can generate the final image volume 191.

[0047] The image reconstruction system 104 may transmit a final image volume 191 representing the reconstructed image. For example, the image reconstruction system 104 may transmit the final image volume 191 for display and / or may store the final image volume in a data repository.

[0048] Figure 1B 1 illustrates an exemplary portion of the image scanning system 102, including an example of an ADC engine 152 and a machine learning-based pulse determination engine 154 (an executed and trained machine learning model 170 and a memory 162). The memory 162 can store model parameters 164 (e.g., hyperparameters, weights, etc.) representing the trained machine learning model 170. The machine learning-based pulse determination engine 154 can establish the trained machine learning model 170 based on the model parameters 164. For example, the machine learning-based pulse determination engine 154 can obtain the model parameters 164 from the memory 162 and can execute the trained machine learning model 170 based on the model parameters 164.

[0049] As illustrated, the detection data 151 may include three signals, including a first-dimensional position signal 151A, a second-dimensional position signal 151B, and an energy signal 151C. The first-dimensional position signal 151A may characterize the first dimension (e.g., X-axis position) of the position of the crystal at the detection event, while the second-dimensional position signal 151B may characterize the second dimension (e.g., Y-axis position) of the position of the crystal at the detection event. Additionally, the energy signal 151C may characterize the energy (e.g., energy level) of the detected event. The ADC engine 152 may sample each of the first-dimensional position signal 151A, the second-dimensional position signal 151B, and the energy signal 151C at a specific rate (e.g., every 20 nanoseconds) and may generate first-dimensional ADC data 153A, second-dimensional ADC data 153B, and energy ADC data 153C, respectively.

[0050] The machine learning-based pulse determination engine 154 can input the first dimension ADC data 153A, the second dimension ADC data 153B, and the energy ADC data 153C to the executed and trained machine learning model 170, and in response, the executed and trained machine learning model 170 can generate pulse data 155 that characterizes the detected pulse.

[0051] For example, based on applying the executed and trained machine learning model 170 to the first-dimensional position signal 151A, the executed and trained machine learning model 170 can detect whether the first-dimensional position signal 151A includes a pile-up event. For example, if no pile-up event is detected, the executed and trained machine learning model 170 can output a first pulse first-dimensional position 155A representing an energy value of a detected pulse (e.g., an event). In addition, based on the corresponding time data 157 received from the TDC 156, the executed and trained machine learning model 170 can determine an associated time of the event and can generate first time data 159A representing the determined time. As such, the first time data 159A generated by the executed and trained machine learning model 170 represents a corresponding time (e.g., a timestamp) associated with the first pulse first-dimensional position 155A.

[0052] However, if a pile-up event is detected, the executed and trained machine learning model 170 can output pulse data 155 representing the energy values ​​of the multiple detected events. For example, and assuming that the executed and trained machine learning model 170 detects two pulses, the executed and trained machine learning model 170 can generate and output a first pulse first-dimensional position 155A representing the first energy value of the first detected pulse, and can generate and output a second pulse first-dimensional position 155D representing the second energy value of the second detected pulse. Additionally, and as described herein, based on the corresponding time data 157 received from the TDC 156, the executed and trained machine learning model 170 determines a first time of the first detected pulse and can generate first time data 159A representing the first time. The executed and trained machine learning model 170 can also determine a time offset between the first detected pulse and the second detected pulse, and determine a second time of the second detected pulse based on the first time and the time offset. The executed and trained machine learning model 170 may generate second time data 159B representing a second time associated with the second pulse first-dimensional position 155D.

[0053] Similarly, based on applying the executed and trained machine learning model 170 to the second-dimensional position signal 151B, the executed and trained machine learning model 170 can detect whether the second-dimensional position signal 151B includes a pile-up event. For example, if no pile-up event is detected, the executed and trained machine learning model 170 can output a first pulse second-dimensional position 155B representing an energy value of a detected pulse (e.g., an event). In addition, as described herein, the executed and trained machine learning model 170 can determine an associated time of the event based on the corresponding time data 157 received from the TDC 156 and can generate first time data 159A representing the determined time. As such, the first time data 159A generated by the executed and trained machine learning model 170 represents a corresponding time (e.g., a timestamp) associated with the first pulse second-dimensional position 155B.

[0054] However, if a pile-up event is detected, the executed and trained machine learning model 170 can output pulse data 155 representing the energy values ​​of the multiple detected events. For example, and assuming that the executed and trained machine learning model 170 detects two pulses, the executed and trained machine learning model 170 can generate and output a first pulse second-dimensional position 155B representing the first energy value of the first detected pulse, and can generate and output a second pulse second-dimensional position 155E representing the second energy value of the second detected pulse. Additionally, and as described herein, based on the corresponding time data 157 received from the TDC 156, the executed and trained machine learning model 170 can generate first time data 159A representing the first time of the second-dimensional position signal 151B, and second time data 159B representing the second time of the second pulse second-dimensional position 155E.

[0055] In addition, and based on applying the executed and trained machine learning model 170 to the energy signal 151C, the executed and trained machine learning model 170 can detect whether the energy signal 151C includes a pile-up event. For example, if no pile-up event is detected, the executed and trained machine learning model 170 can output a first pulse energy value 155C representing the energy value of a detected pulse (e.g., an event). Furthermore, as described herein, the executed and trained machine learning model 170 can determine a time associated with the event based on the corresponding time data 157 received from the TDC 156 and can generate first time data 159A representing the determined time. As such, in this example, the first time data 159A represents a time (e.g., a timestamp) associated with the event that caused the first-dimensional position signal 151A, the second-dimensional position signal 151B, and the energy signal 151C, as well as the second time data 159B.

[0056] However, if a pile-up event is detected, the executed and trained machine learning model 170 can output pulse data 155 representing the energy values ​​of the multiple detected events. For example, and assuming that the executed and trained machine learning model 170 detects two pulses, the executed and trained machine learning model 170 can generate and output a first pulse energy value 155C representing the first energy value of the first detected pulse, and can generate and output a second pulse energy value 155F representing the second energy value of the second detected pulse. Additionally, and as described herein, based on the corresponding time data 157 received from the TDC 156, the executed and trained machine learning model 170 can generate first time data 159A representing the first time of the first pulse energy value 155C, and second time data 159B representing the second time of the second pulse energy value 155F. As such, in this example, the second time data 159B represents the time (e.g., a timestamp) associated with the generated second pulse (i.e., second pulse first-dimensional position 155D, second pulse second-dimensional position 155E, and second pulse energy value 155F).

[0057] For readability reasons only, Figure 1B While illustrated and described above with respect to decoupling two pulses on each of the three signals, in other embodiments as contemplated herein, three, four, or more pulses may be detected and decoupled from any number of received signals, such as from any one of the first-dimensional position signal 151A, the second-dimensional position signal 151B, and the energy signal 151C.

[0058] Figure 1C An example of a TDC 156 is shown. In this example, the TDC 156 receives a first-dimensional position signal 151A, a second-dimensional position signal 151B, and an energy signal 151C from, for example, the scanner 150. In response to receiving each of the first-dimensional position signal 151A, the second-dimensional position signal 151B, and the energy signal 151C, the TDC 156 generates corresponding time data 157, namely, first-dimensional time data 157A, second-dimensional time data 157B, and energy time data 157C. In some examples, to generate the first-dimensional time data 157A, the second-dimensional time data 157B, and the energy time data 157C, the TDC 156 may sample system time (e.g., system time of the image scanning system 102). The TDC 156 receives pulse data 155 (e.g., generated by the machine learning-based pulse determination engine 154).

[0059] Figure 1D1. The illustrated embodiment of the training of the machine learning model 170 is performed, which may be implemented, for example, by the machine learning-based pulse determination engine 154. As illustrated, the training engine 180 receives training data 179 from the memory 162. The training data may include synthetic signals (e.g., data values ​​representing generated signals).

[0060] For example, a composite signal can be generated based on sampling a signal from an image scanner (such as a signal of detection data 151 received from scanner 150). The signal can be sampled at a rate corresponding to the sampling rate of image scanning system 102 (e.g., 20 nanoseconds). Alternatively, a composite initial pulse can be generated based on function 1 using a predetermined digitizer sampling time (e.g., t=1 ns) and predetermined values ​​for the remaining parameters. This composite initial pulse is then sampled at the system rate (e.g., 20 nanoseconds) to generate a composite signal. The composite signal can then be phase shifted and then sampled to generate additional composite signals. For example, the composite signal can be phase shifted in increments of a predetermined amount (e.g., 1 nanosecond) and sampled at each increment to generate an additional composite signal. In addition, a stacked composite signal can be generated based on combining the generated composite signals. For example, the composite signals can be added to each other (e.g., in pairs) to generate a corresponding stacked composite signal. The training data 179 can include a stacked composite signal group and a corresponding stacked composite signal (e.g., a stacked composite signal used to generate each stacked composite signal).

[0061] Return Reference Figure 1D , training engine 180 obtains a portion of training data 179 (e.g., first set of training data 179), generates features (e.g., feature vectors) based on the obtained portion of training data 179, and inputs the generated features 181 to executed machine learning model 170. In some examples, such as during supervised learning, training engine 180 labels the stacked synthetic signals as inputs and labels the corresponding synthetic signals as expected outputs.

[0062] After initially training the executed machine learning model 170 with a portion of the training data 179, the training engine 180 can generate additional features based on another portion of the training data 179 (e.g., a second set of training data 179, which in some examples is different from the first set) and can input the additional features 181 (e.g., without labeling) to the executed machine learning model 170. In response, the training engine 180 can receive output data 183 from the executed machine learning model 170. The output data can represent a decoupled signal (e.g., a decoupled pulse).

[0063] In addition, the training engine 180 can determine whether the training is complete based on the output data 183. For example, the training engine 180 can determine one or more metric values ​​based on the output data 183 and the expected output data. The metric can be, for example, a loss function, such as a calculated precision value, a calculated recall value, a calculated AUC value, any receiver operating characteristic (ROC) curve or precision-recall (PR) curve value, or any other suitable metric. The training engine 180 can determine that the training is complete when one or more metrics meet one or more corresponding thresholds. If the training is not complete (e.g., one or more metrics do not meet their one or more corresponding thresholds), the training engine 180 continues to train the executed machine learning model 170 with the labeled synthetic signal until the calculated metrics meet their corresponding thresholds.

[0064] Once training is complete, training engine 180 reads model parameters 169 from the executed machine learning model 170 and stores the model parameters 169 in any suitable data repository, such as memory 162. As described herein, model parameters 169 can be used to configure the trained machine learning model and establish a trained machine learning process.

[0065] Figure 2 Illustrated is a computing device 200 that may be employed by either of the image scanning system 102 and the image reconstruction system 104. For example, the computing device 200 may implement one or more of the functionalities of the image scanning system 102 and / or the image reconstruction system 104 described herein.

[0066] The computing device 200 may include one or more processors 201, a working memory 202, one or more input-output devices 203, an instruction memory 207, a transceiver 204, one or more communication ports 209, and a display 206, all operatively coupled to one or more data buses 208. The data buses 208 allow communication between the various devices. The data buses 208 may include wired or wireless communication channels.

[0067] The processor 201 may include one or more different processors, each having one or more cores. Each different processor may have the same or different architectures. The processor 201 may include one or more central processing units (CPUs), one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like.

[0068] The processor 201 may be configured to perform a specific function or operation by executing code stored in the instruction memory 207, thereby embodying the function or operation. For example, the processor 201 may be configured to perform one or more of the functions, methods, or operations disclosed herein.

[0069] The instruction memory 207 may be any memory device that can store instructions that can be accessed (e.g., read) and executed by the processor 201. For example, the instruction memory 207 may be a non-transitory computer-readable storage medium, such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a removable disk, a CD-ROM, any non-volatile memory, or any other suitable memory. For example, the instruction memory 207 may store instructions that, when executed by the one or more processors 201, cause the one or more processors 201 to perform one or more of the functions of the image reconstruction system 104, such as a histogram generation process, a multi-view attenuated histogram generation process, and / or one or more of the machine learning processes described herein.

[0070] The processor 201 can store data to and read data from the working memory 202. For example, the processor 201 can store a working instruction set (such as instructions loaded from the instruction memory 207) to the working memory 202. The processor 201 can also use the working memory 202 to store dynamic data created during operation of the computing device 200. The working memory 202 can be a random access memory (RAM), such as a static random access memory (SRAM) or a dynamic random access memory (DRAM), or any other suitable memory.

[0071] Input-output devices 203 may include any suitable device that allows data to be input or output. For example, input-output devices 203 may include one or more of a keyboard, touchpad, mouse, stylus, touch screen, physical buttons, speakers, microphones, or any other suitable input or output devices.

[0072] Communication port(s) 209 may include, for example, a serial port, such as a universal asynchronous receiver / transmitter (UART) connection, a universal serial bus (USB) connection, or any other suitable communication port or connection. In some examples, communication port(s) 209 allow for programming of executable instructions in instruction memory 207. In some examples, communication port(s) 209 allow for transfer (e.g., uploading or downloading) of data, such as PET measurement data 111 and / or attenuation map 105.

[0073] Display 206 may display user interface 205. User interface 205 may enable a user to interact with computing device 200. For example, user interface 205 may be a user interface of an application that allows viewing of final image volume 191. In some examples, a user may interact with user interface 205 by engaging input-output device 203. In some examples, display 206 may be a touch screen on which user interface 205 is displayed.

[0074] The transceiver 204 allows for communication with a network, such as a Wi-Fi network, an Ethernet network, a cellular network, or any other suitable communication network. For example, if operating in a cellular network, the transceiver 204 is configured to allow for communication with the cellular network. The processor(s) 201 are operable to receive data from the network or send data to the network via the transceiver 204.

[0075] Figure 3 1 and 2. The image reconstruction system 104 includes an exemplary portion of a feature generation engine 302 and a trained neural network 320. The image reconstruction system 104 may input PET measurement data 111 to the feature generation engine 302. In response, the feature generation engine 302 may generate detection features 351 based on the PET measurement data 111. The image reconstruction system 104 inputs the detection features 351 to the trained neural network 320. Based on the input detection features 351, the trained neural network 320 generates the final image volume 191.

[0076] In some examples, the feature generation engine 302 receives the attenuation map 105 and generates map features 357 based on the attenuation map 105. The image reconstruction system 104 can input the map features 357 to the trained neural network 320, and the trained neural network 320 can generate the final image volume 191 based on the input detection features 351 and the map features 357.

[0077] although Figure 3 The image reconstruction system 104 illustrates the generation of the final image volume 191 based on a trained machine learning-based process, but in other examples, the image reconstruction system 104 can generate the final image volume 191 based on other processes (such as by applying analysis or iterative image reconstruction techniques to the PET measurement data 111 to generate the final image volume 191).

[0078] Figure 4 is a flow chart of an example method 400 for generating data representing a plurality of pulses. The method may be performed by one or more computing devices, such as computing device 200, executing corresponding instructions.

[0079] Beginning at block 402, a signal of a detected event is received. For example, as described herein, the scanner 150 of the image scanning system 102 can scan an object in its field of view and can generate detection data 151 representative of the detected event. For a given crystal detection, the detection data 151 can include an energy signal, a first position signal representative of a first-dimensional position of the detection (e.g., the X-axis position of the detected crystal), and a second position signal representative of a second-dimensional position of the detection (e.g., the Y-axis position of the detected crystal).

[0080] At block 404, the trained machine learning process is applied to the at least one signal. Additionally, at block 406, pulse data is generated based on applying the trained machine learning process to the at least one signal. The pulse data represents a plurality of pulses.

[0081] For example, as described herein, the image scanning system 102 can sample the detection data 151 to generate sampled signal data and can apply the executed and trained machine learning model 170 to the sampled signal data. In response, the executed and trained machine learning model 170 can generate pulse data 155, which includes, for example, energy values ​​of a plurality of pulses (e.g., first pulse first-dimensional position 155A, second pulse first-dimensional position 155D). The executed and trained machine learning model 170 can also generate time offset values ​​between pulses (e.g., first-dimensional time offset values ​​155J).

[0082] Additionally, and at block 408, the energy value and the time offset value are transmitted. For example, and as described herein, the energy value and the time offset value may be transmitted to the TDC 156 to establish the time of each detected event.

[0083] Figure 5 is a flow chart of an example method 500 for training a machine learning process. The method may be performed by one or more computing devices, such as computing device 200, executing corresponding instructions.

[0084] Beginning at block 502, a synthetic signal is generated based on sampling a signal from an image scanner. For example, the computing device 200 may receive detection data 151 from the scanner 150 and may sample the detection data 151 at a rate corresponding to the sampling rate of the image scanning system 102 (e.g., 20 nanoseconds). Alternatively, a synthetic initial pulse may be generated based on function 1 using a predetermined digitizer sampling time (e.g., t=1 ns) and predetermined values ​​for the remaining parameters. This synthetic initial pulse is then sampled at the system rate (e.g., 20 nanoseconds) to generate the synthetic signal.

[0085] At block 504, the composite signal is phase shifted. For example, the composite signal may be phase shifted by a predetermined amount (e.g., 1 nanosecond). Once phase shifted, at block 506, an additional composite signal is generated based on sampling the phase-shifted composite signal. At block 508, a determination is made as to whether composite signal generation is complete. For example, composite signal generation may be complete when the composite signal has been sampled and phase shifted by twice its width. If composite signal generation is not complete, the method returns to block 504 to continue composite signal generation. Otherwise, if composite signal generation is complete, the method proceeds to block 510.

[0086] At block 510, a stacked composite signal is generated based on combining the generated composite signals. For example, the composite signals generated at blocks 502 and 506 can be added to each other (e.g., in pairs) to generate corresponding stacked composite signals. At block 512, a machine learning process is trained based on inputting the stacked composite signal and the corresponding composite signal into a machine learning model. For example, during supervised learning, the computing device 200 can label the stacked composite signal as an input and the corresponding composite signal as an expected output.

[0087] Additionally, at block 514, additional piled-up composite signals (e.g., during validation) are input to the machine learning model, and in response, output data is received from the machine learning model. The output data may represent a decoupled signal (e.g., a decoupled pulse). The additional piled-up composite signals may be generated according to blocks 502 to 512.

[0088] At block 516, a determination is made as to whether training is complete. For example, the computing device 200 may determine one or more metric values ​​based on the output data and expected output data received from the machine learning model. The metric may be, for example, a loss function, such as a calculated precision value, a calculated recall value, a calculated AUC value, any ROC curve or PR curve value, or any other suitable metric. The computing device 200 may determine that training is complete when one or more metrics meet one or more corresponding thresholds. If training is not complete (e.g., one or more metrics do not meet their one or more corresponding thresholds), the method returns to block 502 to continue training the machine learning model. Otherwise, if training is complete, the method proceeds to block 518.

[0089] At block 518, the parameters of the machine learning model are stored in the data repository. For example, the parameters may be stored in memory 162 as model parameters 169. As described herein, the parameters of the machine learning model may be used to establish a trained machine learning process.

[0090] The following is a list of non-limiting illustrative embodiments disclosed herein:

[0091] Illustrative embodiment 1: A computer-implemented method comprising:

[0092] receiving at least one signal indicative of a detection event;

[0093] generating sampled signal data based on sampling the at least one signal;

[0094] applying the trained machine learning process to the sampled signal data and generating pulse data characterizing the plurality of pulses based on the application of the trained machine learning process; and

[0095] Pulse data representative of the plurality of pulses is transmitted.

[0096] Illustrative embodiment 2: The computer-implemented method of illustrative embodiment 1, wherein the pulse data comprises an energy value for each of the plurality of pulses.

[0097] Illustrative Embodiment 3: The computer-implemented method of Illustrative Embodiment 2, wherein the pulse data includes a time offset value characterizing a time offset between the plurality of pulses.

[0098] Illustrative embodiment 4: The computer-implemented method of illustrative embodiment 3, further comprising:

[0099] generating a first time for a first pulse of the plurality of pulses based on sampling a system time; and

[0100] A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset.

[0101] Illustrative Embodiment 5: The computer-implemented method of any of Illustrative Embodiments 3-4, further comprising generating image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.

[0102] Illustrative Embodiment 6: The computer-implemented method of Illustrative Embodiment 5, wherein the image measurement data is positron emission tomography (PET) measurement data.

[0103] Illustrative Embodiment 7: The computer-implemented method of any one of Illustrative Embodiments 1-6, wherein applying the trained machine learning process to the sampled signal data comprises:

[0104] Read model parameters from a memory device;

[0105] Execute the machine learning model based on the model parameters; and

[0106] The sampled signal data is input to the executed machine learning model.

[0107] Illustrative embodiment 8: The computer-implemented method of illustrative embodiment 7, further comprising:

[0108] generating a synthetic signal;

[0109] Training machine learning models based on synthetic signals;

[0110] Read model parameters from a trained machine learning model; and

[0111] The model parameters are stored in a memory device.

[0112] Illustrative embodiment 9: The computer-implemented method of illustrative embodiment 8, wherein the machine learning model is a random forest model.

[0113] Illustrative Embodiment 10: The computer-implemented method of any one of Illustrative Embodiments 1-9, wherein the plurality of pulses consists of two pulses.

[0114] Illustrative Embodiment 11: The computer-implemented method of any one of Illustrative Embodiments 10, further comprising receiving the at least one signal from a scanner of an image scanning system.

[0115] Illustrative Embodiment 12: The computer-implemented method of any of Illustrative Embodiments 1-11, wherein the at least one signal comprises a first signal indicative of an energy level of a detection event.

[0116] Illustrative Embodiment 13: The computer implemented method of Illustrative Embodiment 12, wherein the at least one signal comprises a second signal indicative of a first dimensional position of the crystal where the detection event was detected.

[0117] Illustrative Embodiment 14: The computer implemented method of Illustrative Embodiment 13, wherein the at least one signal comprises a third signal indicative of a second dimensional position of the crystal where the detection event was detected.

[0118] Illustrative Embodiment 15: A non-transitory computer readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:

[0119] receiving at least one signal indicative of a detection event;

[0120] generating sampled signal data based on sampling the at least one signal;

[0121] applying the trained machine learning process to the sampled signal data and generating pulse data characterizing the plurality of pulses based on the application of the trained machine learning process; and

[0122] Pulse data representative of the plurality of pulses is transmitted.

[0123] Illustrative Embodiment 16: The non-transitory computer readable medium of Illustrative Embodiment 15, wherein the pulse data comprises an energy value for each of the plurality of pulses.

[0124] Illustrative Embodiment 17: The non-transitory computer readable medium of Illustrative Embodiment 16, wherein the pulse data comprises a time offset value characterizing a time offset between the plurality of pulses.

[0125] Illustrative embodiment 18: The non-transitory computer-readable medium of illustrative embodiment 17, wherein the pulse data comprises an energy value for each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising:

[0126] generating a first time for a first pulse of the plurality of pulses based on sampling a system time; and

[0127] A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset.

[0128] Illustrative embodiment 19: The non-transitory computer-readable medium of any one of illustrative embodiments 17-18, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising: generating image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.

[0129] Illustrative embodiment 20: The non-transitory computer readable medium of illustrative embodiment 19, wherein the image measurement data is positron emission tomography (PET) measurement data.

[0130] Illustrative Embodiment 21: The non-transitory computer readable medium of any one of Illustrative Embodiments 15-20, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising:

[0131] Read model parameters from a memory device;

[0132] Execute the machine learning model based on the model parameters; and

[0133] The sampled signal data is input to the executed machine learning model.

[0134] Illustrative embodiment 22: The non-transitory computer readable medium of illustrative embodiment 21, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising:

[0135] generating a synthetic signal;

[0136] Training machine learning models based on synthetic signals;

[0137] Read model parameters from a trained machine learning model; and

[0138] The model parameters are stored in a memory device.

[0139] Illustrative Embodiment 23: The non-transitory computer-readable medium of Illustrative Embodiment 22, wherein the machine learning model is a random forest model.

[0140] Illustrative Embodiment 24: The non-transitory computer readable medium of any one of Illustrative Embodiments 15-23, wherein the plurality of pulses consists of two pulses.

[0141] Illustrative embodiment 25: The non-transitory computer readable medium of any one of illustrative embodiments 24, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising: receiving the at least one signal from a scanner of an image scanning system.

[0142] Illustrative Embodiment 26: The non-transitory computer readable medium of any of Illustrative Embodiments 15-25, wherein the at least one signal comprises a first signal indicative of an energy level of a detection event.

[0143] Illustrative Embodiment 27: The non-transitory computer readable medium of Illustrative Embodiment 26, wherein the at least one signal comprises a second signal indicative of a first-dimensional position of the crystal where the detection event was detected.

[0144] Illustrative Embodiment 28: The non-transitory computer readable medium of Illustrative Embodiment 27, wherein the at least one signal comprises a third signal indicative of a second-dimensional position of the crystal where the detection event was detected.

[0145] Illustrative Embodiment 29: A system comprising:

[0146] a memory device for storing instructions;

[0147] transceiver; and

[0148] at least one processor communicatively coupled to the transceiver and the memory device, the at least one processor configured to execute the instructions to:

[0149] receiving, via the transceiver, at least one signal indicative of a detection event;

[0150] applying a peak detection process to the at least one signal and detecting a location of each of at least two peaks of the at least one signal based on the application of the peak detection process;

[0151] determining an amplitude of each of at least two peaks of the at least one signal;

[0152] applying a curve fitting process to the location and magnitude of each of the at least two peaks, and determining an energy value for each of the at least two peaks based on the application of the curve fitting process; and

[0153] The energy value of each of the at least two peaks is transmitted via a transceiver.

[0154] Illustrative Embodiment 30: The system of Illustrative Embodiment 29, wherein the pulse data comprises an energy value for each of the plurality of pulses.

[0155] Illustrative Embodiment 31: The system of Illustrative Embodiment 30, wherein the pulse data includes a time offset value characterizing a time offset between the plurality of pulses.

[0156] Illustrative Embodiment 32: The system of Illustrative Embodiment 31, wherein the at least one processor is configured to execute instructions to:

[0157] generating a first time for a first pulse of the plurality of pulses based on sampling a system time; and

[0158] A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset.

[0159] Illustrative Embodiment 33: The system of any of Illustrative Embodiments 31-32, wherein the at least one processor is configured to execute instructions to generate image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.

[0160] Illustrative Embodiment 34: The system of Illustrative Embodiment 33, wherein the image measurement data is positron emission tomography (PET) measurement data.

[0161] Illustrative Embodiment 35: The system of any of Illustrative Embodiments 29-33, wherein the at least one processor is configured to execute instructions to:

[0162] Reading model parameters from a memory device;

[0163] Execute the machine learning model based on the model parameters; and

[0164] The sampled signal data is input to the executed machine learning model.

[0165] Illustrative Embodiment 36: The system of Illustrative Embodiment 35, wherein the at least one processor is configured to execute instructions to:

[0166] generating a synthetic signal;

[0167] Training machine learning models based on synthetic signals;

[0168] Read model parameters from a trained machine learning model; and

[0169] The model parameters are stored in a memory device.

[0170] Illustrative Embodiment 37: The system of Illustrative Embodiment 36, wherein the machine learning model is a random forest model.

[0171] Illustrative Embodiment 38: The system of any of Illustrative Embodiments 29-37, wherein the plurality of pulses consists of two pulses.

[0172] Illustrative Embodiment 39: The system of any of Illustrative Embodiments 38, wherein the at least one processor is configured to execute instructions to receive the at least one signal from a scanner of an image scanning system.

[0173] Illustrative Embodiment 40: The system of any one of Illustrative Embodiments 29-39, wherein the at least one signal comprises a first signal indicative of an energy level of a detection event.

[0174] Illustrative Embodiment 41 The system of Illustrative Embodiment 40, wherein the at least one signal comprises a second signal indicative of a first-dimensional position of the crystal where the detection event was detected.

[0175] Illustrative Embodiment 42: The system of Illustrative Embodiment 41, wherein the at least one signal comprises a third signal indicative of a second-dimensional position of the crystal where the detection event was detected.

[0176] The apparatus and processes are not limited to the specific embodiments described herein. In addition, components of each apparatus and each process can be practiced independently and separately from other components and processes described herein.

[0177] The previous description of the embodiments is provided to enable any person skilled in the art to practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without resorting to inventive concept. The present disclosure is not intended to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A computer-implemented method comprising: receiving at least one signal indicative of a detection event; generating sampled signal data based on sampling the at least one signal; applying the trained machine learning process to the sampled signal data, and generating pulse data characterizing the plurality of pulses based on the application of the trained machine learning process; and Pulse data representative of the plurality of pulses is transmitted. 2 . The computer-implemented method of claim 1 , wherein the pulse data comprises an energy value for each of the plurality of pulses.

3. The computer-implemented method of claim 2, wherein the pulse data includes a time offset value characterizing a time offset between the plurality of pulses.

4. The computer-implemented method of claim 3 , further comprising: generating a first time of a first pulse of the plurality of pulses based on sampling a system time; and A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset. 5 . The computer-implemented method of claim 3 , further comprising generating image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.

6. The computer-implemented method of claim 5, wherein the image measurement data is positron emission tomography (PET) measurement data.

7. The computer-implemented method of claim 1 , wherein applying the trained machine learning process to the sampled signal data comprises: Read model parameters from a memory device; Execute the machine learning model based on the model parameters; and The sampled signal data is input to the executed machine learning model.

8. The computer-implemented method of claim 7, further comprising: generating a synthetic signal; Training machine learning models based on synthetic signals; Read model parameters from a trained machine learning model; and The model parameters are stored in a memory device.

9. The computer-implemented method of claim 8, wherein the machine learning model is a random forest model.

10. The computer-implemented method of claim 1, wherein the plurality of pulses consists of two pulses.

11. The computer-implemented method of claim 1 , further comprising receiving the at least one signal from a scanner of an image scanning system.

12. The computer-implemented method of claim 1, wherein the at least one signal comprises a first signal indicative of an energy level of a detection event.

13. The computer-implemented method of claim 12, wherein the at least one signal comprises a second signal indicative of a first-dimensional position of the crystal at which the detection event was detected.

14. The computer-implemented method of claim 13, wherein the at least one signal comprises a third signal indicative of a second-dimensional position of the crystal at which the detection event was detected.

15. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: receiving at least one signal indicative of a detection event; generating sampled signal data based on sampling the at least one signal; applying the trained machine learning process to the sampled signal data, and generating pulse data characterizing the plurality of pulses based on the application of the trained machine learning process; and Pulse data representative of the plurality of pulses is transmitted.

16. The non-transitory computer-readable medium of claim 15 , wherein the pulse data comprises an energy value for each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising: generating a first time for a first pulse of the plurality of pulses based on sampling a system time; and A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset.

17. The non-transitory computer-readable medium of claim 16, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform operations comprising: generating image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.

18. A system comprising: a memory device for storing instructions; transceiver; and at least one processor communicatively coupled to the transceiver and the memory device, the at least one processor configured to execute the instructions to: receiving, via the transceiver, at least one signal indicative of a detection event; generating sampled signal data based on sampling the at least one signal; applying the trained machine learning process to the at least one signal and generating pulse data characterizing a plurality of pulses based on the application of the trained machine learning process; as well as Pulse data representative of the plurality of pulses is transmitted.

19. The system of claim 18, wherein the pulse data comprises an energy value for each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses, and wherein the at least one processor is configured to execute the instructions to: generating a first time for a first pulse of the plurality of pulses based on sampling a system time; and A second time is generated for a second pulse in the plurality of pulses based on the first time and the time offset.

20. The system of claim 19, wherein the at least one processor is configured to execute instructions to generate image measurement data based on an energy value of each of the plurality of pulses and a time offset value characterizing a time offset between the plurality of pulses.