Photon counting data processing method, device and system for spectral measurements

By separating the data writing and reading processes in the photon counting data processing device for spectral measurement, the accuracy of the read data and its timely upload are ensured. This solves the problems of time correlation and host computer waiting time in the measurement of extremely weak light signals, and realizes efficient data sampling and dynamic display, adapting to the test requirements of different integration times.

CN116558639BActive Publication Date: 2025-11-18ZOLIX INSTRUMENTS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310532438.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-11
Publication Date
2025-11-18
Estimated Expiration
2043-05-11

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately acquire and process time-related data when measuring extremely weak light signals, especially single-photon signals, leading to a poor user experience, particularly with long integration times and prolonged waiting times without feedback from the host computer.

Method used

By separating the data writing and reading processes in the photon counting data processing device for spectral measurements, and only determining whether the current channel number is less than or equal to the number of channels during reading, the read data is ensured to be the updated cumulative sampling data, and is adaptively uploaded to the host computer, reducing unnecessary data transmission and achieving dynamic display.

Benefits of technology

It reduces testing time for short integration times, solves the problem of long waiting time for the host computer under long integration times, adapts to data sampling under different integration times, supports transient and steady-state testing, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116558639B_ABST
    Figure CN116558639B_ABST
Patent Text Reader

Abstract

The application discloses a photon counting data processing method, device and system for spectral measurement, and the method comprises the following steps: when reading cumulative sampling data of multiple channels, determining whether the reading times are greater than the writing times of the sampling data written by the multiple channels, wherein the cumulative sampling data is the cumulative value of all sampling data of the corresponding channel; if not, reading the cumulative sampling data of the multiple channels in sequence, wherein when reading the cumulative sampling data of each channel, determining whether the reading channel number of the current channel is less than or equal to the number of the channels, if yes, reading the sampling data of the current channel; and transmitting the read cumulative sampling data of the multiple channels to an upper computer. The application reduces the test time of small integration time sampling, solves the problems of long waiting time of the upper computer and long time without feedback under long integration time, and is suitable for data sampling of small integration time and long integration time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of photon counting technology, and in particular to a photon counting data processing method, apparatus and system for spectral measurement. Background Technology

[0002] This section is intended to provide background or context for the embodiments of this application set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.

[0003] Currently, some substances emit extremely weak light signals when exposed to light, with light intensity as low as 10. -14 Below W, the signal exists in single-photon form, which is difficult to measure with conventional detection circuits. The intensity of the light signal can only be recorded by counting single-photon pulses (i.e., a photon counter). Photon counters can be used for transient lifetime measurement as well as for quantitative and qualitative analysis and steady-state detection in many fields such as biology, pharmaceuticals, and the environment, achieving steady-state measurements (i.e., single measurements that are independent of time and related to spectral position).

[0004] In transient lifetime tests such as fluorescence and phosphorescence, the fluorescence and phosphorescence signals emitted after material excitation exhibit a decay trend over time. This decay curve is acquired and recorded using photon counting for material identification and analysis. To acquire and calculate accurate lifetime curves, the lifetime period is divided into several time segments (called channels) for photon data acquisition. Several key points are involved: First, time correlation is crucial, requiring accurate recording of the light signal intensity changing over time, necessitating no time interval between data acquisitions (i.e., between two channels). Second, data processing is critical. Due to the weak signal, tens of thousands of material excitations may be required, generating tens of thousands of lifetime curves. Therefore, real-time accumulation, noise reduction, and data processing of these tens of thousands of data points are necessary to distinguish the complete signal. Some materials emit fluorescence and phosphorescence with short lifetimes, requiring data acquisition and storage at the nanosecond (ns) level (nanosecond-level channels); others emit fluorescence and phosphorescence with longer lifetimes, requiring data acquisition and storage at the second (s) level (second-level channels).

[0005] Therefore, the measurement must ensure time correlation, with no time interval between the two channels, and the channel positions opened for each excitation material must be consistent and not misaligned. Data processing can be performed in real-time with the corresponding channel numbers from previous measurements during each lifetime curve measurement.

[0006] With short integration times (e.g., 20ns), the acquisition time is fast, and the data generation rate is high and the data volume is large within the total lifetime measurement time. The data transmission time is much longer than the acquisition time. Therefore, it's unnecessary to upload all intermediate process data to the host computer, thus avoiding excessive memory consumption. Instead, a portion of the data is uploaded adaptively based on the acquisition and transmission rates, eliminating redundant data transmission time and ensuring the total lifetime measurement time is close to the theoretical time. In this case, since the total lifetime measurement time is short, transmitting the final acquisition results (e.g., 10,000 channels of data) after acquisition is complete is acceptable. However, with long integration times (e.g., 1 second), 10,000 data points, and 10,000 channels, the total lifetime measurement time would be 100,000,000 seconds. If the final acquisition results are transmitted after acquisition is complete, the host computer software would remain in a waiting state with no display, resulting in a very poor user experience.

[0007] Currently, there are generally two solutions. One is to directly upload each collected data to a host computer for data processing. When accumulating tests by exciting samples multiple times, the host computer issues multiple acquisition commands. With this method, at a small integration time, if the number of channels and acquisitions reaches 10,000, the amount of data uploaded is extremely large. Compared to the acquisition rate at a small integration time, the data upload speed and the host computer issuing acquisition commands are relatively slow. Thus, the time for uploading data plus issuing acquisition commands is much longer than the data acquisition time, adding extra time to the overall test. The other approach is to have the data acquisition and processing performed by a lower-level computer. When acquiring and processing data multiple times, the time spent frequently issuing acquisition commands from the host computer is reduced. Only the data from the last acquisition and processing is uploaded, reducing the number of uploaded data items and thus reducing the data upload time, making the overall test time closer to the theoretical data acquisition time. With a large integration time, in multi-channel, multi-measurement scenarios, the total lifetime measurement time is long and the data volume is large. If the above measurement and lifetime data processing are completed on the lower-level computer, the acquisition time can reach several hours. During this process, failing to upload intermediate measurement data can mislead testers into believing that the host computer is frozen, leaving them unaware of the measurement progress and status, and unable to confirm whether it is currently in normal working order, resulting in a very poor user experience. Summary of the Invention

[0008] One objective of this application is to provide a photon counting data processing method for spectral measurements, reducing the testing time for small integration time sampling and solving the problems of long waiting time and lack of feedback for the host computer under long integration time, thus adapting to data sampling with both small and long integration times. Another objective of this application is to provide a photon counting data processing device for spectral measurements. A further objective of this application is to provide a photon counting data processing system for spectral measurements. A further objective of this application is to provide a computer device. A further objective of this application is to provide a readable medium.

[0009] To achieve the above objectives, this application discloses a photon counting data processing method for spectral measurements, comprising:

[0010] When reading the cumulative sampled data from multiple channels, it is determined whether the number of reads is greater than the number of writes of the sampled data from the multiple channels. The cumulative sampled data is the cumulative value of all sampled data from the corresponding channel.

[0011] If not, read the cumulative sampling data of multiple channels in sequence. When reading the cumulative sampling data of each channel, determine whether the reading channel number of the current channel is less than or equal to the number of channels. If so, read the sampling data of the current channel.

[0012] The cumulative sampled data from multiple channels is transmitted to the host computer.

[0013] Optionally, it further includes the step of sequentially writing cumulative sampled data to multiple channels while reading the cumulative sampled data of multiple channels.

[0014] Optionally, writing the cumulative sampling data sequentially to multiple channels specifically includes:

[0015] The sampling data writing step involves sequentially using multiple channels as target writing channels, and the sampling data writing step includes:

[0016] The cumulative sampled data is read from the corresponding storage area according to the target write channel;

[0017] Updated sampling data is obtained by overlaying the sampled data onto the cumulative sampled data.

[0018] The updated sampled data is written as the cumulative sampled data to the storage area corresponding to the target write channel.

[0019] Optionally, when reading the cumulative sampled data of each channel, determining whether the channel number of the current channel being read is less than or equal to the number of channels, if so, specifically includes:

[0020] Use the first channel as the target reading channel;

[0021] Perform a channel number reading step on the target reading channel. The channel number reading step includes: determining whether the channel number of the target reading channel is less than or equal to the number of channels. If so, read the cumulative sampled data in the target reading channel.

[0022] Repeat the channel number reading step with the next channel as the target reading channel until the cumulative sampled data of all channels has been read.

[0023] Optionally, it may further include:

[0024] After sampling is completed, all sampled data is uploaded to the host computer.

[0025] Optionally, it further includes reading the cumulative sampled data from multiple channels sequentially before:

[0026] Determine the number of writes to the cumulative sampled data;

[0027] If the number of reads of the cumulative sampled data of the read channel exceeds the number of writes, stop reading the cumulative sampled data of multiple channels sequentially.

[0028] This application also discloses a photon counting data processing device for spectral measurements, comprising:

[0029] The read determination module is used to determine whether the number of reads is greater than the number of writes of the sampled data for the multiple channels when reading the cumulative sampled data of multiple channels. The cumulative sampled data is the cumulative value of all sampled data of the corresponding channel.

[0030] The data reading module is used to sequentially read the cumulative sampled data of multiple channels, wherein when reading the cumulative sampled data of each channel, it determines whether the reading channel number of the current channel is less than or equal to the number of channels; if so, it reads the sampled data of the current channel.

[0031] The data transmission module is used to transmit the cumulative sampled data from multiple channels to the host computer.

[0032] This application also discloses a photon counting data processing system for spectral measurement, including a photon counting data processing device, a photon counter, and a host computer as described above.

[0033] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described method.

[0034] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0035] The photon counting data processing method for spectral measurements in this application, when reading the cumulative sampling data of multiple channels, determines whether the number of reads is greater than the number of writes for the multiple channels, where the cumulative sampling data is the cumulative value of all sampling data for the corresponding channel; if not, it sequentially reads the cumulative sampling data of multiple channels. Specifically, when reading the cumulative sampling data of each channel, it determines whether the reading channel number of the current channel is less than or equal to the number of channels; if so, it reads the sampling data of the current channel; and then transmits the read cumulative sampling data of multiple channels to the host computer. Thus, this application separates the data writing and data reading of sampling data for each channel. During data reading, it determines whether the current read count is less than the current write count. If the reading channel number of the current channel is less than or equal to the number of channels, it indicates that the read cumulative sampling data of the current channel is the cumulative sampling data updated during the writing process, ensuring the accuracy of the cumulative sampling data uploaded after reading. The photon counting data processing method for spectral measurements in this application completes the processing of sampled data within the photon counting data processing device for spectral measurements. This eliminates the need to upload each sampled data point and wait for instructions from the host computer before acquiring the next sampled data, thus reducing testing time for small integration time sampling. In scenarios with long integration times, the writing and reading processes for sampled data are separated. While ensuring the accuracy of reading the cumulative sampled data from multiple channels each time, a portion of the cumulative sampled data is adaptively uploaded to the host computer. This allows the host computer to update the lifetime curve based on the cumulative sampled data, and the host computer interface remains dynamically displayed, solving the problem of long waiting times and lack of feedback for long integration times. This application is well-suited for data sampling with both small and long integration times, supporting both transient and steady-state testing of materials. Attached Figure Description

[0036] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0037] Figure 1 This is a structural diagram of a specific embodiment of the photon counting data processing system for spectral measurement according to this application;

[0038] Figure 2 This is a flowchart of a specific embodiment of the photon counting data processing method for spectral measurement in this application;

[0039] Figure 3 This is a flowchart of a specific embodiment S400 of the photon counting data processing method for spectral measurement in this application;

[0040] Figure 4 This is a flowchart of a specific embodiment S200 of the photon counting data processing method for spectral measurement in this application;

[0041] Figure 5 A flowchart of S500 is provided for a specific embodiment of the photon counting data processing method for spectral measurement in this application.

[0042] Figure 6 This is a flowchart of a specific embodiment S000 of the photon counting data processing method for spectral measurement in this application;

[0043] Figure 7 This is a structural diagram of a specific embodiment of the photon counting data processing device for spectral measurement according to this application;

[0044] Figure 8 A schematic diagram of a computer device suitable for implementing embodiments of the present invention is shown. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit this application.

[0046] Figure 1 This is a schematic diagram of the structure of the photon counting data processing system for spectral measurement provided in the embodiments of this application, as shown below. Figure 1 As shown, the photon counting data processing system for spectral measurement provided in this application embodiment includes a photon counting data processing device 1 for spectral measurement, a photon counter 2, and a host computer 3.

[0047] The photon counting data processing device 1 is used to determine whether the number of reads is greater than the number of writes of the sampled data for the multiple channels when reading the cumulative sampled data of multiple channels. The cumulative sampled data is the cumulative value of all sampled data obtained by the photon counter 2 for the corresponding channel. If not, the cumulative sampled data of multiple channels is read sequentially. When reading the cumulative sampled data of each channel, it is determined whether the reading channel number of the current channel is less than or equal to the number of channels. If so, the sampled data of the current channel is read. The cumulative sampled data of the multiple channels is then transmitted to the host computer 3.

[0048] The following uses the photon counting data processing device 1 for spectral measurement as an example to illustrate the implementation process of the photon counting data processing method for spectral measurement provided in this application embodiment. It is understood that the execution entity of the photon counting data processing method for spectral measurement provided in this application embodiment includes, but is not limited to, the photon counting data processing device 1 for spectral measurement.

[0049] According to one aspect of this application, this embodiment discloses a method for processing photon counting data from spectral measurements. For example... Figure 2 As shown, in this embodiment, the method includes:

[0050] S100: When reading the cumulative sampled data of multiple channels, determine whether the number of reads is greater than the number of writes of the sampled data of the multiple channels, wherein the cumulative sampled data is the cumulative value of all sampled data of the corresponding channel.

[0051] S200: If not, read the cumulative sampling data of multiple channels in sequence. When reading the cumulative sampling data of each channel, determine whether the reading channel number of the current channel is less than or equal to the number of channels. If so, read the sampling data of the current channel.

[0052] Understandably, if the channel number of the current channel being read is less than or equal to the number of channels, it means that the cumulative sampling data of all channels has not yet been read. When the channel number of the current channel being read is greater than the number of channels, it means that the cumulative sampling data of all channels has been read, and the channel number being read can be reset to the channel number of the first channel, starting from the first channel again to start the process of reading the cumulative sampling data of all channels at once.

[0053] S300: Transmits the cumulative sampled data from multiple channels to the host computer.

[0054] This application separates the writing and reading of sampling data for each channel. During data reading, it determines whether the current reading count is less than the writing count. If the reading count is less than or equal to the writing count, it indicates that the cumulative sampling data read from the current channel is the cumulative sampling data updated during the writing process, ensuring the accuracy of the uploaded cumulative sampling data after reading. The processing of sampling data in the photon counting data processing method of this application is completed within the photon counting data processing device for spectral measurement. This eliminates the need to upload each sampling data and wait for instructions from the host computer before acquiring the next sampling data, reducing the testing time for small integration time sampling. In long integration time scenarios, the writing and reading processes of sampling data are separated. While ensuring the accuracy of reading the cumulative sampling data from multiple channels each time, a portion of the cumulative sampling data is adaptively uploaded to the host computer. This allows the host computer to update the lifetime curve based on the cumulative sampling data, and the host computer interface remains dynamically displayed, solving the problem of long waiting times and lack of feedback for long integration times. This application is well-suited for data sampling with both small and long integration times, supporting transient and steady-state testing of materials.

[0055] Specifically, to ensure the correspondence of data for each channel and prevent misalignment, this application sets up multiple adjacent storage areas in the data storage register (RAM), and assigns these storage areas to the corresponding channel numbers sequentially based on their adjacency. For example, in a specific example, the RAM has n adjacent storage areas, which represent channels numbered 1, 2, ..., n. After acquiring the sampled data, the accumulated value of the sampled data for each channel is used as the accumulated sampled data. A lifetime curve is then formed based on the accumulated sampled data from multiple channels.

[0056] In an optional implementation, the further step includes step S400 of sequentially writing cumulative sampled data to multiple channels while reading the cumulative sampled data of multiple channels.

[0057] In alternative implementations, such as Figure 3 As shown, the step S400 sequentially writes accumulated sampling data to multiple channels, specifically including:

[0058] S410: Multiple channels are sequentially used as target write channels to perform the sampling data writing step, which includes:

[0059] S411: Read the stored cumulative sampling data from the corresponding storage area according to the target write channel.

[0060] S412: The sampled data is superimposed on the accumulated sampled data to obtain updated sampled data.

[0061] S413: Write the updated sampling data as the cumulative sampling data into the storage area corresponding to the target write channel.

[0062] Specifically, it is understandable that when writing sampled data, the stored cumulative sampled data can be read from the target write channel to be written, the acquired sampled data can be superimposed to obtain the updated cumulative sampled data, and then written back to the storage area of ​​the target write channel.

[0063] In this process, during the initial write operation, the accumulated sampled data stored in the corresponding channels is read sequentially from channel number 1 to n according to the channel numbers. Newer accumulated sampled data is then added to this newer data and written to the corresponding channel. For example, in a specific case, after retrieving accumulated sampled data A from channel number 1, sampled data B is added to accumulated sampled data A to obtain updated accumulated sampled data C. This updated accumulated sampled data C is then written back to the storage area of ​​the corresponding channel number 1. This application places the sampled data processing within the photon counting data processing device, reducing the need to upload sampled data each time and then receive a sampling command to retrieve the sampled data again, thus adapting to rapid data sampling with small integration times.

[0064] In alternative implementations, such as Figure 4 As shown, when S200 reads the cumulative sampled data of each channel, it determines whether the channel number of the current channel being read is less than or equal to the number of channels. If so, reading the sampled data of the current channel specifically includes:

[0065] S210: Use the first channel as the target read channel.

[0066] S220: Perform a channel number reading step on the target reading channel. The channel number reading step includes: determining whether the channel number of the target reading channel is less than or equal to the number of channels. If so, read the cumulative sampled data in the target reading channel.

[0067] S230: Repeat the channel number reading step with the next channel as the target reading channel until the cumulative sampled data of all channels has been read.

[0068] When reading cumulative sampled data, each data read requires reading the cumulative sampled data from all channels at once, uploading the current cumulative sampled data from multiple channels to the host computer so that the host computer can display the cumulative sampled data during the sampling process. After sampling is completed, the final cumulative sampled data from each channel is then uploaded to the host computer. For example, in a specific example, the cumulative sampled data from each channel from channel 1 to channel n is read sequentially, and then the cumulative sampled data from all n channels is uploaded to the host computer. The next time the data is read, the cumulative sampled data from each channel from channel 1 to channel n is read sequentially again, and then the cumulative sampled data from all n channels is uploaded to the host computer. Therefore, when writing data, it is not necessary to consider whether the cumulative sampled data has already been read and uploaded to the host computer; it is only necessary to ensure that the channel number currently reading the cumulative sampled data is less than or equal to the set number of channels. This ensures that the data reading process does not cause data corruption or misreading of outdated cumulative sampled data after the data writing process.

[0069] In alternative implementations, such as Figure 5 As shown, the method further includes:

[0070] S500: After sampling is completed, all sampled data is uploaded to the host computer.

[0071] Specifically, it's understandable that after sampling, all sampled data needs to be uploaded to the host computer. Therefore, during short integration times, the time for reading and uploading cumulative sampled data exceeds the sampling time. Consequently, not all sampled data acquired during the sampling process may be uploaded to the host computer. Thus, after sampling, all sampled data needs to be uploaded to the host computer so that the sampled data not uploaded during the sampling process, along with the cumulative sampled data, can be uploaded for further data processing to refine the final lifetime curve.

[0072] Each sampling process requires setting a maximum number of samplings, which corresponds to the maximum number of writes. The sampling process ends when the number of writes reaches the maximum number of samplings.

[0073] In alternative implementations, such as Figure 6 As shown, the method further includes sequentially reading the cumulative sampled data of multiple channels, prior to S000:

[0074] S010: Determine the number of times the cumulative sampled data is written.

[0075] S020: If the number of reads of the cumulative sampled data of the read channel is greater than the number of writes, stop reading the cumulative sampled data of multiple channels in sequence.

[0076] Specifically, it's understandable that the updated cumulative sampled data only needs to be uploaded to the host computer after the sampled data is written to update the cumulative sampled data. Therefore, when the number of reads from the read channel exceeds the number of writes, it indicates that all the cumulative sampled data updated based on the sampled data has been read, and further reading of the cumulative sampled data needs to be stopped.

[0077] In this application, data acquisition and processing are handled by the device itself. Upon startup, the host computer only needs to send a single start command, and the controller automatically performs multi-channel, multiple acquisitions and data processing. A dynamic data transmission mechanism is also designed. When the data acquisition speed is high, data transmission is performed at a fixed speed for intermediate lifetime measurement data, and transmission can skip steps based on the integration time. When the data acquisition speed is slow, and the acquisition time for each channel is much longer than the data transmission time, data is uploaded channel by channel for each lifetime. The host computer software uses an iterative update method to update the lifetime curve, and the host computer interface is constantly dynamically displayed. The final uploaded data is the final data after all channels have been acquired and processed.

[0078] In transient testing, the test time is close to the theoretical acquisition time under different integration times, enabling simultaneous counting and data transmission to the host computer, with the host computer interface continuously displaying data dynamically. A mechanism for dynamic transmission is implemented by adaptively uploading partial data based on the acquisition and transmission rates, controlling the amount of uploaded data. This application achieves wide-time-domain testing, adapting to both small and large integration times. It ensures that the test time under small integration times is close to the theoretical acquisition time, while allowing the software interface to dynamically display data under large integration times. An anti-collision mechanism is incorporated to avoid read conflicts, making a single machine suitable for steady-state measurements, transient measurements with long lifespans and long integration times, and transient measurements with short lifespans and short integration times—a multi-purpose device. Specific beneficial effects are as follows: 1) Achieving ideal results under both large and small integration times in transient testing; 2) Improving the display refresh effect of the host computer; 3) The entire technical solution significantly improves the transmission efficiency and speed of sampled data, thereby improving the overall product testing experience. To conserve hardware resources and reduce costs, this design minimizes storage space by creating a small RAM area and using a single FPGA. This eliminates the need for external memory and redundant components, reducing hardware design complexity, the number of external devices, and communication and connections between multiple components, thus lowering error rates and debugging difficulty. Conventional designs require multiple RAM areas to store data across multiple lifecycles, such as a real-time acquisition storage area for all channels in a single lifecycle measurement, a data processing storage area for all channels in the current lifecycle measurement, a storage area for read data from all channels in the current lifecycle measurement, and a single lifecycle data storage area for real-time uploads, etc.

[0079] Based on the same principle, this application also discloses a photon counting data processing device for spectral measurements. For example... Figure 7 As shown, in this embodiment, the device includes a reading determination module 11, a data reading module 12, and a data transmission module 13.

[0080] The reading determination module 11 is used to determine whether the number of reads is greater than the number of writes of the sampled data of the multiple channels when reading the cumulative sampled data of multiple channels. The cumulative sampled data is the cumulative value of all sampled data of the corresponding channel.

[0081] The data reading module 12 is used to sequentially read the cumulative sampled data of multiple channels, wherein when reading the cumulative sampled data of each channel, it determines whether the reading channel number of the current channel is less than or equal to the number of channels; if so, it reads the sampled data of the current channel.

[0082] The data transmission module 13 is used to transmit the cumulative sampled data from multiple channels to the host computer.

[0083] Since the principle by which this device solves the problem is similar to the methods described above, the implementation of this device can be found in the implementation of the methods, and will not be repeated here.

[0084] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described method.

[0085] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0086] Those skilled in the art will understand that the embodiments of this application can be provided as methods, systems, or computer programs, producing the systems, apparatuses, modules, or units described in the above embodiments. Specifically, they can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer device; specifically, a computer device can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0087] In a typical example, the computer device specifically includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the method executed by the client as described above, or the method executed by the server as described above.

[0088] The following is for reference. Figure 8 It shows a schematic diagram of the structure of a computer device 600 suitable for implementing the embodiments of this application.

[0089] like Figure 8 As shown, the computer device 600 includes a central processing unit (CPU) 601, which can perform various appropriate tasks and processes based on programs stored in read-only memory (ROM) 602 or programs loaded from storage section 608 into random access memory (RAM) 603. The RAM 603 also stores various programs and data required for the operation of the system 600. The CPU 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0090] The following components are connected to I / O interface 605: an input section 606 including a keyboard, mouse, etc.; an output section 607 including a cathode ray tube (CRT), liquid crystal feedback (LCD), etc., and speakers, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to I / O interface 606 as needed. A removable medium 611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 610 as needed so that computer programs read from it can be installed in storage section 608 as needed.

[0091] In particular, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program including program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 609, and / or installed from removable medium 611.

[0092] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0093] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0094] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0095] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0096] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0097] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0098] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0099] This application can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0100] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0101] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for processing photon counting data from spectral measurements, characterized in that, include: When reading the cumulative sampled data from multiple channels, it is determined whether the number of reads is greater than the number of writes of the sampled data from the multiple channels. The cumulative sampled data is the cumulative value of all sampled data from the corresponding channel. If not, read the cumulative sampling data of multiple channels in sequence. When reading the cumulative sampling data of each channel, determine whether the reading channel number of the current channel is less than or equal to the number of channels. If so, read the sampling data of the current channel. The cumulative sampled data from multiple channels is transmitted to the host computer.

2. The photon counting data processing method for spectral measurements according to claim 1, characterized in that, The method further includes the step of sequentially writing cumulative sampled data to multiple channels while reading the cumulative sampled data from multiple channels.

3. The photon counting data processing method for spectral measurements according to claim 2, characterized in that, The step of sequentially writing cumulative sampled data to multiple channels specifically includes: The sampling data writing step involves sequentially using multiple channels as target writing channels, and the sampling data writing step includes: The cumulative sampled data is read from the corresponding storage area according to the target write channel; Updated sampling data is obtained by overlaying the sampled data onto the cumulative sampled data. The updated sampled data is written as the cumulative sampled data to the storage area corresponding to the target write channel.

4. The photon counting data processing method for spectral measurements according to claim 1, characterized in that, When reading the cumulative sampled data of each channel, determining whether the channel number of the current channel being read is less than or equal to the number of channels, and if so, specifically includes reading the sampled data of the current channel: Use the first channel as the target reading channel; Perform a channel number reading step on the target reading channel. The channel number reading step includes: determining whether the channel number of the target reading channel is less than or equal to the number of channels. If so, read the cumulative sampled data in the target reading channel. Repeat the channel number reading step with the next channel as the target reading channel until the cumulative sampled data of all channels has been read.

5. The photon counting data processing method for spectral measurements according to claim 1, characterized in that, Further includes: After sampling is completed, all sampled data is uploaded to the host computer.

6. The photon counting data processing method for spectral measurements according to claim 2, characterized in that, This further includes reading the cumulative sampled data from multiple channels sequentially before: Determine the number of writes to the cumulative sampled data; If the number of reads of the cumulative sampled data of the read channel exceeds the number of writes, stop reading the cumulative sampled data of multiple channels sequentially.

7. A photon counting data processing device for spectral measurement, characterized in that, include: The read determination module is used to determine whether the number of reads is greater than the number of writes of the sampled data for the multiple channels when reading the cumulative sampled data of multiple channels. The cumulative sampled data is the cumulative value of all sampled data of the corresponding channel. The data reading module is used to sequentially read the cumulative sampled data of multiple channels, wherein when reading the cumulative sampled data of each channel, it determines whether the reading channel number of the current channel is less than or equal to the number of channels; if so, it reads the sampled data of the current channel. The data transmission module is used to transmit the cumulative sampled data from multiple channels to the host computer.

8. A photon counting data processing system for spectral measurements, characterized in that, It includes the photon counting data processing device, photon counter, and host computer for spectral measurement as described in claim 7.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Quantitative correction method and device for fluorescence lifetime deviation

    CN113203487A

  • Measuring device and measuring method for fluorescent life

    JP2002107300A