Abstract:
A system and method for processing sample data employing hardware, such as a Field Programmable Gate Array (FPGA), to process the sample data in small pipelined steps. The processing includes a circular buffer where the read and write of data is synchronous, preventing buffer overrun or data loss. This pipeline processing approach allows increasing data acquisition channels or additional processing steps without limiting processing speed.

Description:
PRIORITY APPLICATION  
       [0001]     This application claims priority to Ser. No. 60/628,715 entitled “System and Method for Managing Data from a Flow Analyzer” filed Nov. 17, 2004. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to an apparatus for, and a method of, increasing the quantity of information obtained from flow analyzers or other data collection devices by storing data relating to, for example, particles, cells, and inter-event background noise from flow through an examination zone. In particular, the present invention relates to an apparatus for and a method of increasing the rate that florescence samples may be taken, without loss of data, by splitting the sample processing into pipelined steps and using a circular buffer, or similar buffer or temporary storage capability.  
         [0004]     2. Description of the Related Art  
         [0005]     Flow cytometry is conveniently used to quickly measure one or more optical parameters of the cells and/or particles that pass through a light beam that impinges on a narrow examination zone. Background information on flow cytometry is found, for example, in Shapiro&#39;s Practical Flow Cytometry, Third Edition (Alan R. Liss, Inc. 1995), incorporated herein by reference in its entirety.  
         [0006]     In conventional flow cytometers, sample fluid containing sample cells and/or particles is introduced from a sample tube into or near the center of a faster flowing stream of sheath fluid, which draws the sample toward the center of the combined streams. This process, known a hydrodynamic focusing, allows the cells and/or particles to be delivered reproducibly to the center of the measuring point in the flow cell or other examination zone. Typically, the cells and/or particles are in suspension in the flow cell.  
         [0007]     A continuous wave laser focuses a laser beam on the cells and/or particles as they pass through the examination zone by a flow of a stream of the suspension. When an object of interest in the flow stream is struck by the laser beam, certain signals result and is sensed by detectors. For example, these signals include forward light scatter intensity, which provides information concerning the size of individual cells and/or particles, and side light scatter intensity, which provides information regarding the relative size and refractive properties of individual cells and/or particles.  
         [0008]     Other signals which may be sensed by detectors include fluorescence emissions from one or more fluorescent dyes and/or other fluorescent molecules, for example, tryptophan or other fluorescent amino acid(s) or other molecule(s) that is native to a protein or other peptide, or to another biomolecule or man-made molecule. Typically, when a plurality of different fluorescing molecules is employed in an analytical scheme, fluorescence emission peaks are selected to minimize or, ideally, eliminate spectral overlap between the respective fluorescence emission peaks.  
         [0009]     For example, ideally, fluorescence emission peaks will differ by 50 μm, though lesser (or larger) spectral separation also can be accommodated and used to advantage, for example, 20, 30 or 40 μm, where the greater the spectral separation, the more powerful is the discrimination between the respective fluorescence emitters. In addition, quantum efficiency is considered in the choice of fluorescent molecules. In the case of use of a plurality of different fluorescent molecules, a separate detector is tuned to and used for the different wavelength of emission of each fluorescence emitter. The excitation wavelength for more than one fluorescent molecule can be the same, or different excitation wavelengths can be used to match the excitation spectrum of each different fluorescent molecule.  
         [0010]     The optical signals that are generated by an analytical procedure are transmitted to an output meter(s) and/or data storage means. Signal processing, for example, by a Digital Signal Processor (DSP) or a Field Programmable Gate Array (FPGA) can be employed before and/or after intensity data on the measured optical signals are transmitted to the output meter(s) and/or data storage means.  
         [0011]     In flow cytometry, an “event” occurs when a cell or particle passes through the beam of the laser or other light source. As the event progresses, the light measured from scattering and/or fluorescence emission increases as the cell or particle enters the beam, reaches a maximum at the center of the beam, and tapers to a nominal value as it leaves the beam.  
         [0012]     State of the art flow cytometers commonly use one of two systems to measure events. One system uses peak detectors, including peak hold circuits, to sustain the maximum signal level obtained from an event, and to measure optical parameters relating to cells and/or particles passing through a laser beam. Once a peak detector has sensed and measured an event, the peak detectors are turned off to provide sufficient time for an analog-to-digital (A/D) converter to digitize that maximum value of the signal. During the time that the peak detectors are off, termed “dead time,” any event occurring within the laser beam will go undetected.  
         [0013]     The second system uses an integrator to measure the area under the peak collected for an event. With either system, when an event occurs within the cytometer&#39;s light beam during the dead time, the event will go undetected.  
         [0014]     Normally, such lack of detection of an event does not constitute a significant problem because, for a large number of events, only a tiny number will be missed. However, applications which require the detection of rare, critical events, for example, identification of one special cell or particle in a thousand or a million, suffer from the possible non-detection of a rare event when current generation flow cytometers are used for detection and measurement. The higher the throughput, the greater is the probability that such a critical event will be missed per unit time period.  
         [0015]     One solution to problems encountered in sorting samples in flow cytometry is provided by U.S. Pat. No. 5,550,058 to Corio, et al., incorporated herein by reference. Corio, et al. provides a means of flexibly controlling decisions on the sorting of events detected in a flow cytometer. Events are pre-qualified according to user selectable parameters to permit reduction of events missed during dead time. However, the Corio, et al. reference does not teach or suggest a means of reducing the probability of missing a dead time event to zero.  
         [0016]     U.S. Pat. No. 6,658,357 (incorporated by reference) provides a solution to the “dead time” problem and the capture of rare events. However, it employs asynchronous processes to write sample data to and read data from a circular buffer. In turn, the rate at which florescence samples may be taken is limited by DSP capabilities and memory. For example, increasing the florescence sample rate can result in insufficient DSP bandwidth and buffer overrun, which might result in sample data loss, which as noted above, is undesirable.  
         [0017]     Thus, it would be beneficial in the art of flow analyzers, including flow cytometers or other analyzing equipment, to have a means to process increased florescence samples without the probability of missing any event or increasing buffer size.  
         [0018]     It is further desirable to efficiently and inexpensively provide a system and/or method of maximizing sample rates while reducing the probability of missing an event for such high sampling rates.  
       SUMMARY OF THE INVENTION  
       [0019]     The problems outlined above are solved by the system and method in accordance with the present invention. Broadly, the system includes a synchronous process to write sample data to and read data from a circular buffer. Samples are synchronously clocked into and out of the circular buffers. Writing a sample into a circular buffer causes the oldest sample to be removed from the circular buffer and processed. Sample rate is thus not limited by the circular buffer size and hardware resources, e.g. FPGA, and it is possible to increase the number of channels. Because the circular data buffers fill and empty at the same rate there is no possibility of buffer overrun and lost data.  
         [0020]     One preferred embodiment of the present invention provides a system and method of increasing the amount of data while reducing the chance of lost data in flow analyzers, flow cytometers, and other measurement devices using synchronous processes to write sample data to and read data from a circular buffer. Samples are synchronously clocked into and out of the circular buffers. Writing a sample into a circular buffer causes the oldest sample to be removed from the circular buffer and processed. It is the sampling that drives the processing keeping the write and read processes in synchronization. Dual port ram is used so there is no competition between the read and write processes. Because the write and read processes are synchronized, buffer overrun is not possible and the buffer size is determined by the data required for the specific process algorithm. Increasing the number of FADC channels (Filter, Amplify, Digitize, Convert) does not decrease the sample throughput since channels are processed in parallel. Increasing the number of samples in a process (e.g. a running sum) does not decrease throughput since the running sum is updated with each incoming sample in real time.  
         [0021]     In one form, the data processing is split into small pipelined steps, e.g. where the pipeline processing performs the logic and arithmetic operations on the sample data. This pipeline processing of the sample data is performed by a Programmable Logic Device (PLD) such as an FPGA or ASIC at the analog-to-digital conversion (ADC) sample rate for as many channels as desired, provided the PLD has sufficient internal logic and external pins. This hardware approach permits a high sample rate limited only by the lesser of the ADC time or intrinsic propagation delay in reading the ADC. Additionally, while the number of channels is limited only by the PLD resources, adding channels does not limit speed of the instrument. Because the sample data processing is internal to the PLD, it is possible to add processing substeps to the pipeline with no effect on throughput. Finally, because sample data write and read are synchronous, the circular buffer fills and empties at the same rate with no possibility of buffer overrun or loss of data. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]     Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:  
         [0023]      FIG. 1  is a schematic of a flow analyzer in accordance with the present invention;  
         [0024]      FIG. 2  is a flow diagram for an example process according to the instant invention;  
         [0025]      FIG. 3  is a table of sample values for the process of  FIG. 1 ; and  
         [0026]      FIG. 4  is a graph plotting the sample values of the table of  FIG. 2  for the process of  FIG. 1 . 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0027]     Referring to  FIG. 1 , a schematic is shown for a functioning flow analyzer  420 , for example, a flow cytometer. Laser light beam  402  from laser  400  is shown to impinge on a particle  406  as it passes through examination zone  404  of a flow cuvette. Light  422 ,  424  that is scattered, emitted (for example, fluorescence emission), refracted, or otherwise produced is then sensed by one or more detectors  408 ,  410 , which then transmit their data  426 ,  428  to their respective FADC (filtering, amplification, and digital conversion) units  412 ,  414 . The FADCs then transmit  430 ,  432  their respective resulting digitized data to a Programmed Logic Device (PLD) such as an FPGA, ASIC or other data processor  416  for final data processing. Such a PLD is a semiconductor device having logic components for performing logic and arithmetic operations with or without combinations with processors such as DSP&#39;s. Results of processing by the FPGA or other processor  416  are then output  436  as the final, processed data  418 . While a processor such as a DSP can be used at  416 , one advantage of the process of the present invention is to enable the use of a hardware logic solution, eliminating reading and storing sample data in internal DSP memory which uses a substantial portion of the DSP bandwidth, limiting the number of channels or processing time.  
         [0028]     Turning to  FIG. 2 , an exemplary pipeline process is illustrated. In  FIG. 2 , each function block may include a storage block and a processing block. One or more data elements are passed from the storage block to the processing block to be manipulated and output from the processing block. In the pipeline process of  FIG. 2 , the process receives florescence data, computes a running sum of the data; and subtracts background data from the running sum. Each pipeline process will preferably include one or more circular buffers, although it is understood such circular buffers may be multiple physical devices or a single data device divided into multiple buffers. It is important to recognize that other devices or methods can be used in place of circular buffers, and yet fulfill the accomplishments described herein. U.S. Pat. No. 6,658,357 describes “circular buffers” one of ordinary skill in the art would also understand that the circular buffer may constitute any memory configured for accepting a continuous stream of sample data and need not constitute physically contiguous memory (i.e. a “virtual” circular buffer) and memory might be dynamically allocated to constitute the circular buffer.  
         [0029]     In more detail,  FIG. 2  shows a sequence of function blocks arranged such that the output of one function block becomes the input of the next function block. Thus, in  FIG. 2  the pipeline process receives florescence data from function block  510 , computes a running sum of the data at  520 , subtracts background data from the running sum at  532 , while detecting peak running sums at  540 .  
         [0030]     The data storage blocks  514 ,  526 ,  544  in  FIG. 2  are circular buffers composed of synchronous simple dual port ram having a data input bus, a data output bus, a read address bus, a write address bus, and an address counter. Each storage block  514 ,  526 ,  544  may have different depth and width as required by the processing to be performed. The dual port RAM is configured to output the old contents of the cell being written when the read and write address is the same, thus each new data value written to the circular buffer causes the oldest data value to be output from the circular buffer in a synchronous process.  
         [0031]     Processing may but need not include saving a specified number of historical samples, computing and saving the running sum of a specified number of samples, subtracting a previous running sum from the newest running sum, and searching for the peak value of the background corrected running sum. The pipeline process of  FIG. 2  is but a typical example; other processing steps may be added, subtracted, or modified as required.  
         [0032]     While  FIG. 1  illustrates a flow analyzer  420  having two data channels, an object of the present invention is to maximize the florescence data throughput, e.g. by increasing the number of channels or sample rate. Thus, the flow analyzer  420  would typically have multiple FADC channels processed in parallel, but  FIGS. 2-4  is exemplary of data taken from a single channel for illustration.  
         [0033]      FIGS. 3 and 4  show how samples are processed within the  FIG. 2  pipeline. Each new incoming ADC DATA sample updates the pipeline by triggering an update to the ADC data, running sum, background corrected sum, and peak sum. As an example, assume circular buffer  514  contains the data shown in samples  12  through  19  of the column labeled ADC DATA, and  526  contain the values shown in samples  12  through  19  of the column labeled SUM. The following describes how the values in  FIG. 3  sample  20  are computed. Looking at sample  19 , running sum block  520  contains 25204, with inputs 3371 at  522  and  1040  at  516 , producing a new sample  20  SUM value of 27535=25204+3371−1040 at  524 . Background Subtraction block  532  has inputs of 25204 at  534  and 5499 at  530  producing a new sample  20  output SUM-BKG value of 19705=25204−5499 at  532 . The peak detection and hold block  540  contains the previous peak value of 12883. The background corrected value of 16610 is present at  532 , and being greater than 12883, will replace 12883 as the new PEAK sample  20  value. When the ADC conversion clocks the ADC DATA sample  20  value 2623 into circular buffer  514 , it also clocks 27535 into circular buffer  526 , 19705 into  532  and 16610 into  540 .  
         [0034]     It will be appreciated to those skilled in the art having the benefit of this disclosure that this invention is believed to provide systems and methods for managing data in a flow analyzer. Further modifications and alternative embodiments of various aspects of the invention will be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as the presently preferred embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims.