Method for processing and displaying a multi-channel spectral histogram and system therefor

CN116569208BActive Publication Date: 2026-10-27BECTON DICKINSON & CO
View PDF 56 Cites 0 Cited by

Patent Information

Application Number
CN202180080093.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-07
Filing Date
2021-08-19
Publication Date
2026-10-27
Estimated Expiration
2041-08-19

Smart Images

  • Figure CN116569208B_ABST
    Figure CN116569208B_ABST
Patent Text Reader

Abstract

Various aspects of the present disclosure include methods for processing and displaying multi-channel spectral histograms. Methods according to certain embodiments include obtaining a histogram of cytometry data of a sample, wherein the cytometry data includes measurements from particles in the sample that are illuminated while flowing in a flow stream; generating a representation of the histogram by encoding the histogram, the encoding including assigning a color to each histogram value in the representation of the histogram and replicating each color corresponding to each histogram value in the representation of the histogram a predetermined number of times, and displaying the histogram using the representation of the histogram. Systems to practice the subject methods are also provided. Non-transitory computer readable storage media are also described.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-referencing related applications

[0002] Pursuant to 35 USC §119(e), this application claims priority to U.S. Provisional Patent Application Serial No. 63 / 088,640, filed October 7, 2020, the disclosure of which is incorporated herein by reference in its entirety.

[0003] Introduction

[0004] Flow cytometry particle detection and analysis systems (such as flow cytometers) are used to detect, analyze, and in some cases even sort particles in fluid samples based on at least one measured characteristic of the particles. Visualizing the data obtained from flow cytometry particle detection and analysis systems is an important part of the analysis and characterization of the collected data and can be used for applications such as biological and medical research.

[0005] Visualizing data from a flow cytometry particle detection system can include simultaneously displaying multiple histograms of data from several different detector channels of the particle detection system. Simultaneous histogram display can be used to understand, analyze, and characterize particles exposed to the particle detection system, as well as to configure the particle detection system by, for example, understanding settings necessary to prevent saturation or optimize the performance of the detection channels (e.g., gain level adjustments).

[0006] Simultaneous display of different histograms is a memory and processing resource intensive operation, and it involves long latency. This limitation restricts the ability to display multiple data histograms at the same time and adversely affects the usefulness of the collected data, for example, making it difficult to properly calibrate flow cytometry particle detection and analysis systems. Summary of the Invention

[0007] This invention introduces a new technology that displays histograms more efficiently in terms of memory and processor resources as well as latency, enabling the simultaneous display of multiple histograms, thereby improving the effectiveness of flow cytometry particle detection and analysis systems.

[0008] Various aspects of this disclosure include methods for processing and displaying multichannel spectral histograms. A method according to certain embodiments includes: obtaining a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flowstream; generating a representation of the histogram by encoding the histogram, the encoding including assigning a color to each histogram value in the histogram representation, replicating each color corresponding to each histogram value in the histogram representation a predetermined number of times, and displaying the histogram using the histogram representation.

[0009] In some embodiments, cytological data includes light measurements from irradiated particles in a sample, which in some cases may be measurements of light intensity. In such embodiments, cytological data may include one or more of the following measurements: excitation light scattered primarily by the particles in a forward direction, excitation light scattered primarily by the particles in a lateral direction, and light emitted by fluorescent molecules or fluorescent dyes used to label the particles in one or more frequency ranges.

[0010] In some embodiments, the histogram includes multiple bins, and histogram values ​​are associated with the bins. In such embodiments, each bin may correspond to a range of measurements from irradiated particles in the sample, which may be light intensity measurements, and the histogram may be a spectral intensity histogram.

[0011] In other embodiments, displaying a histogram using a histogram representation includes displaying the histogram on a display device using a histogram representation. Again, in other embodiments, the predetermined number of times is the number of pixels displayed in the horizontal direction of the displayed histogram. The predetermined number of times can be selected based on any desired width of the displayed histogram. For example, the predetermined number of times can be one or more times, two or more times, four or more times, 16 or more times, 32 or more times, 128 or more times, 512 or more times, or 1024 or more times. In some embodiments, the shape of the displayed histogram is rectangular, wherein the vertical axis of the displayed histogram corresponds to a histogram bin, and the colors in the displayed histogram correspond to histogram values, and different colors in the displayed histogram can correspond to different histogram values.

[0012] In some embodiments, the histogram representation comprises an array. In such embodiments, assigning a color to each histogram value in the histogram representation may include encoding the elements of the array to assign a display color along the longitudinal axis of the array and / or assigning a color to each histogram value in the histogram representation may include encoding the display color to no more than a single array element at each longitudinal position of the array. In some cases, the longitudinal axis of the array has 256 entries. In other cases, copying each color corresponding to each histogram value in the histogram representation includes copying the array elements along the transverse axis of the array. In embodiments, each element of the array corresponds to a pixel in the histogram display and / or array elements along the longitudinal axis correspond to pixels along the longitudinal axis in the histogram display.

[0013] The method embodiment according to the invention may further include determining a maximum value in the histogram bin and using that maximum value to determine a scaling factor for assigning colors to the histogram values. In such an embodiment, assigning colors to histogram values ​​in a histogram representation may include: scaling the histogram values ​​using a scaling factor to produce scaled histogram values; and assigning colors corresponding to the scaled histogram values ​​based on the scaled histogram values. Such an embodiment may further include: obtaining a palette containing available colors that can be used for the histogram representation; and accessing the palette using the scaled histogram values ​​to determine colors corresponding to the histogram values. In such an embodiment, the palette may be an array of different colors, and accessing the palette using the scaled histogram values ​​includes indexing into the palette array using the scaled histogram values. In some cases, the palette contains 256 colors. Furthermore, eight bits may be used to represent each color in the histogram.

[0014] In this embodiment, colors can be assigned to multiple histogram values ​​substantially simultaneously. Such embodiments may also include using multiple parallel processing units to assign colors to multiple histogram values ​​substantially simultaneously. In some cases, the multiple parallel processing units include a graphics processing unit, which in some cases includes more than one hundred processing units, and each processing unit is configured to assign colors to histogram values ​​in a histogram representation substantially simultaneously. In this example, the graphics processing unit is located on a graphics processing card.

[0015] In some cases, the graphics processing unit receives a one-dimensional array corresponding to a histogram as input. In other cases, the graphics processing unit outputs a one-dimensional array corresponding to a representation of the histogram. Still in other examples, the copying of each color corresponding to each histogram value in the histogram representation is not performed by the graphics processing unit.

[0016] In some embodiments, histogram generation is performed substantially in real time. The method according to the invention may also include adjusting settings for collecting cytoscopic data based on the histogram display. In some cases, adjusting the settings includes adjusting the gain settings of the detector channels used for collecting cytoscopic data. In other cases, adjusting the gain settings of the detector channels used for collecting cytoscopic data includes preventing detector channel saturation.

[0017] According to certain embodiments of the present invention, the method may include: acquiring multiple histograms of cytological data of a sample; generating a representation of the multiple histograms according to any method discussed herein; and displaying the multiple histograms using the representation of the multiple histograms. In embodiments, each histogram in the multiple histograms includes a photometric result of cytological data obtained from each of a plurality of channels of one or more detectors. In other embodiments, each histogram in the multiple histograms includes the same number of histogram bins. Still in other embodiments, the corresponding histogram bins of each histogram in the multiple histograms have the same range of measurements associated with them.

[0018] In some embodiments, displaying multiple histograms using representations of multiple histograms includes displaying multiple histograms on a display device using representations of multiple histograms. In some cases, the representation of the multiple histograms includes a two-dimensional array. In this case, a first dimension of the two-dimensional array may correspond to a histogram bin, and a second dimension of the two-dimensional array may correspond to the histograms of the multiple histograms. In embodiments, representations of more than one histogram are generated substantially simultaneously. Other embodiments may also include adjusting settings for collecting cytoscopic data based on the display of the multiple histograms. In other cases, adjusting settings includes adjusting gain settings for one or more channels of one or more detectors used for collecting cytoscopic data. Still in other cases, adjusting gain settings for one or more channels of one or more detectors includes preventing saturation of one or more channels of one or more detectors.

[0019] In one embodiment, the generation of representations for each of the multiple histograms is performed substantially in real time. In other embodiments, obtaining histograms from cytological data of a sample involves generating histograms from flow cytometry analysis data measurements of the sample.

[0020] This document also provides a system for practicing the methods of this subject matter. A system according to certain embodiments includes a general-purpose processor including a memory operably coupled thereto, wherein the memory includes instructions stored thereon that, when executed by the general-purpose processor, cause the general-purpose processor to: obtain a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream; send the histogram to a plurality of parallel processing units; receive a representation of the histogram from the plurality of parallel processing units, wherein the representation includes a color encoding corresponding to each histogram value; and copy the color encoding corresponding to the histogram values ​​in the histogram representation. The system includes a predetermined number of operations; and displays a histogram representation on an output device and a plurality of parallel processing units operatively connected to a general-purpose processor and a memory operatively coupled to the plurality of parallel processing units, wherein the memory includes instructions stored thereon that, when executed by the plurality of parallel processing units, cause the plurality of parallel processing units to: receive a histogram from the general-purpose processor; generate a histogram representation by encoding the histogram, the encoding including an encoding of assigning a color to each histogram value in the histogram representation; and send the histogram representation to the general-purpose processor. In some embodiments, the system also includes a display device operatively connected to the general-purpose processor, wherein displaying the histogram representation on the output device includes displaying the histogram representation on the display device.

[0021] In some embodiments, the histogram representation comprises an array, and in some cases, each element in the array corresponds to an output device pixel in the histogram display. In some cases, array elements along the vertical axis correspond to output device pixels along the vertical axis in the histogram display.

[0022] In some embodiments, the general-purpose processor is configured to determine the maximum value in the histogram bin and use that maximum value to determine a scaling factor for assigning colors to the histogram values. In such embodiments, assigning color encoding to histogram values ​​in a histogram representation may include: scaling the histogram values ​​using a scaling factor to produce scaled histogram values; and assigning a color corresponding to the scaled histogram values ​​based on the scaled histogram values. The general-purpose processor may be configured to: obtain a palette containing available colors that can be used in the histogram representation; and access the palette using the scaled histogram values ​​to determine the colors corresponding to the histogram values. In some cases, the palette may be an array of different colors, and accessing the palette using the scaled histogram values ​​includes indexing into the palette array using the scaled histogram values.

[0023] In embodiments of the system according to the invention, the plurality of parallel processing units may also be configured to assign color codes to a plurality of histogram values ​​in a histogram representation substantially simultaneously. In some cases, the plurality of parallel processing units include a graphics processing unit. In other cases, the graphics processing unit includes more than one hundred processing units, and each processing unit is configured to assign color codes to histogram values ​​in a histogram representation substantially simultaneously. Still in other cases, the graphics processing unit is located on a graphics processing card.

[0024] In other embodiments of the system according to the invention, the plurality of parallel processing units are further configured to: receive histograms of a plurality of cytological data from a general-purpose processor; generate representations of a plurality of histograms by encoding the plurality of histograms, the encoding including assigning color codes to each histogram value in the representations of the plurality of histograms; and send the representations of the plurality of histograms to the general-purpose processor, the general-purpose processor being further configured to display the plurality of histograms on an output device using the histogram representations. In some cases, the plurality of parallel processing units are also configured to generate representations of the plurality of histograms substantially simultaneously. In other cases, the system is configured to generate representations of the plurality of histograms so as to display the plurality of histograms substantially in real time.

[0025] This document also describes a non-transitory computer-readable storage medium. A non-transitory computer-readable storage medium according to certain embodiments includes instructions stored thereon comprising: an algorithm for acquiring a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream; an algorithm for generating a representation of the histogram by encoding the histogram and copying each color corresponding to each histogram value in the histogram representation a predetermined number of times, the encoding including: assigning a color to each histogram value in the histogram representation; and an algorithm for displaying the histogram using the histogram representation. Attached Figure Description

[0026] The best understanding of the invention can be obtained from the following detailed description when read in conjunction with the accompanying drawings. The drawings include the following images:

[0027] Figure 1 An exemplary histogram of cytologic data is shown.

[0028] Figure 2 A display of several exemplary histograms of cytological data according to certain embodiments is depicted.

[0029] Figure 3 A functional block diagram illustrating an example control system for a particle analyzer according to certain embodiments is provided.

[0030] Figure 4 A flow cytometer according to certain embodiments is described.

[0031] Figure 5 A functional block diagram of a particle analysis system for sample analysis and particle characterization according to certain embodiments is depicted.

[0032] Figure 6A A schematic diagram of a particle analyzer and sorter system according to certain embodiments is depicted.

[0033] Figure 6B A schematic diagram of a particle analyzer and sorter system according to certain embodiments is depicted.

[0034] Figure 7 A block diagram of a computing system according to certain embodiments is depicted.

[0035] Figure 8 The illustration depicts the processing of multiple histograms according to embodiments of the present invention.

[0036] Figure 9 An illustration depicts another view of the representation of a histogram generated according to the present invention.

[0037] Figure 10 An illustration depicts the process of copying each color a predetermined number of times for each histogram value in a histogram representation, according to an embodiment.

[0038] Figure 11 An overview of an exemplary workflow according to certain embodiments is described.

[0039] Figure 12 The illustration depicts a plurality of exemplary histograms of cytological data in the event of detector channel saturation, according to certain embodiments. Detailed Implementation

[0040] Various aspects of this disclosure include methods for generating a representation of a histogram for displaying a histogram of cytological data. In embodiments, the method includes obtaining a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream; generating a representation of the histogram by encoding the histogram, the encoding including: assigning a color to each histogram value in the histogram representation; copying each color corresponding to each histogram value in the histogram representation a predetermined number of times; and displaying the histogram using the histogram representation. In other examples, the method includes displaying the histogram on a display device. Still in other examples, the method includes assigning colors to multiple histogram values ​​substantially simultaneously, for example, in some cases, using multiple parallel processing units (e.g., graphics processing units). When needed, the method also includes adjusting the gain settings of detector channels, for example, to prevent channel saturation. Systems for practicing the methods of this subject matter are also provided herein. Non-transitory computer-readable storage media are also described.

[0041] Before providing a more detailed description of the invention, it should be understood that the invention is not limited to the specific embodiments described, and therefore variations are possible. It should also be understood that the terminology used herein is for describing specific embodiments only and is not intended to be limiting, as the scope of the invention will be limited only by the appended claims.

[0042] When a range of values ​​is provided, it should be understood that, unless the context explicitly specifies otherwise, every intermediate value between the upper and lower limits of the range, as well as any other specified value or intermediate value within the specified range, is included in this invention. The upper and lower limits of these smaller ranges may be independently included within that smaller range and also within this invention, but are subject to any explicit exclusions or limitations within the range. If the range includes one or two boundaries, the range excluding either or both boundaries is also included in this invention.

[0043] To indicate certain ranges, this article will preface numerical values ​​with the term "approximately". In this article, the term "approximately" is used to provide literal support for the exact number preceding it and for numbers preceding terms of approximation or approximation. In determining whether a number is close to or approximates a particular referenced number, the close to or approximate unreferenced number can be a number that provides a substantially equivalent number to the specific referenced number in the context in which it appears.

[0044] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. Although any methods and materials similar to or equivalent to those described herein may be used to practice or test the invention, only representative illustrative methods and materials are described here.

[0045] All publications and patents cited in this specification are incorporated herein by reference as if each individual publication or patent were expressly and separately incorporated herein by reference to disclose and describe the methods and / or materials relating to the cited publications. References to any publication are for the purpose of disclosure prior to the filing date and should not be construed as an admission that the invention is not entitled to prior publication by virtue of a prior invention. Furthermore, the publication date provided may differ from the actual publication date, which may require separate verification.

[0046] It should be noted that, unless the context clearly specifies otherwise, the singular forms “a,” “an,” and “the” used herein and in the appended claims include plural references. It should also be noted that claims can be drafted to exclude any selected elements. Therefore, this statement is intended to serve as a preliminary basis for the use of exclusive terms such as “only” or “merely” when describing claim elements or using “negative” limitations.

[0047] Upon reading this disclosure, those skilled in the art will understand that each individual embodiment described and illustrated herein has discrete components and features that can be readily separated from or combined with features of any of the other several embodiments without departing from the scope or spirit of the invention. Any described method can be performed in the order of the described events or any other logically feasible order.

[0048] Although the apparatus and methods have been described and accompanied by functional explanations for grammatical fluency, it should be clearly understood that, unless expressly stated in accordance with 35 U.S.SCS 112, the claims should not be construed as necessarily being limited in any way to “means” or “steps,” but should be given the full meaning and equivalents of the definitions provided in the claims under the principle of equivalents, and, where the claims are expressly stated in accordance with 35 U.S.SCS 112, all their legal equivalents should be given in accordance with 35 U.S.SCS 112.

[0049] As described above, this disclosure provides a method for generating a representation of a histogram for displaying the histogram. In other described embodiments of this disclosure, the method is first described in detail as follows: displaying a histogram on a display device; assigning different display colors to histogram bins; assigning colors to multiple histogram values ​​substantially simultaneously; assigning colors to the multiple histogram values ​​using a parallel processing unit (e.g., a graphics processing unit); interacting with the graphics processing unit; and generating a representation of the multiple histograms for displaying the histogram. A system for practicing the methods of this subject matter is then described. A non-transitory computer-readable storage medium is also described.

[0050] Methods for processing and displaying multichannel spectral histograms

[0051] Various aspects of this disclosure include methods for generating a representation of a histogram to display the histogram. Specifically, this disclosure includes methods for: obtaining a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream; generating a representation of the histogram by encoding the histogram, the encoding including assigning a color to each histogram value in the histogram representation and copying each color corresponding to each histogram value in the histogram representation a predetermined number of times; and displaying the histogram using the histogram representation. In some cases, the efficiency of displaying histograms can be improved by generating a histogram representation and using it to display the histogram, enabling faster and / or real-time display of more iterations of the histogram (updated each time to reflect new or additional cytological data), or enabling the simultaneous display of multiple histograms. Furthermore, the efficiency of displaying histograms can be improved by generating a histogram representation and using it to display the histogram, requiring fewer computational resources, such as reducing processor operations or data usage or memory accesses (e.g., high-latency memory accesses). When used in conjunction with flow cytometry analysis of samples, this method improves the ability to configure particle analysis systems and analyze the collected data.

[0052] Cellular data

[0053] In practicing the methods of this subject, cytological data of a sample is obtained. Cytological data includes measurements of particles irradiated in a sample flowing in a flow stream. For example, cytological data may include measurements of detected light when the sample is irradiated with a light source and the light from the sample is detected by a light detection system having one or more photodetectors. In embodiments, such light measurements may include measurements of light intensity. As detailed below, in some embodiments, cytological data may include one or more of the following measurements: excitation light scattered primarily in a forward direction by the particles, excitation light scattered primarily in a lateral direction by the particles, and light emitted by fluorescent molecules or fluorescent dyes used to label the particles in one or more frequency ranges. In embodiments of the invention, the histogram of cytological data of the sample comprises a histogram of data measurements generated from the flow cytometry analysis of the sample.

[0054] In some examples, the sample is a biological sample. The term "biological sample" refers to a subset of the tissues, cells, or components of a whole organism, plant, fungus, or animal in the conventional sense. In some examples, these animal tissues, cells, or components may be present in blood, mucus, lymph, synovial fluid, cerebrospinal fluid, saliva, bronchoalveolar lavage fluid, amniotic fluid, amniotic cord blood, urine, vaginal fluid, and semen. Therefore, "biological sample" refers both to a subset of a natural organism or its tissues and to homogenates, lysates, or extracts prepared from a subset of an organism or its tissues, including but not limited to, plasma, serum, cerebrospinal fluid, lymph, skin sections, respiratory system, gastrointestinal tract, cardiovascular system, and genitourinary tract, tears, saliva, breast milk, blood cells, tumors, and organs. Biological samples can be any type of organic tissue, including healthy tissue and diseased tissue (e.g., cancerous, malignant, necrotic tissue, etc.). In some embodiments, the biological sample is a liquid sample, such as blood or its derivatives, such as plasma, tears, urine, semen, etc. In some examples, the sample is a blood sample including whole blood, such as blood obtained from a venipuncture or fingertip, wherein the blood may be combined with or not with any reagents prior to the assay (such as preservatives, anticoagulants, etc.).

[0055] In some embodiments, the sample source is "mammal" or "milk animal," terms that are broadly used to describe organisms belonging to the class mammals, including carnivores (e.g., dogs and cats), rodents (e.g., mice, guinea pigs, and rats), and primates (e.g., humans, chimpanzees, and monkeys). In some examples, the subject is a human. The method can be applied to cytological data from human subjects of male and female sexes and at any developmental stage (i.e., newborns, infants, adolescents, teenagers, and adults), wherein in some embodiments, the human subject is an adolescent, teenager, or adult. While the invention can be applied to cytological data from human subjects, it should be understood that the method can also be used to cytological data from other animal subjects (i.e., "non-human subjects"), such as, but not limited to, birds, mice, rats, dogs, cats, livestock, and horses.

[0056] In embodiments, the sample (e.g., in the flow stream of a flow cytometer) is illuminated by light from a light source. In some embodiments, the light source is a broadband light source that emits light with a wide wavelength range, for example, spanning 50 nm or greater, such as 100 nm or greater, such as 150 nm or greater, such as 200 nm or greater, such as 250 nm or greater, such as 300 nm or greater, such as 350 nm or greater, such as 400 nm or greater, including spanning 500 nm or greater. For example, a suitable broadband light source emits light with wavelengths from 200 nm to 1500 nm. Another example of a suitable broadband light source includes a light source that emits light with wavelengths from 400 nm to 1000 nm. The method involves illuminating with a broadband light source, and the broadband light source protocols of interest may include, but are not limited to, halogen lamps, deuterium arc lamps, xenon arc lamps, stable fiber-coupled broadband light sources, broadband LEDs with a continuous spectrum, superluminescent diodes, semiconductor light-emitting diodes, broad-spectrum LED white light sources, multi-LED integrated white light sources, and other broadband light sources or any combination thereof.

[0057] In other embodiments, the method includes illumination with a narrowband light source emitting a specific wavelength or a narrow wavelength range, such as illumination with a light source emitting light in a narrow wavelength range of 50 nm or less, for example, 40 nm or less, 30 nm or less, 25 nm or less, 20 nm or less, 15 nm or less, 10 nm or less, 5 nm or less, or 2 nm or less, and including a light source emitting light of a specific wavelength (i.e., monochromatic light). The method includes illumination with a narrowband light source, and the narrowband light source protocol of interest may include, but is not limited to, narrow-wavelength LEDs, laser diodes, or broadband light sources coupled to one or more optical bandpass filters, diffraction gratings, monochromators, or any combination thereof.

[0058] In some embodiments, the method includes irradiating the sample with one or more lasers. As described above, the type and number of lasers will vary depending on the sample and the desired light collected, and may be gas lasers, such as helium-neon lasers, argon lasers, krypton lasers, xenon lasers, nitrogen lasers, CO2 lasers, CO lasers, argon-fluorine (ArF) excimer lasers, krypton-fluorine (KrF) excimer lasers, xenon-chlorine (XeCl) excimer lasers, or xenon-fluorine (XeF) excimer lasers, or combinations thereof. In other examples, the method includes irradiating the flow with a dye laser, such as a stilbene, coumarin, or rhodamine laser. In other examples, the method includes irradiating the flow with a metal vapor laser, such as a helium-cadmium (HeCd) laser, a helium-mercury (HeHg) laser, a helium-selenium (HeSe) laser, a helium-silver (HeAg) laser, a strontium laser, a neon-copper (NeCu) laser, a copper laser, or a gold laser, or combinations thereof. In other examples, the method includes irradiating the flow with a solid-state laser, such as a ruby ​​laser, an Nd:YAG laser, an NdCrYAG laser, an Er:YAG laser, an Nd:YLF laser, an Nd:YVO4 laser, an Nd:YCa4O(BO3)3 laser, an Nd:YCOB laser, a titanite laser, a thulium YAG laser, a ytterbium YAG laser, a ytterbium oxide laser, or a cerium-doped laser, or combinations thereof.

[0059] The sample can be illuminated with one or more of the above-described light sources, such as two or more light sources, three or more light sources, four or more light sources, five or more light sources, and including ten or more light sources. The light source can include any combination of light source types. For example, in some embodiments, the method includes illuminating the sample in the flowing stream with a laser array, such as an array having one or more gas lasers, one or more dye lasers, and one or more solid-state lasers.

[0060] The sample can be illuminated with light in the wavelength range of 200 nm to 1500 nm, for example, from 250 nm to 1250 nm, from 300 nm to 1000 nm, from 350 nm to 900 nm, and including from 400 nm to 800 nm. For example, if the light source is a broadband light source, the sample can be illuminated with wavelengths from 200 nm to 900 nm. In other examples, if the light source comprises multiple narrowband light sources, the sample can be illuminated with specific wavelengths in the range of 200 nm to 900 nm. For example, the light source can be multiple narrowband LEDs (1 nm to 25 nm), each emitting light independently in the wavelength range of 200 nm to 900 nm. In other embodiments, the narrowband light source comprises one or more lasers (such as a laser array) and illuminates the sample with specific wavelengths in the range of 200 nm to 700 nm, for example, using a laser array having gas lasers, excimer lasers, dye lasers, metal vapor lasers, and solid-state lasers as described above.

[0061] When using more than one light source, the sample can be illuminated simultaneously, sequentially, or in combination by the light sources. For example, each of the light sources can be used to illuminate the sample simultaneously. In other embodiments, each of the light sources is used to sequentially illuminate the flow. When more than one light source is used to sequentially illuminate the sample, the duration for which each light source illuminates the sample can be independently 0.001 microseconds or longer, for example, 0.01 microseconds or longer, for example, 0.1 microseconds or longer, for example, 1 microsecond or longer, for example, 5 microseconds or longer, for example, 10 microseconds or longer, for example, 30 microseconds or longer, and including 60 microseconds or longer. For example, the method may include illuminating the sample with a light source (e.g., a laser) for a duration ranging from 0.001 microseconds to 100 microseconds, for example, 0.01 microseconds to 75 microseconds, for example, 0.1 microseconds to 50 microseconds, for example, 1 microsecond to 25 microseconds, and including 5 microseconds to 10 microseconds. In embodiments where the sample is sequentially illuminated by two or more light sources, the duration for which the sample is illuminated by each light source can be the same or different.

[0062] The time interval between illuminations by each light source can also vary as needed, and is independently separated by a certain delay, which is 0.001 microseconds or longer, for example, 0.01 microseconds or longer, for example, 0.1 microseconds or longer, for example, 1 microsecond or longer, for example, 5 microseconds or longer, for example, 10 microseconds or longer, for example, 15 microseconds or longer, for example, 30 microseconds or longer, and includes 60 microseconds or longer. For example, the time interval between illuminations by each light source can range from 0.001 microseconds to 60 microseconds, for example, from 0.01 microseconds to 50 microseconds, for example, from 0.1 microseconds to 35 microseconds, for example, from 1 microsecond to 25 microseconds, and includes 5 microseconds to 10 microseconds. In some embodiments, the time interval between illuminations by each light source is 10 microseconds. In embodiments where the sample is sequentially illuminated by more than two (i.e., three or more) light sources, the delay between illuminations by each light source can be the same or different.

[0063] The sample may be illuminated continuously or at discrete intervals. In some examples, the method includes illuminating the sample with a light source continuously. In other examples, the sample is illuminated by the light source at discrete intervals, such as every 0.001 milliseconds, every 0.01 milliseconds, every 0.1 milliseconds, every 1 millisecond, every 10 milliseconds, every 100 milliseconds, and including once every 1000 milliseconds or other intervals.

[0064] Depending on the light source, the sample can be illuminated from a certain distance, such as 0.01 mm or greater, 0.05 mm or greater, 0.1 mm or greater, 0.5 mm or greater, 1 mm or greater, 2.5 mm or greater, 5 mm or greater, 10 mm or greater, 15 mm or greater, 25 mm or greater, and including 50 mm or greater. Furthermore, the illumination angle can also be from 10° to 90°, such as from 15° to 85°, from 20° to 80°, from 25° to 75°, and including from 30° to 60°, such as 90°.

[0065] In some embodiments, the method includes illuminating a sample with two or more frequency-shifted beams of light. A beam generator assembly having a laser and an acousto-optic device can be employed to shift the laser generation frequency. In these embodiments, the method includes illuminating the acousto-optic device with a laser. Depending on the desired wavelength of the light generated in the output laser beam (e.g., for illuminating a sample in a flowing stream), the laser can have a specific wavelength ranging from 200 nm to 1500 nm, for example from 250 nm to 1250 nm, for example from 300 nm to 1000 nm, for example from 350 nm to 900 nm, and including from 400 nm to 800 nm. One or more lasers can be used to illuminate the acousto-optic device, for example, two or more lasers, for example, three or more lasers, for example, four or more lasers, for example, five or more lasers, and including ten or more lasers. The lasers can include any combination of laser types. For example, in some embodiments, the method includes irradiating an acousto-optic device with an array of lasers, such as an array having one or more gas lasers, one or more dye lasers, and one or more solid-state lasers.

[0066] If more than one laser is used, the acousto-optic device can be irradiated simultaneously, sequentially, or in combination by the lasers. For example, each of the lasers can simultaneously irradiate the acousto-optic device. In other embodiments, each of the lasers irradiates the acousto-optic device sequentially. If more than one laser is used to irradiate the acousto-optic device sequentially, the irradiation time of each laser on the acousto-optic device can be independently 0.001 microseconds or longer, for example, 0.01 microseconds or longer, for example, 0.1 microseconds or longer, for example, 1 microsecond or longer, for example, 5 microseconds or longer, for example, 10 microseconds or longer, for example, 30 microseconds or longer, and including 60 microseconds or longer. For example, the method may include irradiating the acousto-optic device with a laser for a certain duration, the duration ranging from 0.001 microseconds to 100 microseconds, for example, from 0.01 microseconds to 75 microseconds, for example, from 0.1 microseconds to 50 microseconds, for example, from 1 microsecond to 25 microseconds, and including 5 microseconds to 10 microseconds. In embodiments where the acousto-optic device is sequentially irradiated by two or more lasers, the duration of irradiation of the acousto-optic device by each laser may be the same or different.

[0067] The time interval between irradiations by each laser can also be varied as needed, and is independently separated by a certain delay, which is 0.001 microseconds or longer, for example 0.01 microseconds or longer, for example 0.1 microseconds or longer, for example 1 microsecond or longer, for example 5 microseconds or longer, for example 10 microseconds or longer, for example 15 microseconds or longer, for example 30 microseconds or longer, and includes 60 microseconds or longer. For example, the time interval between irradiations by each light source can range from 0.001 microseconds to 60 microseconds, for example from 0.01 microseconds to 50 microseconds, for example from 0.1 microseconds to 35 microseconds, for example from 1 microsecond to 25 microseconds, and includes 5 microseconds to 10 microseconds. In some embodiments, the time interval between irradiations by each laser is 10 microseconds. In embodiments where the acousto-optic device is sequentially irradiated by more than two (i.e., three or more) lasers, the delay between each laser irradiation can be the same or different.

[0068] The acousto-optic device can be illuminated continuously or at discrete intervals. In some examples, the method includes continuously illuminating the acousto-optic device with a laser. In other examples, the acousto-optic device is illuminated by a laser at discrete intervals, such as every 0.001 milliseconds, every 0.01 milliseconds, every 0.1 milliseconds, every 1 millisecond, every 10 milliseconds, every 100 milliseconds, and including once every 1000 milliseconds or other intervals.

[0069] Depending on the laser used, the acousto-optic device can be illuminated from a distance, such as 0.01 mm or greater, 0.05 mm or greater, 0.1 mm or greater, 0.5 mm or greater, 1 mm or greater, 2.5 mm or greater, 5 mm or greater, 10 mm or greater, 15 mm or greater, 25 mm or greater, and including 50 mm or greater. Furthermore, the illumination angle can also be from 10° to 90°, such as from 15° to 85°, from 20° to 80°, from 25° to 75°, and including from 30° to 60°, such as 90°.

[0070] In an embodiment, the method includes applying radio frequency (RF) drive signals to an acousto-optic device to generate an angle-deflected laser beam. Two or more RF drive signals may be applied to the acousto-optic device to generate an output laser beam having a desired number of angle-deflected laser beams. Examples of applied RF drive signals include, for example, three or more RF drive signals, four or more RF drive signals, five or more RF drive signals, six or more RF drive signals, seven or more RF drive signals, eight or more RF drive signals, nine or more RF drive signals, ten or more RF drive signals, fifteen or more RF drive signals, twenty-five or more RF drive signals, fifty or more RF drive signals, and even 100 or more RF drive signals.

[0071] Each angle-deflecting laser beam generated by a radio frequency (RF) drive signal has an intensity based on the amplitude of the applied RF drive signal. In some embodiments, the method includes applying an RF drive signal having a sufficient amplitude to generate a laser beam with an angle deflection of the desired intensity. In some examples, each applied RF drive signal independently has an amplitude ranging from about 0.001V to about 500V, such as from about 0.005V to about 400V, such as from about 0.01V to about 300V, such as from about 0.05V to about 200V, such as from about 0.1V to about 100V, such as from about 0.5V to about 75V, such as from about 1V to 50V, such as from about 2V to 40V, such as from 3V to about 30V, and including from about 5V to about 25V. In some embodiments, each applied radio frequency drive signal has a frequency of about 0.001 MHz to about 500 MHz, such frequency being, for example, from about 0.005 MHz to about 400 MHz, such as from about 0.01 MHz to about 300 MHz, such as from about 0.05 MHz to about 200 MHz, such as from about 0.1 MHz to about 100 MHz, such as from about 0.5 MHz to about 90 MHz, such as from about 1 MHz to about 75 MHz, such as from about 2 MHz to about 70 MHz, such as from about 3 MHz to about 65 MHz, such as from about 4 MHz to about 60 MHz, and including from about 5 MHz to about 50 MHz.

[0072] In these embodiments, the angle-deflected laser beams in the output laser beam are spatially separated. Depending on the applied RF drive signal and the desired illumination distribution of the output laser beam, the angle-deflected laser beams can be separated by 0.001 μm or more, for example, 0.005 μm or more, for example, 0.01 μm or more, for example, 0.05 μm or more, for example, 0.1 μm or more, for example, 0.5 μm or more, for example, 1 μm or more, for example, 5 μm or more, for example, 10 μm or more, for example, 100 μm or more, for example, 500 μm or more, for example, 1000 μm or more, and including 5000 μm or more. In some embodiments, the angle-deflected laser beams overlap, for example, along the horizontal axis of the output laser beam with adjacent angle-deflected laser beams. The overlap between adjacent angle-deflected laser beams (e.g., the overlap of beam spots) can be 0.001 μm or greater, such as 0.005 μm or greater, such as 0.01 μm or greater, such as 0.05 μm or greater, such as 0.1 μm or greater, such as 0.5 μm or greater, such as 1 μm or greater, such as 5 μm or greater, such as 10 μm or greater, and includes 100 μm or greater overlap.

[0073] In some examples, the flow cytometry system of the present invention is configured to image particles in a flowing stream by using fluorescence imaging with radiofrequency tagged emission (FIRE), as described, for example, by Diebold et al. in Nature Photonics Vol. 7(10); 806-810 (2013), and in U.S. Patents: No. 9,423,353, No. 9,784,661, No. 9,983,132, No. 10,006,852, No. 10,078,045, No. 10,036,699, No. 10,222,316, No. 10,288,546, No. 10,324,019, No. 10 The contents of the patents and patent publications described in No. 408,758, 10,451,538, 10,620,111 and U.S. Patent Publications No. 2017 / 0133857, 2017 / 0328826, 2017 / 0350803, 2018 / 0275042, 2019 / 0376895 and 2019 / 0376894 are incorporated herein by reference.

[0074] As described above, in the embodiments, light from the irradiated sample is sent to a light detection system and measured by multiple photodetectors, which will be described in detail below. In some embodiments, the method includes measuring the collected light within a wavelength range (e.g., 200 nm–1000 nm). For example, the method may include the spectrum of light collected in one or more wavelength ranges from 200 nm to 1000 nm. In other embodiments, the method includes measuring the collected light at one or more specific wavelengths. For example, the collected light may be measured at one or more wavelengths and combinations thereof, including 450 nm, 518 nm, 519 nm, 561 nm, 578 nm, 605 nm, 607 nm, 625 nm, 650 nm, 660 nm, 667 nm, 670 nm, 668 nm, 695 nm, 710 nm, 723 nm, 780 nm, 785 nm, 647 nm, and 617 nm. In some embodiments, the method includes measuring the wavelength of the light, which corresponds to the fluorescence peak wavelength of the fluorophore. In some embodiments, the method includes measuring the collected light across the entire fluorescence spectrum of each fluorophore in the sample.

[0075] The collected light can be measured continuously or at discrete intervals. In some examples, the method includes measuring the light continuously. In other examples, the light is measured at discrete intervals, such as every 0.001 milliseconds, every 0.01 milliseconds, every 0.1 milliseconds, every 1 millisecond, every 10 milliseconds, every 100 milliseconds, and including every 1000 milliseconds or other intervals.

[0076] During the method described in this subject matter, the collected light may be measured one or more times, such as two or more times, three or more times, five or more times, and including ten or more times. In some embodiments, the light propagation is measured two or more times, and in some examples, the data are averaged.

[0077] The light from the sample can be measured at one or more wavelengths, such as at five or more different wavelengths, such as at ten or more different wavelengths, such as at 25 or more different wavelengths, such as at 50 or more different wavelengths, such as at 100 or more different wavelengths, such as at 200 or more different wavelengths, such as at 300 or more different wavelengths, and including at 400 or more different wavelengths.

[0078] Histogram of cytological data

[0079] In an embodiment, a histogram of cytological data of the sample is obtained. A histogram of cytological data means that the cytological data is displayed in any convenient histogram format, wherein the histogram is configured in any convenient manner (i.e., with any convenient number of histogram bins and any convenient set of measurements or measurement ranges associated with each bin). In some examples, the histogram of cytological data may include cytological data from a single channel of a single detector. In an embodiment, the histogram includes multiple bins, and histogram values ​​are associated with histogram bins. The histogram of interest may include two or more bins, ten or more bins, 50 or more bins, 100 or more bins, 256 or more bins, or 1000 or more bins. The bins of the histogram may correspond to, for example, measurement ranges from detector channels, and the values ​​in a particular histogram bin may correspond to the number of measurements of irradiated particles in the sample that fall within the range of measurements corresponding to that particular histogram bin. In other embodiments, the measurements are light intensity measurements, such that the bins of the histogram may correspond to a range of light intensity measurements. In other embodiments, the histogram is a spectral intensity histogram.

[0080] Figure 1 A display 100 depicts an exemplary histogram 120 of sample cytology data according to the present invention. Histogram 120 is also represented as a two-dimensional plot 115 on the x-axis 105 and the y-axis 110. Histogram 120 can also be represented as a one-dimensional array 120 of histogram bins, each bin including histogram values; and as color bars 130, wherein different colors correspond to each histogram value.

[0081] X-axis 105 represents different measurements of cytological data. In examples of the invention, the x-axis can reflect the cytological data and thus represent different measurement ranges. For example, the x-axis (and cytological data) can represent measurements of light emitted from particles irradiated in a sample, such as measurements of light intensity. In some embodiments, the x-axis (and cytological data) represents one or more forward-scattered light (i.e., excitation light scattered primarily in the forward direction by the particles), side-scattered light (i.e., excitation light scattered primarily in the lateral direction by the particles), and fluorescence (i.e., light emitted by fluorescent molecules or fluorescent dyes used to label particles in one or more frequency ranges). The x-axis depicted in Display 100 can be divided into discrete ranges of measurements, each associated with a histogram box.

[0082] The y-axis 110 represents the value for each histogram box, i.e., the measured number of sample particles falling within each histogram box. As mentioned above, Figure 1The histogram is also depicted as a one-dimensional array 120. Array 120 consists of a number of bins, such as a single bin 120a, where each bin corresponds to one of a range of discrete measurements on the x-axis 105. Each bin of histogram 120 includes an integer representing the number of measurements corresponding to the sample particles contained in the cytological data falling within the measurement range covered by each bin. Figure 1 As shown, box 120a includes the number "24", indicating that the cytological data includes 24 measurements that fall within the range of data values ​​associated with box 120a (this range of measurements is not shown in the figure), each measurement corresponding to a particle in the sample.

[0083] An alternative display for histogram 120 is shown in color bar 130. Color bar 130 shows a set of colors associated with the corresponding histogram values ​​(i.e., the values ​​in each bin of histogram 120). Color bar 130 can be understood as "looking down" on histogram 120, where each color represents the histogram value for each bin. Color bar 130 can easily summarize the characteristics of histogram 120 in a visual form. For example, bins with relatively high histogram values ​​can be assigned relatively different colors from another bin with relatively low histogram values ​​to make the data visually distinguishable.

[0084] In some cases, cytological data may include data from multiple different channels of multiple detection devices. In this scenario, the cytological data may include several different histograms, where each histogram corresponds to one of the multiple different channels of multiple detection devices. Therefore, as... Figure 1 As shown, the histogram according to the present invention needs to be displayed in a scaled manner relative to a plurality of additional histograms.

[0085] Figure 2 A display 200 showing a plurality of histograms 210 according to the present invention is shown. Each of the plurality of histograms is as follows: Figure 1 The color bars 130 shown are color bars. For example, in this case, histogram 210a is depicted as vertically oriented color bars. Each color of histogram 210a corresponds to a histogram value, that is, the value in each bin of histogram 210a. Different histogram values ​​are assigned different colors, so that the display 200 of histogram 210 can easily present the salient features of the histogram in a visual form. The display 200 presents a visual description of cytological data obtained from six different detectors 215a-215f. The results of each of detectors 215a-215f include multiple different channels, including channel 210a belonging to detector 215a. The individual histogram shown in channel 210a is similar to Figure 1The color bar 130 presents a single histogram. Specifically, the histogram of channel 210a is divided into multiple vertical sections, components, or bins, each corresponding to a measurement range. That is, the histogram bins are arranged vertically in the visual display of the histogram of channel 210a and assigned different colors, so that the features of the histogram of channel 210a (particularly the histogram values ​​of each histogram bin) can be visually distinguished from each other. The vertical axis 220 of histogram 210 indicates different intensity values, such as the light intensity measured at each point in the different channels of the cytological data depicted in histogram 210. That is, each bin of histogram 210a corresponds to a range of light intensity measurements, such that bins near the top of the vertical axis 220 of histogram 210a correspond to larger intensity measurements than bins near the bottom of the vertical axis 220 of histogram 210a. Although Figure 2 The light intensity and specific orientation of histogram 210 are shown, but it should be understood that measurements of any relevant parameters of cytological data and different orientations shown in the histogram can be taken in a similar manner.

[0086] Figure 2 Also visible are controls 230 for adjusting channel gain settings in a particle analyzer used to generate cytological data represented by histogram 210. Adjusting the channel gain settings will have the effect of shifting the histogram up or down along the vertical axis 220. In this embodiment, the display of histogram 210 and controls 230 are used to adjust the gain settings to obtain optimal response of the detector channels without saturating any channels.

[0087] Histogram representation

[0088] The method according to the invention includes "generating a representation of a histogram by encoding the histogram". Generating a "representation of a histogram" by encoding the histogram means generating the histogram representation by isolating prominent aspects of the histogram (e.g., the number of bins in the histogram, the measurement range associated with each bin of the histogram, and the number of data points corresponding to each histogram bin), and specifying these aspects of the histogram in a format that is easy to use and convenient to display. That is, for example, a histogram of cytological data can be a one-dimensional array representing an ordered, continuous list of data elements, wherein each element of the array corresponds to a histogram bin and includes an integer corresponding to the number of data points associated with the measurement range represented by the bin. In an example, the "representation of a histogram" generated by encoding such a histogram includes encoding the histogram in a format that is easy to display. For example, in some embodiments, the histogram representation is generated by encoding the histogram as an array. Such an array can include any convenient dimension, such as a one-dimensional array, a two-dimensional array, or a three-dimensional array or a higher-dimensional array. Any convenient number of elements can include the number of entries in each dimension of the array. In some cases, if the vertical axis of the array representation corresponds to a histogram bin, the number of elements in the array representation of the histogram can be 16 or more, 64 or more, 256 or more, or 1024 or more. In some cases, the array representation includes a two-dimensional array, and each element of the array corresponds to a display color, and each display color corresponds to a number that is the number of data points associated with the measurement range of the histogram bin (i.e., the measurement result of particles in a sample reflected in cytological data). In embodiments where the histogram representation includes an array (e.g., a two-dimensional array), within such a two-dimensional array, the horizontal array axes can represent different histogram bins, while the vertical array axes can be presented to "stretch" the histogram laterally to a certain extent so that the display of the histogram is meaningful. That is, the horizontal axes are presented such that the histogram has sufficient width for the display to be easily understood by the user. In such an exemplary two-dimensional array, each horizontal element is simply a copy of the adjacent horizontal element. In such an embodiment, copying each color a predetermined number of times corresponding to each histogram value in the histogram representation may include copying the elements of the array along the horizontal axis of the array, for example, copying the encoded colors of the histogram bins assigned to the histogram representation along the horizontal axis.

[0089] According to the present invention, the histogram representation as described above is generated by assigning a color to each histogram value in the histogram representation, and then copying each color corresponding to each histogram value in the histogram representation a predetermined number of times. "Assigning a color to each histogram value in the histogram representation" means converting the numbers representing the histogram values ​​into codes for display colors. Encoding the display colors means encoding, for example, a display device or a controller for the display device (e.g., a firmware device driver), to display one or more pixels of a certain color. In embodiments, assigning a color to each histogram value in the histogram representation may include assigning codes for display colors to array elements along the longitudinal axis of the histogram representation. The term "copy" in the context of copying each color in the histogram representation refers to its conventional meaning of copy. In this case, the code for the color corresponding to the histogram value is copied a predetermined number of times to "stretch" the histogram representation in the lateral direction to reflect the width of the final displayed histogram image. The code for the color in the histogram representation can be copied any convenient or desirable number of times. For example, the predetermined number of times a color is copied in the histogram representation, and thus the number of times the color encoding is copied, can be 1 or more, 10 or more, 20 or more, 50 or more, 100 or more, or 1,000 or more. When copying each color corresponding to each histogram value in the histogram representation, the histogram representation consists of a series of "slices" or partitions, each slice or partition encoding a color, wherein each slice or partition corresponds to a histogram value, and the width of each slice corresponds to the predetermined number of times the histogram color is copied.

[0090] In embodiments, the method according to the invention may further include determining the maximum value in a bin of a histogram, and using that maximum value to determine a scaling factor for assigning colors to the histogram values. The maximum value in a bin of a histogram means scanning or iterating the histogram to find the maximum value, i.e., the bin with the most measurements in the associated cytological data. The scaling factor may be determined based on the ratio of the maximum value in the histogram bin to the number of available display colors. In such embodiments, assigning colors to histogram values ​​in a histogram representation includes scaling the histogram values ​​using a scaling factor to produce scaled histogram values, and assigning colors corresponding to the histogram values ​​based on the scaled histogram values. That is, scaling the histogram values ​​results in scaled histogram values ​​corresponding to color encoding. The number of different colors available for the histogram bin is equal to the number of scaled histogram values, and the same histogram value always corresponds to the same scaled histogram value. Scaled histogram values ​​may be in the form of shifting the binary representation of the histogram value one bit or more to the right. The method may also include obtaining a color palette and accessing the palette using scaled histogram values ​​to determine colors corresponding to the histogram values, the palette containing available colors for histogram representation. The color palette may include a list of available display colors. For example, in some embodiments, the color palette is an array of different colors, and accessing the palette using scaled histogram values ​​includes indexing in the palette array from a base position or a zero position using the scaled histogram values. An array of different colors means a continuous list of codes for display colors, such as a one-dimensional array or a continuous list. Indexing in the palette array means, for example, accessing the number of entries for the scaled histogram values ​​in the palette. The color palette may contain any convenient number of colors corresponding to the number of colors to be displayed, such as 8 or more colors, 32 or more colors, 256 or more colors, 1024 or more colors, 16384 or more colors, 65536 or more colors, or 16777216 or more colors. For example, in some cases, the number of colors displayed may correspond to the number of colors that the display device of interest can display, or in some cases, the number of colors that the display device can clearly display. That is, the number of colors, and thus the number of color codes, may correspond to, for example, the number of colors that a monitor can display, or the number of colors that a monitor can display in combination with an alternative device, such as one that displays more colors by employing frame rate control techniques. In embodiments, a number of bits may be allocated to encode each color in the histogram. The number of bits used to encode colors in the histogram can be any convenient number of bits, such as three or more bits, five or more bits, eight or more bits, ten or more bits, 16 or more bits, 24 or more bits, or 32 or more bits.

[0091] Some embodiments follow a specific order of operations to generate histogram representations for greater efficiency and speed. For example, the method according to the invention generates a histogram representation more efficiently by assigning a color to each histogram value in the histogram representation before copying each color corresponding to each histogram value in the histogram representation a predetermined number of times. The efficiency of generating the histogram representation and the more efficient rendering of the histogram display using such a representation are very useful for improving the responsiveness of histogram displays, especially when displaying a large number of histograms or when high-speed or real-time updates to the histogram display are required. In embodiments, examples of this specific order of operations include assigning a color to each histogram value in the histogram representation by assigning the color encoding to no more than a single position (e.g., an array element) at each vertical position in the histogram representation (e.g., an array element). In such embodiments, the operation of converting the histogram value to a color encoding (e.g., by accessing a color palette) occurs only once for each histogram bin. That is, each row of the histogram representation only requires one "lookup" for the color corresponding to the histogram bin. In other embodiments, copying each color corresponding to each histogram value in the histogram representation includes copying elements of the histogram representation along the horizontal axis of the histogram representation.

[0092] As described above, the histogram representation facilitates the display of the histogram based on this representation. For example, in embodiments of the invention, the histogram representation is an array, where each element of the array can correspond to a pixel in the final display of the histogram. That is, there can be a one-to-one correspondence between each element of the array representation of the histogram and each pixel in the display used to display the histogram. Furthermore, the orientation of the array can also correspond to the orientation of the histogram display. For example, in embodiments of the invention, the histogram representation is an array, where elements of the array along the vertical axis correspond to pixels along the vertical axis of the histogram display, and elements of the array along the horizontal axis correspond to pixels along the horizontal axis of the histogram display.

[0093] Histogram display

[0094] The method according to the invention includes displaying a histogram using a histogram representation. Any convenient histogram display can be used. The histogram representation may reflect aspects or constraints of the histogram display, such as the number of pixels allocated to the histogram in the display or the number of different colors available for displaying the histogram. In some embodiments, the histogram representation is used to display the histogram, for example, on a display device such as a screen or monitor or liquid crystal display (LCD) or cathode ray tube, plasma screen, or any other convenient output display device.

[0095] In some cases, the histogram representation according to the invention corresponds to various aspects of how the histogram is displayed. For example, in an embodiment, the predetermined number is the number of pixels displayed along the lateral direction of the displayed histogram. In such an embodiment, each pixel is copied a predetermined number of times in the lateral direction as each color in the histogram representation is copied a predetermined number of times, so as to laterally "stretch" the histogram display.

[0096] In other embodiments, the displayed histogram is rectangular in shape, the vertical axis of the displayed histogram corresponds to the histogram bin, and the colors in the displayed histogram correspond to the histogram values. In such embodiments, different colors in the displayed histogram correspond to different histogram values, as described above.

[0097] Parallel processing

[0098] The method for generating histogram representations according to the present invention exhibits high parallelism. This high parallelism means that the method for generating histogram representations according to the present invention consists of multiple independent tasks. Since these tasks are independent, they can be executed concurrently or in parallel, thereby covering the latency of completing each individual task. In other words, the method for generating histogram representations according to the present invention is a highly parallelizable operation. When generating histogram representations, the method according to the present invention utilizes this high parallelism to improve the efficiency of displaying the histogram. In the context of embodiments of the method according to the present invention within a computer processor, this improvement in efficiency can require the use of fewer computational resources, such as the limited computational resources in a particle analyzer, improved performance, such as reduced latency in generating histogram representations according to the present invention (and thus reduced latency in displaying the histogram). For example, latency can be reduced by simultaneously implementing independent operations or by reducing the number of long-latency operations (e.g., memory accesses).

[0099] As described above, the method according to the invention includes assigning a color to each histogram value in a histogram representation. In some embodiments of the invention, colors are assigned to multiple histogram values ​​substantially simultaneously. That is, since each bin of the histogram of the cytological data is separate and independent of each other, the operation of assigning color to each bin in the histogram representation is a parallelizable task and can therefore be performed substantially simultaneously. Such embodiments may also include using multiple parallel processing units to assign colors to multiple histogram values ​​substantially simultaneously. By parallel processing units, this means, for example, using a microprocessor capable of executing multiple instruction streams (e.g., multiple execution threads) simultaneously, such as a microprocessor with multiple central processing units or a multiprocessor or multicore microprocessor. In such embodiments, the multiple parallel processing units may include a graphics processing unit. By graphics processing unit, this means any convenient graphics processor or microprocessor that includes a more parallel architecture than a general-purpose processor, such as more execution cores, such that the graphics processing unit is configured to perform multiple operations in parallel. The graphics processing unit of interest includes a graphics processing unit with hundreds of processing units operating in parallel, and the graphics processing unit resides on a graphics video card and can be programmed using an application programming interface (API), such as the WebGL API, OpenGL API, DirectX Video Acceleration (DxVA) API, Mantle, Vulcan, etc. The graphics processing unit of interest may include commercial graphics processing units, such as those selected from Nvidia, AMD, Intel, Qualcomm, or ARM. In embodiments utilizing the graphics processing unit, the graphics processing unit may include more than one hundred processing units, and each processing unit may be configured to assign color to histogram values ​​in a histogram representation substantially simultaneously. That is, the resources of the graphics processing unit, particularly the resources of multiple processing units, are utilized in parallel (i.e., substantially simultaneously) to assign color to histogram values ​​in a histogram representation according to the invention. In embodiments utilizing the graphics processing unit, the graphics processing unit is located on a graphics processing card. Located on a graphics processing card means that the graphics processing unit is not located on the motherboard of the computing system, but on a peripheral card that communicates with the motherboard via a bus (e.g., a PCI interface). Interested graphics processing cards can also interact directly with displays (such as display devices consisting of monitors or screens).

[0100] In embodiments utilizing a graphics processing unit, the graphics processing unit may receive a one-dimensional array corresponding to a histogram as input. That is, a histogram of the cytological data of a sample (from which a representation of the histogram is generated by encoding the histogram) may be input to the graphics processing unit in the form of a data structure containing a one-dimensional array. For example, this array may be an array of integers, where each element corresponds to a histogram bin and consists of histogram values. Each histogram value may represent a number of measurements in the cytological data corresponding to a predetermined measurement range, such as a range of light intensity measurements within a specific channel of a photodetector. The length of the array may vary as needed based on the desired representation of the histogram data and the number of bins in the cytological data histogram. In embodiments utilizing a graphics processing unit, the graphics processing unit may output a one-dimensional array corresponding to the histogram representation. For example, this one-dimensional output array may consist of an encoded array of display colors, where the graphics processing unit is used to convert different histogram values ​​into corresponding codes for display colors. In some embodiments utilizing a graphics processing unit, the graphics processing unit may not perform the task of copying each color corresponding to each histogram value in the histogram representation. In other words, in some embodiments, for each histogram value in the cytology data histogram, the graphics processing unit assigns it a color and does not perform, for example, a lookup operation to assign the color multiple times to each histogram value. This configuration holds even if the final representation of the histogram includes a horizontal dimension (e.g., when the horizontal dimension of the histogram representation is "stretched" to facilitate viewing the histogram display). As mentioned above, in some embodiments, the graphics processing unit does not perform the replication of each color in the histogram representation, for example, by not assigning the color multiple times to a single histogram value.

[0101] Multiple histograms

[0102] like Figure 2 As shown, multiple histograms are used when processing cytological data, which may include, for example, measurements from multiple channels of multiple detectors or otherwise have multiple distinct datasets, where it is desirable to analyze each dataset based on its own histogram. For each of the multiple histograms displayed, a representation of the individual histogram is generated according to any method discussed herein for generating a representation of the histograms used to display the histograms. Therefore, the method according to the invention may include generating representations of multiple histograms for displaying the histograms. The method may include: obtaining multiple cytological data histograms of a sample; generating representations of the multiple histograms according to any method discussed herein for generating representations of the individual histograms; and displaying the multiple histograms using the representations of the multiple histograms.

[0103] In an embodiment of the method for generating a representation of multiple histograms according to the present invention, each histogram among the multiple histograms may include a photometric result of cytological data obtained from each of the multiple channels of one or more detectors. As described above, the cytological data may include photometric result data, and each histogram may correspond to a different channel relative to the multiple histograms, for example, corresponding to... Figure 2 Different histograms for different detector channels are shown. To make histogram display easier, multiple histograms can be compared, such as histograms corresponding to different detector channels. In one embodiment, each histogram in the multiple histograms may include the same number of histogram bins. In other embodiments, the corresponding histogram bins for each histogram in the multiple histograms may have the same range of measurements associated with them. When each histogram in the multiple histograms includes the same number of histogram bins and / or, in the example, when each histogram bin in each of the multiple histograms corresponds to a comparable range of measurements, displaying multiple histograms facilitates more meaningful comparisons between the different histograms of the multiple histograms.

[0104] In an embodiment of the method according to the invention for generating representations of multiple histograms for displaying the histograms, using representations of multiple histograms to display the multiple histograms includes using representations of multiple histograms on a display device to display the multiple histograms. As described above, any convenient display device can be used to display the multiple histograms.

[0105] In some embodiments, the representation of multiple histograms includes a two-dimensional array. This two-dimensional array signifies an arrangement of data values, where, for each histogram value, each value has an associated column number and row number, and each column number and row number corresponds to one of the two dimensions of the array. In such an embodiment, the first dimension of the two-dimensional array may correspond to histogram bins, while the second dimension of the two-dimensional array may correspond to the histograms of multiple histograms. That is, individual histograms within multiple histograms can be indexed along the second dimension of the two-dimensional array, and different bins of different histograms can be indexed along the first dimension of the two-dimensional array.

[0106] As described above, in a single representation of cytologic data histograms, generating a single histogram representation exhibits a high degree of parallelism. Generating multiple histogram representations also exhibits a high degree of parallelism. Therefore, in embodiments of the method according to the invention for generating representations of multiple histograms, representations of more than one histogram are generated substantially simultaneously. This substantially simultaneous generation means that the latency of a single operation generating a single histogram representation overlaps with the latency of generating representations of one or more other histograms.

[0107] Measurement channel saturation display

[0108] Some embodiments of the method according to the invention also include determining whether a detector channel is saturated. A detector channel refers to a channel of a detector used to collect measurement results from irradiated particles in a sample, such as the detector described herein. In embodiments, when a detector channel is saturated, it is no longer able to meaningfully distinguish between different measurement results. In some cases, detector channel saturation manifests as a large number of measurements exceeding the established expected measurement range of the histogram. For example, the range of measurements in a histogram box (e.g., measurements of light, such as measurements of fluorescence from irradiated particles flowing in a flow) can be established using measurements corresponding to a known unsaturated detector channel. Other methods may also be used to establish the histogram measurement range. The detector channel may become saturated when subsequent measurements of the sample particles exceed the established measurement range as the detector channel is further used. In some cases, measurements exceeding the established histogram range may indicate that the measurement exceeds the maximum identifiable measurement value of the detector channel, or in other cases, it does not rise to the level of the minimum identifiable measurement value of the detector channel. In some cases, adjusting the detector channel gain setting (e.g., increasing or decreasing the gain) can resolve the saturation problem.

[0109] In an embodiment, determining whether a detector channel is saturated includes determining whether the oversaturation percentage of the detector channel is greater than a predetermined threshold. "Oversaturation percentage" refers to the ratio of the number of all particle measurements exceeding the established range of the histogram box to the total number of all particle measurements. That is, in some cases, "oversaturation percentage" qualitatively refers to the proportion of measurements in the cytological data that exceed the established range of the channel detector. In this case, measurements exceeding the established range cannot be displayed on a histogram reflecting the standard range of the detector channel histogram box. In some cases, the oversaturation percentage reflects the degree of saturation, such that a higher percentage indicates higher saturation. The predetermined saturation threshold can be any convenient percentage, such as 1% or more, 2% or more, 5% or more, 10% or more, 25% or more, 50% or more, or 75% or more. In some cases, the predetermined threshold can be configured to be the same for each individual histogram or each sample, such as a default value. In other cases, the predetermined threshold can be different for each individual histogram or each sample.

[0110] Some embodiments of the method according to the invention also include a saturation user interface displaying the detector channel corresponding to saturation. That is, the display of the histogram may be emphasized, or additional text or icons may be displayed to notify the user that the detector channel corresponding to the histogram is saturated. In some cases, the saturation user interface also includes displaying the oversaturation percentage of the detector channel and the corresponding histogram; for example, additional text in the display indicates the detector channel and the oversaturation percentage. In other cases, the histogram corresponding to the saturated detector channel is enlarged compared to the histogram corresponding to the unsaturated detector channel, i.e., the display size is increased. Once it is determined that the detector channel is saturated, the saturation user interface can be displayed. In some embodiments, the saturation user interface includes prompts with instructions for adjusting the saturated detector channel settings, for example, prompts with instructions to adjust the detector channel gain setting downwards by 5%, etc.

[0111] In embodiments displaying multiple histograms, the display of multiple histograms may further include displaying a saturation user interface corresponding to a saturated detector channel. That is, the histogram corresponding to a saturated detector channel can be emphasized in the display of multiple histograms, for example, by increasing the relative size of the histogram display corresponding to the saturated detector channel, displaying an icon on or near the histogram, highlighting the histogram display, displaying a border around the histogram, blinking the display, or varying the manner in which the histogram corresponding to the saturated detector channel is emphasized. The saturation user interface may include text indicating which detector channel is saturated and instructing the user to adjust the corresponding settings. In some embodiments, the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel. In other embodiments, the saturation user interface includes prompts for adjusting the settings of the saturated detector channel. For example, the saturation user interface may include a prompt with an instruction to adjust the gain setting of the saturated detector channel downwards by 5%.

[0112] Real-time processing and use the display to adjust settings

[0113] In embodiments of the method according to the invention, the generation of histogram representations, or the generation of representations of each of a plurality of histograms, is performed substantially in real time. Performed substantially in real time means that the method of the invention can be configured to generate representations according to certain time constraints, which include sufficiently short time constraints so that the display of the histograms can be continuously updated or re-displayed using updated or new cytological data histograms.

[0114] In other embodiments of the method according to the invention, the method may further include adjusting settings for collecting cytometry data based on the display of one or more histograms. Adjusting the settings for collecting cytometry data may include, for example, adjusting settings of a particle analyzer or flow cytometry particle detection system for collecting cytometry data. In some cases, adjusting the settings includes adjusting one or more gain settings of the detector channels used for collecting cytometry data. In this case, adjusting the gain settings of the detector channels used for collecting cytometry data may include preventing detector channel saturation. Channel saturation or detector saturation means that, in some cases, the channel or detector reaches or is close to its maximum measurement range, making it impossible for the channel or detector to meaningfully distinguish different measurements when saturated.

[0115] System for processing and displaying multichannel spectral histograms

[0116] As described above, various aspects of this disclosure include a system configured to process and display multichannel spectral histograms, such as histograms comprising cytological data measured from sample particles. In particular, this disclosure includes a system configured to generate histogram representations for displaying histograms. As described above, the term "histogram representation" refers to encoding of histogram data that can be used to display histogram data. Specifically, a histogram representation refers to one that can be efficiently generated to enable the display of multiple histograms while minimizing processing and display time, as well as the required memory and processing resources, allowing the display of one or more histograms to be updated substantially in real time. A system according to some embodiments includes a general-purpose processor including a memory operatively coupled to the general-purpose processor, wherein the memory includes instructions stored thereon that, when executed by the general-purpose processor, cause the general-purpose processor to: obtain a histogram of cytological data of a sample, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream; transmit the histogram to a plurality of parallel processing units; receive a histogram representation from the plurality of parallel processing units, wherein the representation includes an encoding of a color corresponding to each histogram value; and encode the colors corresponding to the histogram values ​​in the histogram representation. The code is copied a predetermined number of times; and a histogram is displayed on an output device using a histogram representation; and includes multiple parallel processing units operatively connected to a general-purpose processor and including a memory operatively coupled to the multiple parallel processing units, wherein the memory includes instructions stored thereon that, when executed by the multiple parallel processing units, cause the multiple parallel processing units to: receive the histogram from the general-purpose processor; generate a histogram representation by encoding the histogram, the encoding including assigning a color code to each histogram value in the histogram representation; and transmit the histogram representation to the general-purpose processor. The histogram of the cytological data of the sample is as described above. Systems and apparatus for collecting measurement results containing cytological data will be discussed below.

[0117] light source

[0118] In an embodiment, particles in a sample flowing in a flow stream can be illuminated with a light source relative to cytological data. This light source can be any suitable broadband or narrowband light source. Depending on the composition of the sample (e.g., cells, beads, non-cellular particles, etc.), the light source can be configured to emit light with wavelengths ranging from 200 nm to 1500 nm, for example from 250 nm to 1250 nm, for example from 300 nm to 1000 nm, for example from 350 nm to 900 nm, and including 400 nm to 800 nm. For example, the light source can include a broadband light source emitting light with wavelengths ranging from 200 nm to 900 nm. In other examples, the light source includes a narrowband light source emitting light with wavelengths ranging from 200 nm to 900 nm. For example, the light source can be a narrowband LED (1 nm–25 nm) emitting light with wavelengths ranging from 200 nm to 900 nm. In some embodiments, the light source is a laser. In some examples, the subject matter system includes gas lasers, such as helium-neon lasers, argon lasers, krypton lasers, xenon lasers, nitrogen lasers, CO2 lasers, CO lasers, argon-fluorine (ArF) excimer lasers, krypton-fluorine (KrF) excimer lasers, xenon-chlorine (XeCl) excimer lasers, or xenon-fluorine (XeF) excimer lasers, or combinations thereof. In other examples, the subject matter system includes dye lasers, such as stilbene, coumarin, or rhodamine lasers. In other examples, lasers of interest include metal vapor lasers, such as helium-cadmium (HeCd) lasers, helium-mercury (HeHg) lasers, helium-selenium (HeSe) lasers, helium-silver (HeAg) lasers, strontium lasers, neon-copper (NeCu) lasers, copper lasers, or gold lasers, or combinations thereof. In other examples, the system in question includes solid-state lasers such as ruby ​​lasers, Nd:YAG lasers, NdCrYAG lasers, Er:YAG lasers, Nd:YLF lasers, Nd:YVO4 lasers, Nd:YCa4O(BO3)3 lasers, Nd:YCOB lasers, Ti:sapphire lasers, thulium YAG lasers, ytterbium YAG lasers, ytterbium oxide lasers, or cerium-doped lasers and combinations thereof.

[0119] In other cases, the light source is a non-laser light source, such as lamps, including but not limited to halogen lamps, deuterium arc lamps, xenon arc lamps, light-emitting diodes (e.g., broadband continuous spectrum LEDs, superluminescent LEDs, semiconductor light-emitting diodes), broadband LED white light sources, and multi-LED integrated light sources. In some examples, the non-laser light source is a stable fiber-coupled broadband light source, a white light source, other light sources, or any combination thereof.

[0120] The light source can be positioned at any suitable distance from the sample flowing in the flow stream (e.g., the flow stream of a flow cytometer), for example, at a distance of 0.001 mm or more, such as 0.005 mm or more, 0.01 mm or more, 0.05 mm or more, 0.1 mm or more, 0.5 mm or more, 1 mm or more, 5 mm or more, 10 mm or more, 25 mm or more, and including 100 mm or more. Furthermore, the light source can illuminate the sample at any suitable angle (e.g., relative to the vertical axis of the flow stream), such as at angles from 10° to 90°, such as from 15° to 85°, from 20° to 80°, from 25° to 75°, and including from 30° to 60°, such as 90°.

[0121] The light source can be configured to illuminate the sample continuously or at discrete intervals. In some examples, the system includes a light source configured to continuously illuminate the sample, such as a continuous-wave laser that continuously illuminates the flow at a detection point in a flow cytometer. In other examples, the system of interest can use a light source configured to illuminate the sample at discrete intervals, such as every 0.001 milliseconds, every 0.01 milliseconds, every 0.1 milliseconds, every 1 millisecond, every 10 milliseconds, every 100 milliseconds, and including every 1000 milliseconds or other intervals. If the light source is configured to illuminate the sample at discrete intervals, the system can include one or more additional components to provide intermittent illumination of the sample by the light source. For example, the subject matter system in these embodiments may include one or more laser beam choppers, manually or computer-controlled beam blockers to block the sample and expose the sample to the light source.

[0122] In some cases, the light source is a laser. Lasers of interest can include pulsed lasers or continuous-wave lasers. For example, the laser can be: a gas laser, such as a helium-neon laser, an argon laser, a krypton laser, a xenon laser, a nitrogen laser, a CO2 laser, a CO laser, an argon-fluorine (ArF) excimer laser, a krypton-fluorine (KrF) excimer laser, a xenon-chlorine (XeCl) excimer laser, or a combination thereof; a dye laser, such as a stilbene, coumarin, or rhodamine laser; or a metal vapor laser, such as a helium-cadmium (HeCd) laser, a helium-mercury (HeHg) laser, a helium-selenium (HeSe) laser, a helium-silver (HeAg) laser, a strontium laser, or a neon laser. Copper (NeCu) lasers, copper lasers, or gold lasers and combinations thereof; solid-state lasers, such as ruby ​​lasers, Nd:YAG lasers, NdCrYAG lasers, Er:YAG lasers, Nd:YLF lasers, Nd:YVO4 lasers, Nd:YCa4O(BO3)3 lasers, Nd:YCOB lasers, Ti:sapphire lasers, thulium YAG lasers, ytterbium YAG lasers, ytterbium oxide lasers, or cerium-doped lasers and combinations thereof; semiconductor diode lasers; optically pumped semiconductor lasers (OPSLs) or frequency doubling or tripling of any of the above lasers.

[0123] In some examples, the light source is a beam generator configured to produce two or more beams of frequency-shifted light. In some examples, the beam generator includes a laser and a radio frequency (RF) generator configured to apply an RF drive signal to an acousto-optic device to produce laser beams deflected at two or more angles. In these embodiments, the laser can be a pulsed laser or a continuous-wave laser, as described above.

[0124] The acousto-optic device can be any convenient acousto-optic protocol configured to frequency-shift a laser using applied acoustic waves. In some embodiments, the acousto-optic device is an acousto-optic deflector. The acousto-optic device in this subject system is configured to generate an angle-deflected laser beam from a laser and an applied radio frequency (RF) drive signal. The RF drive signal can be applied to the acousto-optic device using any suitable RF drive signal source, such as a direct digital synthesizer (DDS), an arbitrary waveform generator (AWG), or an electrical pulse generator.

[0125] In the example, the controller is configured to apply radio frequency drive signals to the acousto-optic device to generate a laser beam with a desired number of angular deflections in the output laser beam, for example, to apply 3 or more radio frequency drive signals, such as 4 or more radio frequency drive signals, such as 5 or more radio frequency drive signals, such as 6 or more radio frequency drive signals, such as 7 or more radio frequency drive signals, such as 8 or more radio frequency drive signals, such as 9 or more radio frequency drive signals, such as 10 or more radio frequency drive signals, such as 15 or more radio frequency drive signals, such as 25 or more radio frequency drive signals, such as 50 or more radio frequency drive signals, and includes being configured to apply 100 or more radio frequency drive signals.

[0126] In some examples, in order to generate an intensity distribution of the angularly deflected laser beam in the output laser beam, the controller is configured to apply an RF drive signal with a certain amplitude, which varies in the range of, for example, from about 0.001V to about 500V, for example, from about 0.005V to about 400V, for example, from about 0.01V to about 300V, for example, from about 0.05V to about 200V, for example, from about 0.1V to about 100V, for example, from about 0.5V to about 75V, for example, from about 1V to 50V, for example, from about 2V to 40V, for example, from 3V to about 30V, and including from about 5V to about 25V. In some embodiments, each applied radio frequency drive signal has a frequency from about 0.001 MHz to about 500 MHz, such as from about 0.005 MHz to about 400 MHz, such as from about 0.01 MHz to about 300 MHz, such as from about 0.05 MHz to about 200 MHz, such as from about 0.1 MHz to about 100 MHz, such as from about 0.5 MHz to about 90 MHz, such as from about 1 MHz to about 75 MHz, such as from about 2 MHz to about 70 MHz, such as from about 3 MHz to about 65 MHz, such as from about 4 MHz to about 60 MHz, and including from about 5 MHz to about 50 MHz.

[0127] In some embodiments, the controller has a processor with a memory operatively coupled to the processor, such that the memory includes instructions stored thereon that, when executed by the processor, cause the processor to generate an output laser beam with an angle deflection having a desired intensity distribution. For example, the memory may include instructions for generating two or more (e.g., three or more, four or more, five or more, ten or more, 25 or more, 50 or more, including 100 or more) laser beams with the same angle deflection intensity. In other embodiments, the memory may include instructions for generating two or more (e.g., three or more, four or more, five or more, ten or more, 25 or more, 50 or more, including 100 or more) laser beams with different angle deflections.

[0128] In some cases, the controller has a processor with a memory operatively coupled to the processor, such that the memory includes instructions stored thereon that, when executed by the processor, cause the processor to generate an output laser beam with increasing intensity along a horizontal axis from the edge to the center. In these examples, the intensity of the angle-deflected laser beam at the center of the output beam along the horizontal axis can be from 0.1% to about 99%, for example from 0.5% to about 95%, for example from 1% to about 90%, for example from about 2% to about 85%, for example from about 3% to about 80%, for example from about 4% to about 75%, for example from about 5% to about 70%, for example from about 6% to about 65%, for example from about 7% to about 60%, for example from about 8% to about 55%, and including about 10% to about 50%. In other cases, the controller has a processor with a memory operatively coupled to the processor, such that the memory includes instructions stored thereon that, when executed by the processor, cause the processor to generate an output laser beam with increasing intensity along a horizontal axis from the edge to the center. In these examples, the intensity of the angle-deflected laser beam at the edge of the output laser beam along the horizontal axis can be from 0.1% to about 99%, for example from 0.5% to about 95%, for example from 1% to about 90%, for example from about 2% to about 85%, for example from about 3% to about 80%, for example from about 4% to about 75%, for example from about 5% to about 70%, for example from about 6% to about 65%, for example from about 7% to about 60%, for example from about 8% to about 55%, and including about 10% to about 50%. In other cases, the controller has a processor having a memory operatively coupled to the processor, such that the memory includes instructions stored thereon that, when executed by the processor, cause the processor to generate an output laser beam with a Gaussian intensity distribution along the horizontal axis. In other cases, the controller has a processor having a memory operatively coupled to the processor, such that the memory includes instructions stored thereon that, when executed by the processor, cause the processor to generate an output laser beam with a top-hat intensity distribution along the horizontal axis.

[0129] In the examples, the beam generator of interest can be configured to produce spatially separated angle-deflected laser beams within the output laser beam. Depending on the applied RF drive signal and the desired illumination distribution of the output laser beam, the angle-deflected laser beams can be spaced apart by 0.001 μm or more, for example, 0.005 μm or more, for example, 0.01 μm or more, for example, 0.05 μm or more, for example, 0.1 μm or more, for example, 0.5 μm or more, for example, 1 μm or more, for example, 5 μm or more, for example, 10 μm or more, for example, 100 μm or more, for example, 500 μm or more, for example, 1000 μm or more, and including 5000 μm or more. In some examples, the system is configured to produce overlapping angle-deflected laser beams within the output laser beam, for example, having adjacent angle-deflected laser beams along the horizontal axis of the output laser beam. The overlap between adjacent angle-deflected laser beams (e.g., the overlap of beam spots) can be 0.001 μm or greater, such as 0.005 μm or greater, such as 0.01 μm or greater, such as 0.05 μm or greater, such as 0.1 μm or greater, such as 0.5 μm or greater, such as 1 μm or greater, such as 5 μm or greater, such as 10 μm or greater, and includes 100 μm or greater overlap.

[0130] In some examples, beam generators configured to produce two or more frequency-shifted beams include U.S. Patent Nos. 9,423,353, 9,784,661, 9,983,132, 10,006,852, 10,078,045, 10,036,699, 10,222,316, 10,288,546, 10,324,019, and 10,408,7 Laser excitation modules described in U.S. Patent Publications 58, 10,451,538, 10,620,111, 2017 / 0133857, 2017 / 0328826, 2017 / 0350803, 2018 / 0275042, 2019 / 0376895, and 2019 / 0376894, the disclosures of which are incorporated herein by reference.

[0131] detector

[0132] In embodiments, cytological data may include measurements of light detected from particles irradiated in a sample flowing in a flow stream. This light from the sample particles can be measured using a light detection system. The light detection system may have one or more photodetectors. Photodetectors of interest may include, but are not limited to, optical sensors such as active pixel sensors (APS), avalanche photodiodes, image sensors, charge-coupled devices (CCDs), enhanced charge-coupled devices (ICCDs), light-emitting diodes, photon counters, calorimeters, pyroelectric detectors, photoresistors, photovoltaic cells, photodiodes, photomultiplier tubes, phototransistors, quantum dot photoconductors, or combinations thereof, as well as other photodetectors. In some embodiments, light from the sample is measured using a charge-coupled device (CCD), a semiconductor charge-coupled device (CCD), an active pixel sensor (APS), a complementary metal-oxide-semiconductor (CMOS) image sensor, or an N-type metal-oxide-semiconductor (NMOS) image sensor.

[0133] In the examples, the light detection system of interest includes multiple photodetectors. In some examples, the light detection system includes multiple solid-state detectors, such as photodiodes. In some examples, the light detection system includes a photodetector array, such as a photodiode array. In these embodiments, the photodetector array may include four or more photodetectors, such as ten or more photodetectors, such as 25 or more photodetectors, such as 50 or more photodetectors, such as 100 or more photodetectors, such as 250 or more photodetectors, such as 750 or more photodetectors, and may include 1000 or more photodetectors. For example, the detector may be a photodiode array having four or more photodiodes, such as ten or more photodiodes, such as 25 or more photodiodes, such as 50 or more photodiodes, such as 100 or more photodiodes, such as 250 or more photodiodes, such as 50 or more photodiodes, such as 100 or more photodiodes, such as 250 or more photodiodes, such as 500 or more photodiodes, such as 750 or more photodiodes, and may include 1000 or more photodiodes.

[0134] The photodetectors can be arranged in any geometric configuration as needed, including but not limited to square, rectangular, trapezoidal, triangular, hexagonal, heptagonal, octagonal, non-gonal, decagonal, dodecagonal, circular, elliptical, and irregular pattern configurations. The angular orientation of the photodetectors in the photodetector array relative to other photodetectors (e.g., a reference in the XZ plane) can be from 10° to 180°, for example from 15° to 170°, from 20° to 160°, from 25° to 150°, from 30° to 120°, and including 45° to 90°. The photodetector array can be any suitable shape and can be: linear shapes, such as squares, rectangles, trapezoids, triangles, hexagons, etc.; curved shapes, such as circles, ellipses; and irregular shapes, such as the bottom portion of a parabola coupled to the top portion of a plane. In some cases, the photodetector array has a rectangular active surface.

[0135] Each photodetector (e.g., a photodiode) in the array may have an active surface with a width ranging from 5 μm to 250 μm, for example from 10 μm to 225 μm, for example from 15 μm to 200 μm, for example from 20 μm to 175 μm, for example from 25 μm to 150 μm, for example from 30 μm to 125 μm, and including 50 μm to 100 μm, and a length ranging from 5 μm to 250 μm, for example from 10 μm to 225 μm, for example from 15 μm to 200 μm, for example from 20 μm to 175 μm, for example from 25 μm to 150 μm, for example from 30 μm to 125 μm, and including 50 μm to 100 μm, wherein the surface area of ​​each photodetector (e.g., a photodiode) in the array ranges from 25 μm. 2 Up to 10000μm 2 For example, from 50μm 2 up to 9000μm 2 For example, from 75μm 2 up to 8000μm 2 For example, from 100μm 2 up to 7000μm 2 For example, from 150μm 2 up to 6000μm 2 And including from 200μm 2 up to 5000μm 2 .

[0136] The size of the photodetector array can vary depending on the amount and intensity of light, the number of photodetectors, and the required sensitivity. Its length can range from 0.01 mm to 100 mm, for example, from 0.05 mm to 90 mm, from 0.1 mm to 80 mm, from 0.5 mm to 70 mm, from 1 mm to 60 mm, from 2 mm to 50 mm, from 3 mm to 40 mm, from 4 mm to 30 mm, and including 5 mm to 25 mm. The width of the photodetector array can also vary from 0.01 mm to 100 mm, for example, from 0.05 mm to 90 mm, from 0.1 mm to 80 mm, from 0.5 mm to 70 mm, from 1 mm to 60 mm, from 2 mm to 50 mm, from 3 mm to 40 mm, from 4 mm to 30 mm, and including 5 mm to 25 mm. Therefore, the active surface area of ​​the photodetector array can vary from 0.1 mm... 2 Up to 10000mm 2 For example, from 0.5mm 2 Up to 5000mm 2 For example, from 1mm 2 Up to 1000mm 2 For example, from 5mm 2 Up to 500mm 2 And including from 10mm 2 Up to 100mm 2 .

[0137] The photodetector of interest can be configured to measure the collected light at one or more wavelengths, such as at two or more wavelengths, such as at five or more different wavelengths, such as at ten or more different wavelengths, such as at 25 or more different wavelengths, such as at 50 or more different wavelengths, such as at 100 or more different wavelengths, such as at 200 or more different wavelengths, such as at 300 or more different wavelengths, and including measuring the light emitted by the sample in the flow stream at 400 or more different wavelengths.

[0138] In some embodiments, the photodetector is configured to measure the collected light within a wavelength range (e.g., 200 nm–1000 nm). In other embodiments, the photodetector of interest is configured to collect the spectrum of light within a wavelength range. For example, the system may include one or more detectors configured to collect the spectrum of one or more types of light within the wavelength range of 200 nm–1000 nm. In other embodiments, the detector of interest is configured to measure light from a sample in the flowing stream at one or more specific wavelengths. For example, the system may include one or more detectors configured to measure one or more types of light at 450 nm, 518 nm, 519 nm, 561 nm, 578 nm, 605 nm, 607 nm, 625 nm, 650 nm, 660 nm, 667 nm, 670 nm, 668 nm, 695 nm, 710 nm, 723 nm, 780 nm, 785 nm, 647 nm, 617 nm, and any combination thereof. In some embodiments, the photodetector may be configured to pair with a specific fluorophore, such as those used with the sample in a fluorescence assay. In some embodiments, the photodetector is configured to measure the collected light across the entire fluorescence spectrum of each fluorophore in the sample.

[0139] The light detection system is configured to measure light continuously or at discrete intervals. In some examples, the photodetector of interest is configured to continuously measure the collected light. In other instances, the light detection system is configured to perform measurements at discrete intervals, such as every 0.001 milliseconds, every 0.01 milliseconds, every 0.1 milliseconds, every 1 millisecond, every 10 milliseconds, every 100 milliseconds, and including measuring light once every 1000 milliseconds or at other intervals.

[0140] Processor and memory configuration

[0141] The system according to this disclosure includes a processor having a memory operatively coupled to the processor, wherein the memory includes instructions stored thereon that, when executed by the processor, cause the processor to: obtain a histogram of cytological data of a sample, wherein the cytological data includes measurements from irradiated particles in a sample flowing in a flow stream; send the histogram to a plurality of parallel processing units; receive a histogram representation from the plurality of parallel processing units, wherein the representation includes an encoding of a color corresponding to each histogram value; copy the encoding of the color corresponding to the histogram value in the histogram representation a predetermined number of times; and display the histogram on an output device using the histogram representation.

[0142] In the example, a general-purpose processor can be used to obtain the histogram of cytology data using any convenient input technique, such as via wired or wireless network connections, shared memory, buses, or communication protocols similar to those used for cytology data sources, such as Ethernet or Universal Serial Bus (USB) connections, portable storage devices, etc. The general-purpose processor can be configured to preprocess the histogram of cytology data so that it is stored in memory in a form suitable for subsequent processing (e.g., processing via parallel processing units). This storage can be any convenient arrangement that allows further processing to be optimized by parallel processing units, such as contiguous memory arrays or lists, where each histogram bin is accessed by an offset relative to a base memory address corresponding to the start or zero position of the array. Sending the histogram to multiple parallel processing units implies any convenient means of initiating further processing of the cytology data on the histogram via multiple parallel processing units. Such transmission may include function calls from a general-purpose processor to multiple parallel processing units that communicate with locations in memory corresponding to histogram locations (e.g., the base address of the histogram in memory), wherein the function has the effect of initiating further processing by the multiple parallel processing units. A general-purpose processor refers to any convenient processor optimized for general-purpose workloads. While such a processor may consist of multiple cores or multiple processors, it is generally desirable that it contains fewer such cores than the multiple parallel processing units according to the invention.

[0143] Similarly, receiving a histogram representation from multiple parallel processing units means that any convenient signaling means can be used to indicate that the multiple parallel processing units have completed the generation of the histogram representation, which consists of an encoding of the set of display colors corresponding to each histogram value. As detailed above, generating encodings for histogram values ​​of cytology data histograms is a highly parallel task, and therefore it is performed on parallel processing units to reduce overall latency and memory usage requirements. Multiple parallel processing units mean, for example, that a graphics processor or similar processor is optimized to perform a large number of parallel operations simultaneously, for example, integrating multi-core processors or even a series of processors into memory to facilitate longer-latency memory operations. As mentioned above, any convenient graphics processor can be used, such as commercially available graphics processors selected from Nvidia, AMD, Intel, Qualcomm, or ARM. Receiving the histogram representation from multiple parallel processing units can be done by sending the histogram representation to the processor in the form of a function call, for example, by sending the base address of the histogram representation to the processor for further processing. Encoding the histogram to generate a histogram representation involves assigning a color code to each histogram value in the histogram representation. This means creating a representation for the histogram of memory cell data, consisting of codes for display colors, each code corresponding to a histogram value. Any convenient technique can be used to generate this representation; for example, scaling each histogram value based on the maximum histogram value and the number of available display colors, and using this scaling value to access a lookup table consisting of codes for the available display colors.

[0144] Copying the color encoding corresponding to the histogram values ​​in the histogram representation a predetermined number of times means copying the color encoding in the histogram representation a predetermined number of times, typically corresponding to the number of pixels in the width of the histogram display. Any convenient technique can be used to perform this copying operation to minimize long latency operations, such as memory accesses. That is, this copying can be performed by loading the value to be copied once from memory and using the value obtained from that single load instruction to copy the colors in the histogram representation a predetermined number of times. The color encoding can be copied such that the resulting histogram representation is in a form favorable for displaying the histogram. For example, the histogram representation can be stored contiguously in memory so that it can be easily sent to a display device or otherwise used to display the histogram.

[0145] Using a histogram representation to display a histogram on the output device means sending the histogram representation in any convenient manner. This histogram representation consists of color-coded histogram values ​​copied a predetermined number of times, corresponding to "stretching" the histogram so that its width is the ideal size for viewing the histogram display. Displaying a histogram using a histogram representation means that a general-purpose processor can make function calls to the output device to instruct it to begin displaying the histogram, and also send the position of the histogram representation in memory.

[0146] In embodiments of the system according to this disclosure, cytological data includes light measurements of irradiated particles in a sample. In such system embodiments, the light measurements may be light intensity measurements. In system embodiments, the cytological data includes one or more of the following measurements: excitation light scattered primarily forward by the particles; excitation light scattered primarily laterally by the particles; and light emitted from fluorescent molecules or fluorescent dyes used to label the particles in one or more frequency ranges.

[0147] In embodiments of the system according to this disclosure, the histogram includes multiple bins, and histogram values ​​are associated with histogram bins. In such system embodiments, each histogram bin may correspond to a measurement range of irradiated particles in the sample. In such embodiments, the measurement result may be a light intensity measurement result and / or the histogram may be a spectral intensity histogram.

[0148] The system according to this disclosure may also include a display device operatively connected to a general-purpose processor, wherein displaying a histogram on an output device using a histogram representation includes displaying a histogram on a display device using a histogram representation. By display device, any convenient device can be used to output an image of the histogram, such as a monitor, liquid crystal display, light-emitting diode display, plasma display, cathode ray tube, electroluminescent display, touchscreen, etc. The display device can be integrated with the general-purpose processor via a wired or wireless connection (e.g., via USB or Bluetooth). The operation of the display device can be controlled by software executed on the general-purpose processor. The display device may include a controller for controlling the display device capable of communicating with the general-purpose processor via, for example, a shared memory address. In some embodiments of the system, the predetermined number of times is the number of pixels displayed in the horizontal direction of the displayed histogram. That is, the histogram representation consists of each color that has been repeated a predetermined number of times, where the predetermined number of times corresponds to the width (in pixels) of the histogram display. In this case, the histogram representation can closely correspond to the histogram display, thereby optimizing the histogram display to reduce display latency. In one embodiment of the system, the displayed histogram may be rectangular, with its vertical axis corresponding to a histogram bin, and the colors in the histogram corresponding to histogram values. In such an embodiment, different colors in the displayed histogram may correspond to different histogram values. That is, different colors can be used to draw the viewer's attention to the values ​​or relative values ​​in the histogram bins, thereby aiding in the understanding and analysis of the underlying cytological data.

[0149] In a system embodiment, the histogram representation includes an array. An array refers to, for example, a contiguous list of memory locations, such that array elements (i.e., histogram bins) can be accessed by an offset relative to an array reference (i.e., the zero position of the array). In such a system embodiment, the encoding of color assignment to each histogram value in the histogram representation may include encoding the assignment of display colors to the elements of the array along the longitudinal axis of the array. In such a system embodiment, the encoding of color assignment to each histogram value in the histogram representation may include encoding the assignment of display colors to no more than a single array element at each longitudinal position of the array. That is, the generation of the histogram representation according to the invention can be optimized such that the relatively expensive operation of encoding the colors of the histogram values ​​occurs only once relative to each histogram bin, regardless of whether the final display of the histogram includes a width greater than a single pixel. In some cases, the longitudinal axis of the array has 256 entries, meaning that the histogram and its display contain enough space to accommodate 256 histogram bins. In other cases, copying the code for each color corresponding to the histogram value in the histogram representation involves copying the elements of the array along the horizontal axis of the array. That is, the horizontal axis of the array can correspond to the "width" of the array in the histogram display, such that each horizontal position is a different histogram bin.

[0150] In one embodiment of the system, each element of the array corresponds to an output device pixel in the display of the histogram. In a partial embodiment of the system, elements of the array along the vertical axis correspond to output device pixels along the vertical axis in the display of the histogram.

[0151] In embodiments of the system according to the invention, the general-purpose processor is further configured to determine the maximum value in the bins of the histogram and use that maximum value to determine a scaling factor for assigning color to the histogram values. In such a system embodiment, encoding the assignment of color to histogram values ​​in the histogram representation includes: scaling the histogram values ​​using a scaling factor to produce scaled histogram values, and assigning a color corresponding to the histogram values ​​based on the scaled histogram values. Furthermore, in such a system embodiment, the general-purpose processor may be configured to include a palette of available colors for the histogram representation and to access the palette using the scaled histogram values ​​to determine the color corresponding to the histogram values. By using scaled histogram values, it means that, in some cases, the general-purpose processor sends or otherwise communicates information about the scaled histogram values ​​(e.g., the scaling factor) to multiple parallel processing units to encode the display color associated with the histogram values ​​using that scaling factor and the information about the available colors, for example, by lookup. In this case, the color palette can be an array of different colors, and accessing the palette using scaled histogram values ​​involves indexing the palette array using scaled histogram values. In some cases, the palette contains 256 colors. That is, there can be a total of 256 different display colors to encode different histogram values. In this case, eight bits can be used to represent each color in the histogram, since it is possible to represent 256 different display colors with eight bits.

[0152] In embodiments of the system according to the invention, the plurality of parallel processing units may also be configured to assign color codes to a plurality of histogram values ​​substantially simultaneously in the histogram representation. Substantially simultaneously means that more than one of the parallel processing units can assign color codes to different histogram values ​​at overlapping times, such that the parallel processing units can operate substantially independently to assign colors, such that the delay in assigning a particular color to a particular histogram value overlaps with the delay in assigning other colors to other histogram values. In some embodiments of the system, the plurality of parallel processing units include a graphics processing unit, meaning that any configured microprocessor, such as those commercial microprocessors described herein, can be used in performing graphics operations. In some cases, the graphics processing unit includes more than one hundred processing units, and each processing unit is configured to assign color codes to histogram values ​​in the histogram representation substantially simultaneously. In such embodiments, the graphics processing unit may be located on a graphics processing card. Located on a graphics processing card means that the graphics processing unit is located on a card or circuit board different from the general-purpose processor. In other words, the graphics processing unit may be located on a board other than the motherboard.

[0153] In one embodiment of the system, in conjunction with sending histogram data to a graphics processing unit, the graphics processing unit may receive a one-dimensional array corresponding to the histogram as input. In some embodiments, the graphics processing unit sends a one-dimensional array corresponding to the histogram representation as output. In another embodiment of the system, the system may be configured to generate histogram representations so that the histograms are displayed substantially in real time. Real time means that the system is configured to generate representations under time constraints such that the delay in the system performing such generation is within a specified time range.

[0154] In other embodiments of the system according to the invention, the system is configured to determine whether a detector channel is saturated. In some cases, the system is configured to determine whether a detector channel is saturated by determining whether the oversaturation percentage of the detector channel is greater than a predetermined threshold, wherein the oversaturation percentage of the detector channel includes the ratio of the number of particle measurements falling outside the established histogram box to the total number of particle measurements. "Oversaturation percentage" refers to the ratio of the number of all particle measurements outside the established histogram box to the total number of all particle measurements. The predetermined threshold can be any convenient percentage, for example, 1% or more, 2% or more, 5% or more, 10% or more, 25% or more, or 50% or more, or 75% or more. In other cases, the system is also configured to cause the display of a saturation user interface corresponding to the saturated detector channel, wherein the saturation user interface can display the oversaturation percentage of the saturated detector channel. In other cases, the saturation user interface can prompt the user to adjust the settings of the saturated detector channel.

[0155] The system according to the invention can also be configured to generate representations of multiple histograms of cytological data. Specifically, the system according to the invention can also be configured such that the multiple parallel processing units are configured to: receive multiple histograms of cytological data from a general-purpose processor; generate representations of the multiple histograms by encoding the multiple histograms, the encoding including assigning color codes to each histogram value in the representation of the multiple histograms; and send the representations of the multiple histograms to the general-purpose processor, which can also be configured to display the multiple histograms on an output device using the histogram representations. In such an embodiment, each histogram in the multiple histograms may include a photometric result of cytological data obtained from each of a plurality of channels of one or more detectors. In this case, each histogram in the multiple histograms may include the same number of histogram bins. In such a system embodiment, the corresponding histogram bins of each histogram in the multiple histograms may have the same range of measurement values ​​associated with them. In some embodiments of the system, the representation of the multiple histograms comprises a two-dimensional array. In such a system embodiment, the first dimension of the two-dimensional array may correspond to a histogram bin, and the second dimension of the two-dimensional array may correspond to a histogram among the plurality of histograms. In some embodiments of the system, the parallel processing units are configured to generate representations of more than one histogram substantially simultaneously, meaning that more than one histogram corresponding to cytological data is processed simultaneously on the parallel processing units, such that the latency of generating a representation of one histogram overlaps with the latency of generating representations of separate histograms. Some embodiments of the system of the present invention are configured to generate representations of multiple histograms in order to display multiple histograms substantially in real time.

[0156] In some embodiments of the invention that generate representations of multiple histograms, the system is configured to cause the display of a saturation user interface corresponding to a saturated detector channel. In this case, the saturation user interface may include displaying the oversaturation percentage of the saturated detector channel. In other cases, the saturation user interface may include prompts for adjusting the settings of the saturated detector channel.

[0157] Particle analyzer

[0158] Figure 3 A functional block diagram of an example particle analyzer or sorting control system (e.g., analyzer controller 300) for analyzing and displaying biological events is shown. Analyzer controller 300 can be configured to implement various processes to control the graphical display of biological events.

[0159] The particle analyzer or sorting system 302 can be configured to acquire biological event data. For example, a flow cytometer can generate flow cytometry event data. The particle analyzer 302 can be configured to provide biological event data to the analysis controller 300. A data communication channel can be included between the particle analyzer 302 and the analysis controller 300. Biological event data can be provided to the analysis controller 300 through the data communication channel.

[0160] Analysis controller 300 can be configured to receive bioevent data from particle analyzer 302. The bioevent data received from particle analyzer 302 can include flow cytometry event data. Analysis controller 300 can be configured to provide a graphical display to display device 306, including displaying a histogram of one or more cytometry data or a first plot of bioevent data. For example, analysis controller 300 can be configured to generate a histogram representation for displaying the histogram in display device 306. Analysis controller 300 can also be configured to present regions of interest as gates around the bioevent data clusters shown by display device 306, such as gates overlaid on the first plot. In some embodiments, the gate can be a logical combination of one or more graphical regions of interest plotted on a single parameter histogram or binary plot. In some embodiments, the display can be used to display particle parameters. In some embodiments, the display can be combined with the histogram of cytometry data to display settings suitable for particle analyzer 302 for calibrating the detector of particle analyzer 302.

[0161] The analysis controller 300 can also be configured to display biological event data inside the door that differs from other events in the biological event data outside the door on the display device 306. For example, the analysis controller 300 can be configured to display the colors of the biological event data inside the door, to distinguish them from the colors of the biological event data outside the door. The display device 306 can be implemented as a monitor, tablet computer, smartphone, or other electronic device configured to display a graphical interface.

[0162] The analysis controller 300 can be configured to receive adjustments to the configuration settings of the particle analyzer 302 from the first input device. These adjustments, when received from the first input device, can be used to update the particle analyzer settings. For example, in one embodiment, the gain setting of the channel detector can be adjusted to avoid saturation of the channel detector.

[0163] Furthermore, the analysis controller 300 can be configured to receive a door selection signal from a first input device to identify a door. For example, the first input device can be implemented as a mouse 310. The mouse 310 sends a door selection signal to the analysis controller 300 to identify a door to be displayed on or manipulated via the display device 306 (e.g., by clicking on or inside the desired door when the cursor is positioned there). In some implementations, the first device can be implemented as a keyboard 308 or other means for providing input signals to the analysis controller 300, such as a touchscreen, stylus, optical detector, or voice recognition system. Some input devices can include multiple input functions. In such implementations, each input function can be considered an input device. For example, such as... Figure 3 As shown, mouse 310 can include a right mouse button and a left mouse button, each of which can generate trigger events.

[0164] Triggering events can cause the analysis controller 300 to change the way data is displayed, the portion of data actually displayed on the display device 306, and / or provide input for further processing (e.g., selecting a group of interest to sort particles).

[0165] In some embodiments, the analysis controller 300 can be configured to detect when the mouse 310 initiates gate selection. The analysis controller 300 can also be configured to automatically modify the graphical visualization to facilitate the gating process. This modification can be based on a specific distribution of the biological event data received by the analysis controller 300.

[0166] The analysis controller 300 can consist of at least one general-purpose processing unit and multiple parallel processing units. The analysis controller 300 can be connected to a storage device 304. When the analysis controller 300 includes at least one general-purpose processing unit and multiple parallel processing units, each of the general-purpose processing unit and multiple processing units can access and utilize the storage device 304 respectively. The storage device 304 can be configured to receive and store biological event data from the analysis controller 300. The storage device 304 can also be configured to receive and store flow cytometry event data from the analysis controller 300. The storage device 304 can also be configured to allow the analysis controller 300 to retrieve biological event data (e.g., flow cytometry event data). The storage device 304 can also be configured to store histograms of one or more cytometry data.

[0167] Display device 306 can be configured to receive display data from analysis controller 300. This display data can include plots of biological event data and gates for overview plots. Display device 306 can also be configured to change the presented information based on input received from analysis controller 300 and in combination with input from particle analyzer 302, storage device 304, keyboard 308, and / or mouse 310.

[0168] In some implementations, the analysis controller 300 can generate a user interface to receive sample events for sorting. For example, the user interface can include controls for receiving sample events or sample images. The sample events, images, or sample gates can be provided before collecting event data for the samples or based on an initial set of events from a sample portion.

[0169] Figure 4 A system 400 for flow cytometry according to an illustrative embodiment of the present invention is shown. System 400 includes a flow cytometer 410, a controller / processor 490, and a memory 495. The flow cytometer 410 includes one or more excitation lasers 415a-415c, a focusing lens 420, a flow unit 425, a forward scatter detector 430, a side scatter detector 435, a fluorescence collecting lens 440, one or more beam splitters 445a-445g, one or more bandpass filters 450a-450e, one or more long-pass (“LP”) filters 455a-455b, and one or more fluorescence detectors 460a-460f.

[0170] The excitation lasers 415a-415c emit light in the form of a laser beam. Figure 4 In the example system, the laser beams emitted from excitation lasers 415a-415c have wavelengths of 488 nm, 633 nm, and 325 nm, respectively. The laser beams are first guided through one or more beam splitters 445a and 445b. Beam splitter 445a transmits 488 nm light and reflects 633 nm light. Beam splitter 445b transmits ultraviolet light (light with a wavelength range of 10 to 400 nm) and reflects both 488 nm and 633 nm light.

[0171] The laser beam is then guided to a focusing lens 420, which focuses the beam onto a portion of the fluid stream containing the sample particles within the flow unit 425. The flow chamber is part of a fluid system that guides particles (typically one at a time) in the flow to the focused laser beam for interrogation. This flow chamber can comprise a flow unit in a benchtop cytometer or a nozzle tip in an airflow cytometer.

[0172] Light from the laser beam interacts with particles in the sample through diffraction, refraction, reflection, scattering, and absorption, and is re-emitted at various wavelengths depending on the characteristics of the particles (e.g., their size, internal structure, and the presence of one or more fluorescent molecules attached to or naturally present on or inside the particles). The fluorescence emission, along with the diffracted, refracted, reflected, and scattered light, can be routed through one or more of beam splitters 445a-445g, bandpass filters 450a-450e, longpass filters 455a-455b, and fluorescence acquisition lenses 440 to one or more of forward scattering detectors 430, side scattering detectors 435, and fluorescence detectors 460a-460f.

[0173] A fluorescence collecting lens 440 collects light emitted from the particle-laser beam interaction and routes this light to one or more beam splitters and filters. Bandpass filters, such as bandpass filters 450a-450e, allow a narrow range of wavelengths to pass through. For example, bandpass filter 450a is a 510 / 20 filter. The first number indicates the center of the spectral band. The second number provides the range of the spectral band. Thus, a 510 / 20 filter extends 10 nm on each side of the center of the spectral band, or from 500 nm to 520 nm. Short-pass filters transmit light with wavelengths equal to or less than the specified wavelength. Long-pass filters, such as long-pass filters 455a-455b, transmit light with wavelengths equal to or greater than the specified wavelength. For example, long-pass filter 455a, a 670 nm long-pass filter, transmits light with wavelengths equal to or greater than 670 nm. Filters are typically selected to optimize the detector's specificity for a particular fluorescent dye. It is possible to configure filters so that the spectral band of the light transmitted to the detector is close to the emission peak of the fluorescent dye.

[0174] Beam splitters guide light of different wavelengths in different directions. Beam splitters can be characterized by filter properties such as short-pass and long-pass filters. For example, beam splitter 445g is a 620 nm short-pass beam splitter, meaning that beam splitter 445g transmits light with wavelengths of 620 nm or shorter and reflects light with wavelengths greater than 620 nm in different directions. In one embodiment, beam splitters 445a-445g can include optical mirrors, such as dichroic mirrors.

[0175] The forward scattering detector 430 is positioned slightly off-center from the axis of the direct beam passing through the flow unit and is configured to detect diffracted light, which is the excitation light that propagates primarily in the forward direction through or around the particle. The intensity of the light detected by the forward scattering detector depends on the overall size of the particle. This forward scattering detector can include a photodiode. The side scattering detector 435 is configured to detect refracted and reflected light from the particle surface and internal structure, and tends to increase with increasing particle structural complexity. The fluorescence emission of fluorescent molecules associated with the particle can be detected by one or more fluorescence detectors 460a-460f. The side scattering detector 435 and the fluorescence detector can include photomultiplier tubes. The signals detected at the forward scattering detector 430, the side scattering detector 435, and the fluorescence detector can be converted into electrical signals (voltages) by the detectors. This data can provide information about the sample.

[0176] Those skilled in the art will recognize that the flow cytometer according to embodiments of the present invention is not limited to... Figure 4 The flow cytometer shown is not limited to any flow cytometer known in the art. For example, a flow cytometer can have any number of lasers, beam splitters, filters, and detectors with different wavelengths and various different configurations.

[0177] During operation, the cytometer is controlled by a controller / processor 490, and measurement data from the detector can be stored in memory 495 and processed by the controller / processor 490. Although not explicitly shown, the controller / processor 490 includes at least one general-purpose processor and multiple parallel processing units, and is coupled to the detector to receive output signals from it, and may also be coupled to the electrical and electromechanical components of the flow cytometer 400 to control lasers, fluid flow parameters, etc. Input / output (I / O) functionality 497 may also be provided in the system. Memory 495, controller / processor 490, and I / O 497 may be provided as a whole as part of the flow cytometer 410. In such an embodiment, a display may also be part of the I / O functionality 497 for presenting experimental data (including histograms of one or more cytology data) to the user of the cytometer 400. Alternatively, some or all of the memory 495 and controller / processor 490 and the I / O functionality may be part of one or more external devices such as a general-purpose computer. In some embodiments, some or all of the memory 495 and the controller / processor 490 are capable of wireless or wired communication with the cell analyzer 410. The controller / processor 490, in conjunction with the memory 495 and I / O 497, can be configured to perform various functions related to the preparation and analysis of flow cytometry experiments.

[0178] Figure 4The system shown includes six different detectors that detect fluorescence at six different wavelengths (which may be referred to herein as “filter windows” for a given detector), defined by the configuration of filters and / or beam splitters in the beam path from flow unit 425 to each detector. Different fluorescent molecules used in flow cytometry experiments emit light at their own characteristic wavelengths. Typically, a specific fluorescent tag and its associated fluorescence emission wavelength can be selected for the experiment to coincide with the filter window of the detector. However, as more detectors are provided and more tags are used, a perfect correspondence between the filter window and the fluorescence emission spectrum becomes impossible. Often, while the emission spectral peak of a particular fluorescent molecule may lie within the filter window of a particular detector, some emission spectra of that tag may also overlap with the filter windows of one or more other detectors. This can be called a spillover effect. I / O 497 can be configured to receive data for a flow cytometry experiment with a set of fluorescent tags and multiple cell populations with multiple labels, each cell population having a subset of multiple labels. I / O 497 can also be configured to receive biological data such as assigning one or more tags to one or more cell populations, tag density data, emission spectral data, data on tag assignment to one or more tags, and cytometer configuration data. Flow cytometry experimental data, such as tag spectral characteristics and flow cytometry configuration data, can also be stored in memory 495. Controller / processor 490 can be configured to evaluate one or more tag-to-tag assignments.

[0179] Figure 5 A functional block diagram of a particle analysis system that performs calculations based on sample analysis and particle characterization is shown. In some embodiments, the particle analysis system 500 is a flow cytometry system. Figure 5 The particle analysis system 500 shown can be configured to perform various aspects of the methods described herein. The particle analysis system 500 includes a fluid system 502. The fluid system 502 can include or be coupled to a sample tube 510 and a moving fluid column within the sample tube, in which sample particles 530 (e.g., cells) move along a common sample path 520.

[0180] The particle analysis system 500 includes a detection system 504 configured to collect signals from each particle as it passes through one or more detection stations along a common sample path. Detection stations 508 typically refer to monitored areas 540 along the common sample path. In some implementations, detection may include detecting light or other properties of one or more particles 530 as they pass through monitored areas 540. Figure 5 A detection station 508 with a monitored area 540 is shown. Partial implementations of the particle analysis system 500 can include multiple detection stations. Furthermore, some detection stations can monitor more than one area.

[0181] Each signal is assigned a signal value to form a data point for each particle. As described above, this data can be referred to as event data. The data point can be a multidimensional data point, comprising values ​​of the corresponding attributes measured for the particle. The detection system 504 is configured to collect consecutive such data points within a first time interval.

[0182] The particle analysis system 500 may also include a control system 506. The control system 506 may include one or more general-purpose processors, multiple parallel processing units, such as... Figure 6A The amplitude control circuit 626 and / or frequency control circuit 624 are shown and described below. The control system 506 shown can be operationally associated with the fluid system 502. The control system 506 can be configured to generate a calculated signal frequency based on the number of data points collected by the detection system 504 within a first time interval and the Poisson distribution being at least a portion of the first time interval. The control system 506 can also be configured to generate an experimental signal frequency based on the number of data points in a portion of the first time interval. The control system 506 can also compare the experimental signal frequency with the calculated signal frequency or a predetermined signal frequency. Furthermore, the control system 506 can be configured to generate a histogram representation of cytological data by encoding the histogram. The control system 506 can generate the histogram representation by using multiple parallel processing units to assign a color to each histogram value substantially simultaneously and then copying the encoding of the color corresponding to the histogram value (e.g., using a general-purpose processor).

[0183] Figure 6A The particle analyzer and sorter system 600 according to one embodiment of the present document (e.g., such as...) Figure 3 A schematic diagram of the particle analyzer 302 shown. In some embodiments, the particle sorting system 600 is a cell sorting system. Figure 6A As shown, a droplet-forming transducer 602 (e.g., a piezoelectric oscillator) is coupled to a fluid conduit 601, which can be coupled to, include, or be a nozzle 603. Within the fluid conduit 601, a sheath fluid 604 hydrodynamically focuses a sample fluid 606 containing particles 609 into a moving fluid column 608 (e.g., a stream). Within the moving fluid column 608, particles 609 (e.g., cells) align to pass through a monitored area 611 (e.g., where laser streams intersect), which is irradiated by an irradiation source 612 (e.g., a laser). Vibration of the droplet-forming transducer 602 causes the moving fluid column 608 to break into multiple droplets 610, some of which contain particles 609.

[0184] During operation, a detection station 614 (e.g., an event detector) identifies when a particle (or cell) of interest crosses the monitored area 611. The detection station 614 feeds into a timing circuit 628, which in turn feeds into a flash charge circuit 630. At the droplet breakpoint notified by a timing droplet delay (Δt), a flash charge can be applied to the moving fluid column 608, causing the droplet of interest to carry a charge. The droplet of interest can comprise one or more particles or cells to be sorted. The charged droplets can then be sorted by activating a deflection plate (not shown) to deflect them into partitions, such as containers like collection tubes or porous or microporous sample plates, where partitions or pores or micropores can be associated with the droplet of particular interest. Figure 6A As shown, it can collect small droplets in the drainage container 638.

[0185] A detection system 616 (e.g., a droplet boundary detector) is used to automatically determine the phase of the droplet drive signal as a particle of interest passes through the monitored region 611. An exemplary droplet boundary detector is described in U.S. Patent No. 7,679,039, the contents of which are incorporated herein by reference. The detection system 616 allows the instrument to accurately calculate the position of each detected particle within the droplet. The detection system 616 can be fed into an amplitude signal 620 and / or a phase signal 618, which in turn (via amplifier 622) feeds into an amplitude control circuit 626 and / or a frequency control circuit 624. The amplitude control circuit 626 and / or the frequency control circuit 624, in turn, control the droplet forming transducer 602. The amplitude control circuit 626 and / or the frequency control circuit 624 can be included in a control system.

[0186] In some implementations, sorting electronics (e.g., detection system 616, detection station 614, and processor 640) can be coupled to a memory configured to store detected events and make sorting decisions based thereon. These sorting decisions can be included in the event data of the particles. In some implementations, detection system 616 and detection station 614 can be implemented as a single detection unit or communicationally coupled, such that event measurement results can be collected by either detection system 616 or detection station 614 and provided to non-collecting elements.

[0187] Figure 6B This is a schematic diagram of a particle analyzer and sorter system according to an embodiment of the present invention. Figure 6B The particle analyzer and sorter system 600 shown includes deflection plates 652 and 654. Charge can be applied to the barbs via a current-charging line. This produces a stream containing droplets 610 of particles 610 for analysis. The particles can be irradiated with one or more light sources (e.g., lasers) to generate light scattering and fluorescence information. This can be achieved, for example, through sorting electronics or other detection systems. Figure 6B(Not shown in the image) to analyze particle information. Deflection plates 652 and 654 can be independently controlled to attract or repel charged droplets to guide them toward a destination collection container (e.g., one of 672, 674, 676, or 678) such as a separator. Figure 6B As shown, deflector plates 652 and 654 can be controlled to guide particles along a first path 662 toward container 674 or a second path 668 toward container 678. If the particles are not of interest (e.g., do not exhibit scattering or illumination information within a specified sorting range), the deflector plates can allow the particles to continue along flow path 664. Such uncharged droplets can enter the waste container via, for example, an aspirator 670.

[0188] It can include sorting electronics to initiate the collection of measurement results, receive the fluorescence signal of particles, and determine how to adjust the deflection plate to induce particle sorting. Figure 6B The example implementation shown includes BD FACSAria, commercially available from Becton, Dickinson, and Company (Franklin Lakes, NJ). TM A series of flow cytometers.

[0189] In some embodiments, one or more components of the described particle analyzer and sorter system 600 can be used to analyze and characterize particles, whether or not the particles are physically sorted into a collection container. Similarly, the above-described particle analysis system 500 ( Figure 5 One or more components of the particle sorting system 600 or particle analysis system 500 can be used to analyze and characterize particles, whether or not the particles are physically sorted into a collection container. For example, particles can be grouped or displayed in a tree comprising at least three groups as described herein, or alternatively, particles can be displayed in one or more histogram formats using one or more components of the particle sorting system 600 or particle analysis system 500.

[0190] The system according to some embodiments may include a display and an operator input device. The operator input device may be, for example, a keyboard, a mouse, etc. The processing module includes at least one general-purpose processor and multiple parallel processing units, all of which have access to memory containing instructions stored thereon for performing the steps of the methods of this subject matter. The processing module may include an operating system, a graphical user interface (GUI) controller, system memory, memory storage devices and input / output controllers, a cache, a data backup unit, and many other devices. The general-purpose processor and each parallel processing unit may be a commercially available processor or one of other processors that are already available or will become available in the future. The processor executes the operating system, which interacts with firmware and hardware in well-known ways and helps the processor coordinate and execute the functions of various computer programs, which may be written in various programming languages, such as Java, Perl, C++, other high-level or low-level languages, and combinations thereof, as is well known in the art. The operating system typically works with the processor to coordinate and execute the functions of other computer components. The operating system also provides scheduling, input / output control, file and data management, memory management, and communication control and related services, all conforming to known techniques. The processor may be any suitable analog or digital system. In some embodiments, one or more general-purpose processors and parallel processing units include analog electronics that provide feedback control (e.g., negative feedback control).

[0191] System memory can be any of a variety of known or future memory storage devices. Examples include any commonly used random access memory (RAM), magnetic media (such as resident hard disks or magnetic tapes), optical media (such as optical discs), flash memory devices, or other memory storage devices. Memory storage devices can be any of a variety of known or future devices, including optical disc drives, magnetic tape drives, removable hard disk drives, or floppy disk drives. This type of memory storage device typically reads from and / or writes to program storage media (not shown), such as optical discs, magnetic tapes, removable hard disks, or floppy disks. Any of these program storage media, or other media currently in use or to be developed in the future, can be considered a computer program product. As will be understood, these program storage media typically store computer software programs and / or data. Computer software programs, also known as computer control logic, are typically stored in system memory and / or in program storage devices used with memory storage devices.

[0192] In some embodiments, the described computer program product includes a computer-usable medium having control logic (computer software program, including program code) stored therein. When the control logic is executed by a computer's processor, it causes the processor to perform the functions described herein. In other embodiments, some functions are implemented primarily in hardware, such as a hardware state machine. The implementation of a hardware state machine used to perform the functions described herein will be apparent to those skilled in the art.

[0193] The memory can be any suitable device, such as magnetic, optical, or solid-state storage devices (including disks, optical discs, magnetic tapes, RAM, or any other suitable device, fixed or portable), in which one or more general-purpose processors and multiple parallel processing units (e.g., graphics processors) are capable of storing and retrieving data. The general-purpose processor may include a general-purpose digital microprocessor, which is appropriately programmed according to a computer-readable medium carrying the necessary program code. The parallel processing units may include one or more graphics processors, which are appropriately programmed according to a computer-readable medium carrying the necessary program code. The programming can be provided to the processor remotely via one or more communication channels, or to the processor using any device connected to the memory, providing programming pre-stored in a computer program product (e.g., memory or some other portable or fixed computer-readable storage medium). For example, a disk or optical disc can carry the programming and can be read by a disk writer / reader. The system of the present invention also includes programming (e.g., in the form of a computer program product) and algorithms for practicing the methods described above. The programming according to the present invention can be recorded on a computer-readable medium, for example, any medium that can be directly read and accessed by a computer. Such media include, but are not limited to: magnetic storage media, such as floppy disks, hard disks, and magnetic tapes; optical storage media, such as CD-ROMs; electrical storage media, such as RAM and ROMs; portable flash drives; and hybrids of these categories, such as magnetic / optical storage media.

[0194] The one or more general-purpose processors may also access communication channels to communicate with users at remote locations. A remote location refers to a user who does not have direct contact with the system and relays input information from an external device to the input manager. This external device is, for example, a computer connected to a wide area network (“WAN”), telephone network, satellite network, or any other suitable communication channel, including mobile phones (i.e., smartphones).

[0195] In some embodiments, the system according to this disclosure can be configured to include a communication interface. In some embodiments, the communication interface includes a receiver and / or transmitter for communicating with a network and / or another device. The communication interface can be configured for wired or wireless communication, including but not limited to radio frequency (RF) communication (e.g., radio frequency identification (RFID)), Zigbee communication protocol, WiFi, infrared, wireless universal serial bus (USB), and ultra-wideband (UWB). Communication protocols and cellular communications (such as Code Division Multiple Access (CDMA) or Global System for Mobile Communications (GSM)).

[0196] In one embodiment, the communication interface is configured to include one or more communication ports, such as physical ports or interfaces such as USB ports, RS-232 ports, or any other suitable electrical connection ports, to allow data communication between the system and other external devices, which are computer terminals configured for similar complementary data communication (e.g., in a doctor's office or hospital environment).

[0197] In one embodiment, the communication interface is configured for infrared communication. Communication or any other suitable wireless communication protocol to enable the system of this subject to communicate with other devices, including, for example, computer terminals and / or networks, mobile phones that support communication, personal digital assistants, or any other communication devices that the user can use in combination.

[0198] In one embodiment, the communication interface is configured to provide data transmission connectivity via a mobile network, short message service (SMS), a wireless connection to a personal computer (PC) connected to a local area network (LAN) connected to the Internet, or a WiFi connection to the Internet at a WiFi hotspot, using the Internet Protocol (IP).

[0199] In one embodiment, the system is configured to communicate wirelessly with a server device via a communication interface, for example, using 802.11 or... Common standards such as RF protocols or IrDA infrared protocols. The server device can be another portable device, such as a smartphone, personal digital assistant (PDA), or laptop; or a larger device, such as a desktop computer, appliance, etc. In some embodiments, the server device has a display (e.g., a liquid crystal display, LCD) and input devices (e.g., buttons, keyboard, mouse, or touchscreen).

[0200] In some embodiments, the communication interface is configured to automatically or semi-automatically communicate with network or server devices data stored in the subject system, such as data stored in optional data storage units, using one or more of the aforementioned communication protocols and / or mechanisms.

[0201] The output controller may include a controller for any of a variety of known display devices used to present information to a user, whether the user is a person or a machine, local or remote. If one of the display devices provides visual information, it can typically be logically and / or physically organized as an array of picture elements. The graphical user interface (GUI) controller may include any of a variety of known or future software programs used to provide a graphical input and output interface between the system and the user and to process user input. Functional elements of the computer may communicate with each other via a system bus. In alternative embodiments, some of these communications may be accomplished using a network or other types of remote communication. The output manager may also provide information generated by the processing module to a user at a remote location, for example, via the Internet, telephone, or satellite networks, according to known technologies. The data representation of the output manager may be implemented according to a variety of known technologies. As a partial example, the data may include SQL, HTML, or XML documents, emails, or other files, or other forms of data. The data may include an Internet URL address so that the user can retrieve other SQL, HTML, XML, or other documents or data from a remote source. One or more platforms present in the system of this subject may be any type of known computer platform or type to be developed in the future. Although they typically fall under the category of computers known as servers, they can also be mainframes, workstations, or other computer types. They can be connected via any known or future type of cable or other communication system (including wireless systems), whether networked or otherwise. They can be located in the same location or physically separated. Various operating systems can be used on any computer platform, depending on the type and / or architecture of the chosen platform. Suitable operating systems include Windows 10, Windows... Windows XP, Windows 7, Windows 8, iOS, Sun Solaris, Linux, OS / 400, CompaqTru64 Unix, SGI IRIX, Siemens Reliant Unix, Ubuntu, Zorin OS, etc.

[0202] Figure 7 A general architecture of an example computing device 700 according to certain embodiments is described. Figure 7The general architecture of the described computing device 700 includes the arrangement of computer hardware and software components. The elements included in the computing device 700 can be more than... Figure 7 The elements shown are more (or fewer). However, it is not necessary to show all these generally conventional elements for the sake of providing favorable disclosure. As shown, computing device 700 includes a processing unit consisting of one or more general-purpose processors 710, multiple parallel processing units 715, a network interface 720, a computer-readable media drive 730, an input / output device interface 740, a display 750, and input devices 760, all of which can communicate with each other via a communication bus. The network interface 720 can provide connectivity to one or more networks or computing systems. The general-purpose processors 710 and parallel processing units 715 can therefore receive information and instructions from other computing systems or services via the network. The general-purpose processors 710 and parallel processing units 715 can also communicate with memory 770 and further provide output information to an optional display 750 via the input / output device interface 740. The input / output device interface 740 can also receive input from optional input devices 760 (e.g., keyboard, mouse, digital pen, microphone, touchscreen, gesture recognition system, voice recognition system, game controller, accelerometer, gyroscope, or other input devices).

[0203] Memory 770 may contain computer program instructions (grouped into modules or components in some embodiments) that are executed by a general-purpose processor 710 and / or a parallel processing unit 715 to implement one or more embodiments. Memory 770 typically includes RAM, ROM, and / or other persistent, auxiliary, or non-transitory computer-readable media. Memory 770 may store an operating system 772 that provides computer program instructions that are used by each of the one or more general-purpose processors and the plurality of parallel processing units 710 in the general administration and operation of the computing device 700. Memory 770 may also include computer program instructions and other information for implementing various aspects of this disclosure.

[0204] For example, in one embodiment, the memory 770 includes a histogram encoding module 774 and an encoding copying module 776. The histogram encoding module 774 is used to generate a histogram representation by encoding the histogram, the encoding including assigning a color code to each histogram value in the histogram representation. The encoding copying module 776 is used to copy the color code corresponding to the histogram value in the histogram representation a predetermined number of times.

[0205] Suitable flow cytometry systems may include, but are not limited to, Ormerod (ed.), Flow Cytometry: A Practical Approach, Oxford Univ. Press (1997); Jaroszeski et al. (eds.), Flow Cytometry Protocols, Methods in Molecular Biology No. 91, Humana Press (1997); Practical Flow Cytometry, 3rd ed., Wiley-Liss (1995); Virgo et al. (2012) Ann Clin Biochem. Jan; 49(pt 1):17-28; Linden et al., Semin Throm Hemost. 2004 Oct; 30(5):502-11; Alison et al. J Pathol, 2010 Dec; 222(4):335-344; and Herbig et al. (2007) Crit Rev Ther Drug Carrier The flow cytometry systems described in Syst. 24(3):203-255, the contents of which are incorporated herein by reference, are included in some examples. Among the flow cytometry systems of interest are BDBiosciences FACSCanto. TM II flow cytometer, BD Accuri TM Flow cytometer, BD Biosciences FACSCelesta TM Flow cytometer, BD Biosciences FACSLyric TM Flow cytometer, BD Bosciences FACSVerse TM Flow cytometer, BD Bioscience FACSymphony TM Flow cytometer, BD Biosciences LSL Fortes TM Flow cytometer, BD Biosciences LSRFortess TM X-20 flow cytometer, BDBiosciences FACSCalibur TM Cell sorter, BD Biosciences FACSCount TM Cell sorting instrument, BDBioscience FACSLyric TM Cell sorter, BD Bioscience ViaTM Cell sorter, BD BiocciencesInflu TM Cell sorter, BD Biosciences Jazz TM Cell sorter, BD Biosciences Aria TM Cell sorting instrument, BD Biosciences FACSAria TM II Cell Sorter, BD Biosciences FACSAria TM III Cell Sorter, BD Biosciences FACSAria TM Fusion Cell Sorter and BD Biosciences FACSMelody TM Cell sorter, BD Biosciences FACSymphony TM S6 cell sorter, etc.

[0206] In some embodiments, the subject matter system is a flow cytometry system, such as those described in U.S. Patent Nos. 10,663,476, 10,620,111, 10,613,017, 10,605,713, 10,585,031, 10,578,542, 10,578,469, and 10,481,074. No.10,302,545, No.10,145,793, No.10,113,967, No.10,006,852, No.9,952,076, N o.9,933,341, No.9,726,527, No.9,453,789, No.9,200,334, No.9,097,640, No.9,0 95,494, No.9,092,034, No.8,975,595, No.8,753,573, No.8,233,146, No.8,140,30 0. No.7,544,326, No.7,201,875, No.7,129,505, No.6,821,740, No.6,813,017, No. The flow cytometry systems described in Nos. 6,809,804, 6,372,506, 5,700,692, 5,643,796, 5,627,040, 5,620,842, 5,602,039, 4,987,086, and 4,498,766, the disclosures of which are incorporated herein by reference.

[0207] Computer-readable storage medium for processing and displaying multichannel spectral histograms

[0208] Various aspects of this disclosure also include non-transitory computer-readable storage media having instructions for practicing the methods of this subject matter. Computer-readable storage media can be employed on one or more computers to enable the systems to practice the methods described herein in a fully or partially automated manner. In some embodiments, instructions according to the methods described herein can be encoded in a “programmed” form onto a computer-readable medium, wherein the term “computer-readable medium” as used herein refers to any non-transitory storage medium that participates in providing instructions and data to a computer for execution and processing. Examples of suitable non-transitory storage media include floppy disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, DVD-ROMs, Blu-ray discs, solid-state drives, and network-attached storage (NAS), whether such devices are located internally or externally to a computer. Files containing information can be “stored” on a computer-readable medium, wherein “stored” means recording information so that a computer can later access and retrieve the information. The computer-implemented methods described herein can be executed using programming, which can be written in one or more of any computer programming languages. For example, these languages ​​include Java (SunMicrosystems, Inc., Santa Clara, CA), Visual Basic (Microsoft Corp., Redmond, WA), and C++ (AT&T Corp., Bedminster, NJ), as well as any other language.

[0209] In some embodiments, the computer-readable storage medium of interest includes a computer program stored thereon, wherein the computer program, when loaded onto a computer, includes instructions having the following algorithms: an algorithm for acquiring a histogram of cytological data of a sample, wherein the cytological data includes measurements from irradiated particles in a sample flowing in a flow stream; an algorithm for generating a representation of the histogram by encoding the histogram, the encoding including assigning a color to each histogram value in the histogram representation and copying each color corresponding to each histogram value in the histogram representation a predetermined number of times; and an algorithm for displaying the histogram using the histogram representation.

[0210] In an embodiment, the computer-readable storage medium of interest may be configured such that the algorithm for displaying a histogram using a histogram representation includes an algorithm for displaying the histogram on a display device using a histogram representation.

[0211] The computer-readable storage medium may further include an algorithm for determining the maximum value in a histogram bin and an algorithm for using the maximum value to determine a scaling factor to assign colors to histogram values. In embodiments, the computer-readable storage medium of interest may be configured such that assigning colors to histogram values ​​in a histogram representation includes: scaling the histogram values ​​using a scaling factor to produce scaled histogram values; and assigning colors corresponding to the scaled histogram values ​​based on the scaled histogram values. In other embodiments, the computer-readable storage medium may further include an algorithm for obtaining a palette comprising available colors for a histogram representation; and an algorithm for accessing the palette using the scaled histogram values ​​to determine colors corresponding to the histogram values. Still in other embodiments, the computer-readable storage medium of interest may be configured such that the palette is an array of different colors and may further include an algorithm for accessing the palette using scaled histogram values, the algorithm including an algorithm for indexing in the palette array using the scaled histogram values.

[0212] In an embodiment, the computer-readable storage medium of interest can be configured such that colors are assigned to multiple histogram values ​​substantially simultaneously. The computer-readable storage medium may also include an algorithm that assigns colors to multiple histogram values ​​substantially simultaneously using multiple parallel processing units.

[0213] In other embodiments, the computer-readable storage medium of interest may also include an algorithm for determining whether a detector channel is saturated. For example, the algorithm for determining whether a detector channel is saturated may include an algorithm for determining whether the oversaturation percentage of the detector channel is greater than a predetermined threshold, wherein the oversaturation percentage of the detector channel includes the ratio of all particle measurement counts falling outside the established histogram box to all particle measurement counts. The predetermined saturation threshold may be any convenient percentage, such as 1% or more, 2% or more, 5% or more, 10% or more, 25% or more, or 50% or more, or 75% or more. Some embodiments may also include an algorithm that causes a saturation user interface display corresponding to a saturated detector channel. In some cases, the saturation user interface includes prompts for adjusting the settings of the saturated detector channel.

[0214] In other embodiments, the computer-readable storage medium of interest may include an algorithm for acquiring multiple histograms of cytological data of a sample; an algorithm for generating representations of the multiple histograms according to any instructions of the non-transitory computer-readable storage medium, wherein the instructions are for generating a representation of a single histogram as described herein; and an algorithm for displaying the multiple histograms using the representations of the multiple histograms. The computer-readable storage medium may be configured such that the algorithm for displaying the multiple histograms using the representations of the multiple histograms includes an algorithm for displaying the multiple histograms on a display device using the representations of the multiple histograms. In other embodiments, the computer-readable storage medium of interest may include an algorithm for generating a representation of each histogram in the multiple histograms, the algorithm including an algorithm for generating representations of the multiple histograms substantially simultaneously. Still in other embodiments, the computer-readable storage medium of interest may be configured such that the algorithm for generating representations of each histogram in the multiple histograms is an algorithm for generating representations of the multiple histograms substantially in real time.

[0215] In embodiments that generate representations of multiple histograms, the computer-readable storage medium of interest may further include an algorithm for displaying a saturation user interface corresponding to a saturated detector channel. In some cases, the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel. In other cases, the saturation user interface includes prompts for adjusting the settings of the saturated detector channel.

[0216] Computer-readable storage media may be used on one or more computer systems having displays and operator input devices. Operator input devices may be, for example, keyboards, mice, etc. The processing module includes a processor that can access memory storing instructions for performing the steps of the methods of this subject. The processing module may include an operating system, a graphical user interface (GUI) controller, system memory, memory storage devices and input / output controllers, caches, data backup units, and many other devices. The processor may be a commercially available processor or one of other processors that are already available or will be available in the future. The processor utilizes firmware and hardware to execute the operating system and operating system interface in a well-known manner and helps the processor coordinate and execute the functions of various computer programs written in various programming languages ​​well known in the art, such as Java, Perl, C++, other high-level or low-level languages, and combinations thereof. The operating system typically works with the processor to coordinate and execute the functions of other computer components. The operating system also provides scheduling, input / output control, file and data management, memory management, and communication control and related services, all conforming to known techniques.

[0217] practicality

[0218] The systems, methods, and computer systems described herein can be used in a variety of applications where the analysis and sorting of particulate components (e.g., cells) in samples (e.g., biological samples) in a fluid medium is required. In some embodiments, the systems and methods described herein can be used in flow cytometry where biological samples are labeled with fluorescent tags. In other embodiments, the systems and methods can be used in the spectroscopy of emitted light. Furthermore, the systems and methods described herein can be used to improve the efficiency and effectiveness of sample sorting (e.g., in a flow). Improved sample sorting efficiency means that when samples are sorted or analyzed using the systems and methods described herein, there will be less mischaracterization or confusion of sample particles (e.g., cells) due to reasons such as improper detection system calibration. In particular, the systems and methods described herein can improve the efficiency and effectiveness of analysis or sorting, especially when the channels of the detector used for analyzing and / or sorting samples are miscalibrated (e.g., when the detector channels are saturated), which can reduce the number of cells wasted during sorting. The embodiments of this disclosure are intended for scenarios where flow cytometers are required to have improved cell sorting efficiency, enhanced particle collection and charging efficiency, more accurate particle charging, and enhanced particle deflection capability during cell sorting.

[0219] Embodiments of this disclosure are also applicable to situations where cells prepared from biological samples are needed for research, laboratory testing, or therapeutic purposes. In some embodiments, the methods and apparatus of this subject matter can facilitate the acquisition of prepared single cells from a target fluid or tissue biological sample. For example, the methods and systems of this subject matter facilitate the acquisition of cells from fluid or tissue samples for use as research or diagnostic specimens for diseases such as cancer. Similarly, the methods and systems of this subject matter facilitate the acquisition of cells from fluid or tissue samples for therapeutic purposes. Compared to conventional flow cytometry systems, the methods and apparatus of this disclosure allow for analysis and / or the isolation and collection of cells from biological samples (e.g., organs, tissues, tissue fragments, fluids) with enhanced effectiveness and efficiency, as well as low cost.

[0220] The following content is for illustrative purposes only and should not be used as a limitation.

[0221] Experimental related

[0222] The following embodiments relate to a computer-based implementation of the present invention and are provided for illustrative purposes rather than as limitations.

[0223] Processing and memory requirements

[0224] As mentioned above, Figure 2 Histogram information from six detectors and a total of 80 channels is described. (Example) Figure 2As shown, while the light intensity measurements of dozens of channels are displayed compactly and conveniently, the processing power required to produce such a display is considerable. The required processing power can even be limited, especially when interacting with instruments such as flow-based particle analyzers. Each histogram box for each detector channel has a value that must ultimately be converted to color—that is, encoded and then displayed as color. To adequately reflect the measurements from, for example, a particle analyzer, this process must be repeated at a high frequency, such as up to thirty times per second.

[0225] In addition, operators can use this display to make decisions related to detector settings. For example, the gain of each channel can be adjusted such that the adjusted gain setting value must be sent to the instrument (e.g., a particle analyzer) to adjust the corresponding detector electronics.

[0226] To handle all the processing that must be done, the technique according to the invention is in the form of a computational pipeline that processes histograms in parallel, for example, using a graphics processing unit (GPU). Such a GPU can consist of hundreds of processing units working in parallel and can be installed on a graphics video card. The GPU can be programmed using a programming API.

[0227] When using a GPU, the histogram data and other information required for processing must be transferred from the central processing unit (CPU) to the GPU. This is a time-consuming operation and can be optimized by reducing the amount of memory required. To achieve this optimization, the histogram memory requirement should be as small as possible. Since memory accesses are typically high-latency operations, reducing the amount of memory required reduces the number of memory accesses needed, thereby reducing operational latency.

[0228] As an illustrative example of how much memory is needed without optimization, consider displaying an 80-channel histogram on a screen, with each histogram displayed 20 pixels wide. That is, each histogram display is horizontally "stretched" to 20 pixels. Assume each histogram contains 256 bins. Therefore, each histogram display in the user interface (UI) requires 20 pixels wide and 256 pixels high. The memory required for this histogram is calculated by multiplying the width by the height by the number of color channels (4 in this example). This means that to display a single histogram, at least 20 × 256 × 4 or 20480 bytes of memory are required. In other words, in this example, at least 20480 bytes of memory are needed to represent a single histogram. To calculate the total memory required for multiple histograms, each corresponding to different channels, multiply this result by the number of histogram channels, which is 80 in this example. In summary, at least 80 × 20480 or 1,638,400 bytes of memory are required to process and display all the histograms in the 80 histograms.

[0229] This is a significant amount of storage. It is especially significant when interacting with instruments that have more limited memory constraints, processing power, or bus or other transfer bandwidth. Furthermore, when real-time acquisition is involved (requiring updates to multiple histogram displays at, for example, 30 frames per second (fps), this necessitates uploading or downloading 30 × 1638400 or 49152000 bytes per second to or from the GPU. Given typical hardware and software limitations, such data manipulation speeds are difficult to achieve.

[0230] Embodiments of the present invention can reduce memory usage by encoding each histogram, where each histogram, when composed of 256 bins, will be rendered to the display surface using a 1×256 pixel size. When using four color channels, this results in a total memory footprint of 4×256 or 1024 bytes for a single histogram. This is a 20-fold reduction compared to the 20480-byte requirement discussed above without the present invention. For eighty histogram channels, the exemplary method according to the present invention will result in a memory footprint of 80×1024 or 81920 bytes, significantly less than the previously estimated requirement of at least 1,638,400 bytes to represent eighty histograms. After generating the 1×256 pixel histogram representation using a GPU, post-processing using a general-purpose CPU can be used to complete the histogram representation and render the color-encoded histograms on the screen. For users, the actual display they want is much larger, for example, 20 pixels wide, but the operation required to copy each color corresponding to each histogram value in the histogram representation a predetermined number of times (i.e., 20 times) is relatively fast.

[0231] Figure 8 The processing of multiple histograms according to an embodiment of the present invention is illustrated. On the left, a histogram 810 of cytology data has bins 820 with a value of 83. The histogram 810 of cytology data is a one-dimensional array of data values, where each array entry corresponds to a histogram bin. The histogram values ​​at bins 820 are scaled to fit a range of colors to be displayed, in this case, 256 colors to be displayed in a color palette 830. The color corresponding to histogram value 83 and its encoding are extracted from the color palette 830 and assigned to pixel values ​​850 in the histogram representation 840a, stored in the GPU's drawing area. To assign the color corresponding to histogram bin 820, the scaling value of the histogram value 83 is used for indexing in the color palette 830. This process is repeated for each histogram value, and finally all 256 bins of the final cytology data histogram 810 are assigned the corresponding color, such that representations of the same histogram now displayed in histogram representation 840b are all assigned color and are still stored in the GPU's drawing area. The process continues for all histograms in the multiple histograms 860 and is completed. The completed histogram representation 840b is included in the multiple histograms 860, and is represented as histogram representation 840c. (See also...) Figure 8 As shown, the number of columns in the multiple histograms 860 is equal to the number of columns in a single histogram, and each histogram corresponds to a different detector channel.

[0232] The above processing results in each histogram bin in the multiple histogram representations 860 being encoded with an assigned color based on its corresponding histogram value, and the GPU's drawing area is entirely colored with this assigned color. This drawing area of ​​the GPU stores the representations of the multiple histograms and transfers them to the CPU using drawing calls or similar API functions. However, at this point, nothing is displayed on the screen or otherwise visible. This is the next step in the process. The multiple histogram representations 860, or the drawing canvas, are the source of all the histogram colors, although each histogram in the multiple histogram representations 860 is only one pixel wide at this point. The next step takes bars from the 1×256 histogram representation and draws them onto another target canvas, but the image is "stretched" a predetermined number of times to achieve the desired width, in this case, 20 pixels.

[0233] Rendering

[0234] The rendering process described above will be described in more detail below in the section on processing by the GPU's parallel processing units.

[0235] During rendering processing by the GPU's parallel processing units, each pixel position / color in the histogram representation corresponds to a histogram / box position. Figure 9Another view of this process is shown. The optimization employed in this invention is that the positions of the multiple histogram representations (i.e., pixel viewports) 920 perfectly match the array of histogram values ​​of the multiple histograms 910. The pixel values ​​input to the GPU at 910 have x and y position information used to identify the histograms and histogram bins. The x-values ​​are used as bin values, while the y-values ​​are the histograms of interest.

[0236] The binning values ​​and identifiers of the histogram of interest are used to look up information to obtain histogram values, such as histogram value 930 in multiple histograms 910. Once the color information is retrieved, the pixel positions in the histogram representation 920 are set. For example... Figure 9 As shown, histogram value 930 is located within histogram data 910, and its position corresponds to entry 940 in the representation 920 of multiple histograms. That is, within the input data of multiple histograms 910 and the representation 920 of multiple histograms, the two entries have the same x and y coordinates.

[0237] In hardware implementations, depending on the quality of the video card, the GPU will have a processor set for parallel processing of each pixel. This enables very high-speed processing of the histograms to generate representations of multiple histograms.

[0238] Histogram post-processing

[0239] After generating a representation containing multiple histograms with a single pixel width, such as Figure 8 The representation of multiple histograms in the image is 860, and such representation is projected onto the GPU canvas, and then the representation of the multiple histograms is copied onto multiple canvases associated with the user interface. Figure 10 This illustrates the process of "stretching" the width of each histogram representation by copying each color corresponding to each histogram value in the histogram representation a predetermined number of times. Multiple histogram representations 1010 are each stretched by copying each color horizontally a predetermined number of times, making the multiple histogram representations 1020 wide enough to display multiple histograms to the user. For example, representation 1030a is stretched by copying each color horizontally a predetermined number of times to obtain histogram representation 1030b. This is a relatively fast and highly flexible operation. If a change to the user interface design is required or desired, only minor modifications are needed to such drawing routines, which include copying each color corresponding to each histogram value in the histogram representation a predetermined number of times.

[0240] At this time, the representation 1010 of the plurality of histograms has been processed into a representation 1020 of histograms, which is used to display the plurality of histograms so that colors appear on the screen.

[0241] Figure 11An overview of the exemplary workflow 1100 described above is shown. The exemplary workflow 1100 begins in step 1110 with the generation of a representation of multiple histograms of cytology data, in which a central processing unit (CPU, not a graphics processing unit) acquires the cytology data in the form of multiple histograms received from an instrument (e.g., a particle analyzer). From step 1110, the workflow continues to step 1115. In step 1115, the process iterates through all histogram values ​​for each histogram to find the maximum histogram value for each histogram. This maximum histogram value is the value of the histogram bin with the maximum number of measurements, which corresponds to the range of light intensity values ​​for that histogram bin.

[0242] Then, in step 1120, the process requires preprocessing the histogram data to be manipulated by the graphics processing unit (GPU). In some cases, this includes sorting multiple histograms in memory so that the histogram data can be recognized by the GPU as a structured table. In step 1125, metadata representing the multiple histograms, their representations, and their display is created. At workflow 1100, such data includes the number of histograms in the multiple histograms and the width of the histograms in the final display of the multiple histograms (i.e., a predetermined number of pixels). The table created in step 1120 and the metadata created in step 1125 are uploaded to the GPU in step 1130, allowing the GPU software to input and process these data elements. In step 1135, the GPU is configured to generate representations of the multiple histograms based on the number of histograms and the width of each histogram, the representations consisting of color encoding corresponding to the histogram values.

[0243] In step 1140, the GPU process generates representations of multiple histograms by initiating one or more software routines on the GPU. This process includes loading histogram values ​​from multiple histograms in steps 1145 and 1150 according to the configuration of the multiple histograms in memory, wherein the position of each histogram value also corresponds to the pixel representing that histogram value in the display of the multiple histograms. That is, as described above, each histogram value may have x-coordinates and y-coordinates associated with it in the final display of the histogram, wherein such x-coordinates and y-coordinates are also used for indexing in one of the multiple histograms and in one of the multiple histogram bins. After loading the histogram values, in the next step 1155, the histogram values ​​are scaled using the maximum value associated with the histogram and in combination with the number of colors available in the palette, such that the scaled histogram values ​​can be used to look up colors in the palette. After accessing the palette in step 1155 to obtain the color associated with the histogram value, the color encoding of the histogram location is stored in the histogram representation. This color encoding is the pixel position corresponding to the position of the histogram bin in the histogram display in step 1160. Each of steps 1145 through 1160 can be executed substantially simultaneously on multiple processing units of the GPU. This simultaneous processing is enabled because each operation is independent of the others. Since read and write accesses to the histogram representation in memory are directed to different memory locations, and even though the palette can be accessed across different concurrent processing threads, palette data can only be read and never written, thus reducing resource contention that could otherwise interfere with potential parallel processing.

[0244] After processing all pixels in the representations of the multiple histograms, in step 1165, the representations of the multiple histograms are post-processed by copying them to a temporary canvas (a temporary location in memory). Finally, in step 1170, each pixel in the representation of each one-pixel-wide histogram is copied a predetermined number of times, in this case twenty times, to form a representation of a twenty-pixel-wide histogram, such that the representations of the multiple histograms can be used to display the histogram.

[0245] Figure 12 A display 1200 is shown illustrating a plurality of histograms 1210 according to the present invention. The plurality of histograms 1210 are similar to... Figure 2 Multiple histograms 210 are shown. A single histogram 1210a of the multiple histograms 1210 corresponds to a saturated detector channel 15. Saturation is determined when the histogram bin count exceeds the established range of the histogram. That is, when the measurement threshold number corresponding to detector channel 15 falls outside the established range of the histogram bin 1210a, the channel detector 15 is detected as saturated.

[0246] Because detector channel 15 is saturated, in the display of multiple histograms 1210, a single histogram 1210a is highlighted and magnified compared to the other histograms by displaying an exclamation mark near it. These additional display features are included to inform the user that a single histogram 1210a indicates that channel detector 15 is saturated, and can be displayed immediately when histogram 1210a corresponds to a saturated channel detector. When detector channel 15 becomes saturated, a saturation user interface 1220 corresponding to the single histogram 1210a is also displayed. The saturation user interface 1220 includes the oversaturation percentage of the saturated detector channel 15, describing the channel as 50% saturated. The oversaturation percentage is calculated by dividing the number of measurements (i.e., events) outside the range of histogram 1210a by the total number of measurements (i.e., events) constituting histogram 1210a. In this case, 50% of the measurements corresponding to channel detector 15 fall outside the established range of a single histogram 1210a.

[0247] In addition, the saturated user interface 1220 includes supplemental text prompting the user to adjust settings of the underlying particle analyzer used to collect cytological data, including data parameters obtained through the saturated channel detector 15. Adjusting to resolve detector channel saturation may include adjusting the gain of the saturated detector channel. Although Figure 12 Not shown, but in some cases, the saturation user interface 1220 may display suggestions for adjusting gain settings to alleviate the saturation exhibited by detector channel 15 and the single histogram 1210a.

[0248] Notwithstanding the appended claims, this disclosure is also defined by the following provisions:

[0249] 1. A method for generating a histogram representation to display a histogram, the method comprising:

[0250] A histogram of cytological data of a sample is obtained, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream.

[0251] A representation of the histogram is generated by encoding the histogram, wherein the encoding includes:

[0252] Assign a color to each histogram value in the histogram representation; and

[0253] Copy each color a predetermined number of times for each histogram value in the histogram representation; and

[0254] The histogram is displayed using the representation of the histogram.

[0255] 2. The method according to Clause 1, wherein the cytologic data includes light measurements of particles irradiated in the sample.

[0256] 3. The method according to Clause 2, wherein the light measurement result is a measurement result of light intensity.

[0257] 4. The method according to any one of clauses 2-3, wherein the cytological data includes one or more of the following measurements:

[0258] Excitation light mainly scattered by the particles in the forward direction;

[0259] Excitation light mainly scattered laterally by the particles; and

[0260] The light emitted by fluorescent molecules or fluorescent dyes, which are used to label particles in one or more frequency ranges.

[0261] 5. The method according to any one of the preceding clauses, wherein:

[0262] The histogram includes multiple bins, and

[0263] The histogram values ​​are associated with histogram bins.

[0264] 6. The method according to Clause 5, wherein each histogram box corresponds to the range of measurement results for the irradiated particles in the sample.

[0265] 7. The method according to Clause 6, wherein the measurement result is a light intensity measurement result.

[0266] 8. The method described in accordance with the clause, wherein the histogram is a spectral intensity histogram.

[0267] 9. The method according to any one of the preceding clauses, wherein displaying the histogram using the representation of the histogram includes displaying the histogram on a display device using the representation of the histogram.

[0268] 10. The method according to any one of the preceding clauses, wherein the predetermined number is the number of pixels displayed in the horizontal direction of the displayed histogram.

[0269] 11. The method according to any one of the preceding clauses, wherein the shape of the displayed histogram is rectangular, wherein the longitudinal axis of the displayed histogram corresponds to the histogram box, and the color in the displayed histogram corresponds to the histogram value.

[0270] 12. The method according to Clause 11, wherein different colors in the displayed histogram correspond to different histogram values.

[0271] 13. The method according to any one of the preceding clauses, wherein the representation of the histogram includes an array.

[0272] 14. The method according to Clause 13, wherein assigning a color to each histogram value in the histogram representation includes encoding an array element to assign a display color along the longitudinal axis of the array.

[0273] 15. The method according to any one of Clauses 13-14, wherein assigning a color to each histogram value in the histogram representation includes encoding for assigning a display color at each longitudinal position of the array to no more than a single array element.

[0274] 16. The method according to any one of clauses 13-15, wherein the longitudinal axis of the array comprises 256 entries.

[0275] 17. The method according to any one of clauses 13-16, wherein copying each color corresponding to each histogram value in the histogram representation a predetermined number of times includes copying array elements along the lateral axis of the array.

[0276] 18. The method according to any one of clauses 13-17, wherein each element in the array corresponds to a pixel in the histogram display.

[0277] 19. The method according to any one of clauses 13-18, wherein the array elements along the longitudinal axis correspond to pixels along the longitudinal axis in the histogram display.

[0278] 20. The method according to any one of the preceding clauses further includes:

[0279] Determine the maximum value in the histogram box; and

[0280] The maximum value is used to determine the scaling factor used to assign color to the histogram values.

[0281] 21. The method according to Clause 20, wherein assigning colors to histogram values ​​in the representation of the histogram includes:

[0282] The histogram values ​​are scaled using the scaling factor to generate scaled histogram values; and

[0283] Assign colors corresponding to the histogram values ​​based on the scaled histogram values.

[0284] 22. The method described under Clause 21 further includes:

[0285] Obtain a color palette containing available colors for representing the histogram; and

[0286] The color palette is accessed using the scaled histogram values ​​to determine the colors corresponding to the histogram values.

[0287] 23. The method according to Clause 22, wherein the palette is an array of different colors, and accessing the palette using the scaled histogram values ​​includes indexing in the palette array using the scaled histogram values.

[0288] 24. The method according to any one of Clauses 22-23, wherein the palette comprises 256 colors.

[0289] 25. The method according to Clause 24, wherein eight bits are used to represent each color in the representation of the histogram.

[0290] 26. The method according to any one of the preceding clauses, wherein colors are assigned to multiple histogram values ​​substantially simultaneously.

[0291] 27. The method according to Clause 26 further includes using multiple parallel processing units to assign colors to multiple histogram values ​​substantially simultaneously.

[0292] 28. The method according to Clause 27, wherein the plurality of parallel processing units includes a graphics processing unit.

[0293] 29. The method according to Clause 28, wherein the graphics processing unit comprises more than one hundred processing units, and each processing unit is configured to assign a color to histogram values ​​in the representation of the histogram substantially simultaneously.

[0294] 30. The method according to any one of clauses 28-29, wherein the graphics processing unit is located on a graphics processing card.

[0295] 31. The method according to any one of clauses 28-30, wherein the graphics processing unit receives a one-dimensional array corresponding to the histogram as input.

[0296] 32. The method according to any one of clauses 28-31, wherein the graphics processing unit outputs a one-dimensional array corresponding to a representation of the histogram.

[0297] 33. The method according to any one of clauses 28-32, wherein copying each color corresponding to each histogram value in the representation of the histogram is not performed by a graphics processing unit.

[0298] 34. The method according to any one of the preceding clauses, wherein the generation of the histogram representation is performed substantially in real time.

[0299] 35. The method according to any one of the preceding clauses further includes determining whether the detector channel is saturated.

[0300] 36. The method described in accordance with Clause 35,

[0301] Determining whether a detector channel is saturated includes determining whether the oversaturation percentage of the detector channel is greater than a predetermined threshold.

[0302] The oversaturation percentage of the detector channel includes the ratio of the count of all particles falling outside the established histogram box to the total count of all particles.

[0303] 37. The method according to any one of clauses 35-36 further includes displaying a saturation user interface corresponding to the saturated detector channel.

[0304] 38. The method according to Clause 37, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0305] 39. The method according to any one of clauses 37-38, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0306] 40. The method according to any one of the preceding clauses further includes adjusting the settings for collecting cytologic data based on the display of the histogram.

[0307] 41. The method according to Clause 40, wherein adjusting the settings includes adjusting the gain settings of the channels of the detector used to collect cytological data.

[0308] 42. The method according to Clause 41, wherein adjusting the gain setting of the channels of the detector used to collect cytological data includes preventing channel saturation of the detector.

[0309] 43. A method for generating representations of multiple histograms to display the histograms, the method comprising:

[0310] Obtain multiple histograms of cytological data from the sample;

[0311] Generate representations of multiple histograms based on any of the foregoing clauses; and

[0312] The plurality of histograms are displayed using the representations of the plurality of histograms.

[0313] 44. The method according to Clause 43, wherein each histogram in the plurality of histograms comprises a photometric result of cytological data obtained from each of the plurality of channels of one or more detectors.

[0314] 45. The method according to Clause 44, wherein each histogram in the plurality of histograms comprises the same number of histogram bins.

[0315] 46. ​​The method according to Clause 45, wherein the respective histogram bin of each of the plurality of histograms has the same range of measurements associated therewith.

[0316] 47. The method according to any one of clauses 43-46, wherein displaying the plurality of histograms using a representation of the plurality of histograms includes displaying the plurality of histograms on a display device using a representation of the plurality of histograms.

[0317] 48. The method according to any one of clauses 43-47, wherein the representation of the plurality of histograms comprises a two-dimensional array.

[0318] 49. The method according to Clause 48, wherein the first dimension of the two-dimensional array corresponds to a histogram bin, and the second dimension of the two-dimensional array corresponds to a histogram of the plurality of histograms.

[0319] 50. The method according to any one of clauses 43-49, wherein the representations of more than one histogram are generated substantially simultaneously.

[0320] 51. The method according to any one of clauses 43-50, wherein the display of the plurality of histograms further includes displaying a saturated user interface corresponding to a saturated detector channel.

[0321] 52. The method according to Clause 51, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0322] 53. The method according to any one of clauses 51-52, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0323] 54. The method according to any one of clauses 43-53 further includes adjusting the settings for collecting cytologic data based on the display of the plurality of histograms.

[0324] 55. The method according to Clause 54, wherein adjusting the settings includes adjusting the gain settings of one or more channels of one or more detectors used for collecting cytological data.

[0325] 56. The method according to Clause 55, wherein adjusting the gain setting of one or more channels of one or more detectors includes preventing one or more channels of the one or more detectors from saturating.

[0326] 57. The method according to any one of clauses 43-56, wherein the generation of the representation of each histogram in the plurality of histograms is performed substantially in real time.

[0327] 58. The method according to any one of the preceding clauses, wherein the histogram of the cytological data of the sample includes a histogram of the data measurement results generated from the flow cytometry analysis of the sample.

[0328] 59. A system for generating a representation of a histogram for displaying the histogram, the system comprising:

[0329] A general-purpose processor includes memory operatively coupled to the general-purpose processor, wherein the memory includes instructions stored thereon, which, when executed by the general-purpose processor, cause the general-purpose processor to:

[0330] A histogram of cytological data of a sample is obtained, wherein the cytological data includes measurements of irradiated particles in a sample flowing in a flow stream.

[0331] The histogram is transmitted to multiple parallel processing units;

[0332] Histogram representations are received from the plurality of parallel processing units, wherein the representations include color encoding corresponding to each histogram value;

[0333] The color encoding corresponding to the histogram value in the histogram representation is copied a predetermined number of times; and

[0334] The histogram is displayed on an output device using its representation; and

[0335] A plurality of parallel processing units operatively connected to the general-purpose processor and including memory operatively coupled to the plurality of parallel processing units, wherein the memory includes instructions stored thereon that, when executed by the plurality of parallel processing units, cause the plurality of parallel processing units to:

[0336] Receive the histogram from the general-purpose processor;

[0337] A representation of the histogram is generated by encoding the histogram, the encoding including assigning a color code to each histogram value in the histogram representation; and

[0338] The histogram representation is transmitted to the general-purpose processor.

[0339] 60. The system according to Clause 59, wherein the cytological data includes light measurements of particles irradiated in the sample.

[0340] 61. The system according to Clause 60, wherein the light measurement result is a measurement result of light intensity.

[0341] 62. The system according to any one of clauses 60-61, wherein the cytological data includes one or more of the following measurements:

[0342] Excitation light mainly scattered by the particles in the forward direction;

[0343] Excitation light mainly scattered laterally by the particles; and

[0344] The light emitted by fluorescent molecules or fluorescent dyes, which are used to label particles in one or more frequency ranges.

[0345] 63. The system according to any one of clauses 59-62, wherein:

[0346] The histogram includes multiple bins, and

[0347] The histogram values ​​are associated with histogram bins.

[0348] 64. The system according to Clause 63, wherein each histogram box corresponds to a range of measurements of the irradiated particles in the sample.

[0349] 65. The system according to Clause 64, wherein the measurement result is a light intensity measurement result.

[0350] 66. The system according to Clause 65, wherein the histogram is a spectral intensity histogram.

[0351] 67. The system according to any one of clauses 59-66 further includes:

[0352] A display device operably connected to the general-purpose processor.

[0353] Displaying the histogram on an output device using the histogram representation includes displaying the histogram on a display device using the histogram representation.

[0354] 68. The system according to any one of clauses 59-67, wherein the predetermined number is the number of pixels displayed in the horizontal direction of the displayed histogram.

[0355] 69. The system according to any one of clauses 59-68, wherein the shape of the displayed histogram is rectangular, wherein the longitudinal axis of the displayed histogram corresponds to the histogram box, and the color in the displayed histogram corresponds to the histogram value.

[0356] 70. The system according to Clause 69, wherein different colors in the displayed histogram correspond to different histogram values.

[0357] 71. The system according to any one of clauses 59-70, wherein the representation of the histogram comprises an array.

[0358] 72. The system according to Clause 71, wherein assigning a color to each histogram value in the histogram representation includes encoding an array element to assign a display color along the longitudinal axis of the array.

[0359] 73. The system according to any one of clauses 71-72, wherein assigning a color to each histogram value in the histogram representation includes encoding for assigning a display color at each longitudinal position of the array to no more than a single array element.

[0360] 74. The system according to any one of clauses 71-73, wherein the longitudinal axis of the array comprises 256 entries.

[0361] 75. The system according to any one of clauses 71-74, wherein copying each color code corresponding to a histogram value in the histogram representation a predetermined number of times includes copying array elements along the transverse axis of the array.

[0362] 76. The system according to any one of clauses 71-75, wherein each element in the array corresponds to an output device pixel displayed by the histogram.

[0363] 77. The system according to any one of clauses 71-76, wherein the array elements along the longitudinal axis correspond to output device pixels along the longitudinal axis in the histogram display.

[0364] 78. The system according to any one of claims 59-77, wherein the general-purpose processor includes memory operatively coupled to the general-purpose processor, wherein the memory includes other instructions stored thereon, which, when executed by the general-purpose processor, also cause the general-purpose processor to:

[0365] Determine the maximum value in the histogram box; and

[0366] The maximum value is used to determine the scaling factor used to assign color to the histogram values.

[0367] 79. The system according to Clause 78, wherein the coding for assigning color to histogram values ​​in the histogram representation includes:

[0368] The histogram values ​​are scaled using the scaling factor to generate scaled histogram values; and

[0369] Assign colors corresponding to the histogram values ​​based on the scaled histogram values.

[0370] 80. The system according to claim 79, wherein the general-purpose processor includes memory operatively coupled to the general-purpose processor, wherein the memory includes other instructions stored thereon, which, when executed by the general-purpose processor, also cause the general-purpose processor to:

[0371] Obtain a color palette containing available colors for representing the histogram; and

[0372] The color palette is accessed using the scaled histogram values ​​to determine the colors corresponding to the histogram values.

[0373] 81. The system according to Clause 80, wherein the palette is an array of different colors, and accessing the palette using the scaled histogram values ​​includes indexing in the palette array using the scaled histogram values.

[0374] 82. The system according to any one of clauses 80-81, wherein the color palette comprises 256 colors.

[0375] 83. The system according to Clause 82, wherein eight bits are used to represent each color in the representation of the histogram.

[0376] 84. The system according to any one of claims 59-83, wherein the plurality of parallel processing units includes a memory operatively coupled to the plurality of parallel processing units, wherein the memory includes additional instructions stored thereon, which, when executed by the plurality of parallel processing units, also cause the plurality of parallel processing units to: assign color encoding to a plurality of histogram values ​​in the histogram representation substantially simultaneously.

[0377] 85. The system according to Clause 84, wherein the plurality of parallel processing units includes a graphics processing unit.

[0378] 86. The system according to Clause 85, wherein the graphics processing unit comprises more than one hundred processing units, and each processing unit is configured to assign color codes to histogram values ​​in the representation of the histogram substantially simultaneously.

[0379] 87. The system according to Clause 86, wherein the graphics processing unit is located on a graphics processing card.

[0380] 88. The system according to any one of clauses 85-87, wherein the graphics processing unit receives a one-dimensional array corresponding to the histogram as input.

[0381] 89. The system according to any one of clauses 85-88, wherein the graphics processing unit sends a one-dimensional array corresponding to the representation of the histogram as output.

[0382] 90. The system according to any one of clauses 59-89, wherein the system is configured to generate a representation of the histogram for displaying the histogram substantially in real time.

[0383] 91. The system according to any one of clauses 59-90, wherein the system is configured to determine whether a detector channel is saturated.

[0384] 92. The system according to Clause 91, wherein the system is configured to determine whether a detector channel is saturated by determining whether the oversaturation percentage of a detector channel is greater than a predetermined threshold, wherein the oversaturation percentage of the detector channel comprises the ratio of the count of measurements of all particles falling outside the established histogram box to the count of measurements of all particles.

[0385] 93. The system according to any one of clauses 91-92, wherein the system is further configured to display a saturation user interface corresponding to a saturated detector channel.

[0386] 94. The system according to Clause 93, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0387] 95. The system according to any one of clauses 93-94, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0388] 96. A system according to any one of clauses 59-95, wherein:

[0389] The plurality of parallel processing units include a memory operatively coupled to the plurality of parallel processing units, wherein the memory includes additional instructions stored thereon, which, when executed by the plurality of parallel processing units, also cause the plurality of parallel processing units to:

[0390] Multiple histograms of cytological data received from the general-purpose processor;

[0391] A representation of multiple histograms is generated by encoding the multiple histograms, the encoding including an encoding that assigns a color to each histogram value in the representation of the multiple histograms; and

[0392] The representations of the plurality of histograms are transmitted to the general-purpose processor; and

[0393] The general-purpose processor includes memory operatively coupled to it, wherein the memory includes additional instructions stored thereon, which, when executed by the general-purpose processor, also cause the general-purpose processor to:

[0394] The histogram representation is used to display the plurality of histograms on the output device.

[0395] 97. The system according to Clause 96, wherein each histogram in the plurality of histograms comprises a photometric result of cytological data obtained from each of the plurality of channels of one or more detectors.

[0396] 98. The system according to Clause 97, wherein each histogram in the plurality of histograms comprises the same number of histogram bins.

[0397] 99. The system according to Clause 98, wherein the corresponding histogram bin of each histogram in the plurality of histograms has the same range of measurements associated with it.

[0398] 100. The system according to any one of clauses 96-99, wherein the representation of the plurality of histograms comprises a two-dimensional array.

[0399] 101. The system according to Clause 100, wherein the first dimension of the two-dimensional array corresponds to a histogram bin, and the second dimension of the two-dimensional array corresponds to a histogram of the plurality of histograms.

[0400] 102. The system according to any one of claims 96-101, wherein the plurality of parallel processing units includes a memory operatively coupled to the plurality of parallel processing units, wherein the memory includes additional instructions stored thereon, which, when executed by the plurality of parallel processing units, also cause the plurality of parallel processing units to: substantially simultaneously generate representations of more than one histogram.

[0401] 103. The system according to any one of clauses 96-102, wherein the system is configured to generate representations of a plurality of histograms to display the plurality of histograms substantially in real time.

[0402] 104. The system according to any one of clauses 96-103, wherein the system is configured to display a saturated user interface corresponding to a saturated detector channel.

[0403] 105. The system according to Clause 104, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0404] 106. The system according to any one of clauses 104-105, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0405] 107. A non-transitory computer-readable storage medium comprising instructions stored thereon for generating a representation of a histogram to display the histogram, the instructions comprising:

[0406] An algorithm for acquiring histograms of cytological data from a sample, wherein the cytological data includes measurements from irradiated particles in a sample flowing in a flow stream.

[0407] An algorithm for generating a representation of the histogram by encoding the histogram, wherein the encoding includes:

[0408] Assign a color to each histogram value in the histogram representation; and

[0409] Copy each color a predetermined number of times for each histogram value in the histogram representation; and

[0410] The algorithm for the histogram is displayed using the representation of the histogram.

[0411] 108. The non-transitory computer-readable storage medium as described in Clause 107, wherein the cytological data includes light measurements of particles irradiated in a sample.

[0412] 109. The non-transitory computer-readable storage medium as described in Clause 108, wherein the light measurement result is a measurement result of light intensity.

[0413] 110. A non-transitory computer-readable storage medium according to any one of clauses 108-109, wherein the cytology data includes one or more of the following measurements:

[0414] Excitation light mainly scattered by the particles in the forward direction;

[0415] Excitation light mainly scattered laterally by the particles; and

[0416] The light emitted by fluorescent molecules or fluorescent dyes, which are used to label particles in one or more frequency ranges.

[0417] 111. The non-transitory computer-readable storage medium according to any one of clauses 107-110, wherein:

[0418] The histogram includes multiple bins, and

[0419] The histogram values ​​are associated with histogram bins.

[0420] 112. The non-transitory computer-readable storage medium as described in Clause 111, wherein each histogram box corresponds to a range of measurement results for irradiated particles in the sample.

[0421] 113. The non-transitory computer-readable storage medium as described in Clause 112, wherein the measurement result is a light intensity measurement result.

[0422] 114. The non-transitory computer-readable storage medium as described in Clause 113, wherein the histogram is a spectral intensity histogram.

[0423] 115. The non-transitory computer-readable storage medium according to any one of clauses 107-114, wherein the algorithm for displaying the histogram using the representation of the histogram includes an algorithm for displaying the histogram on a display device using the representation of the histogram.

[0424] 116. The non-transitory computer-readable storage medium according to any one of clauses 107-115, wherein the predetermined number is the number of pixels displayed in the horizontal direction of the displayed histogram.

[0425] 117. The non-transitory computer-readable storage medium according to any one of clauses 107-116, wherein the shape of the displayed histogram is rectangular, wherein the longitudinal axis of the displayed histogram corresponds to the histogram bin, and the color in the displayed histogram corresponds to the histogram value.

[0426] 118. The non-transitory computer-readable storage medium as described in Clause 117, wherein different colors in the displayed histogram correspond to different histogram values.

[0427] 119. The non-transitory computer-readable storage medium according to any one of clauses 107-118, wherein the representation of the histogram comprises an array.

[0428] 120. The non-transitory computer-readable storage medium as described in Clause 119, wherein assigning a color to each histogram value in the histogram representation includes encoding for assigning display colors to array elements along the longitudinal axis of the array.

[0429] 121. The non-transitory computer-readable storage medium according to any one of clauses 119-120, wherein assigning a color to each histogram value in the histogram representation includes encoding for assigning a display color at each longitudinal position of the array to no more than a single array element.

[0430] 122. The non-transitory computer-readable storage medium according to any one of clauses 119-121, wherein the longitudinal axis of the array comprises 256 entries.

[0431] 123. A non-transitory computer-readable storage medium according to any one of clauses 119-122, wherein copying each color corresponding to each histogram value in the representation of the histogram a predetermined number of times includes copying array elements along the lateral axis of the array.

[0432] 124. A non-transitory computer-readable storage medium according to any one of clauses 119-123, wherein each element in the array corresponds to a pixel in the histogram display.

[0433] 125. A non-transitory computer-readable storage medium according to any one of clauses 119-124, wherein an array element along the longitudinal axis corresponds to a pixel along the longitudinal axis in the histogram display.

[0434] 126. A non-transitory computer-readable storage medium according to any one of clauses 107-125, comprising additional instructions stored thereon, said additional instructions including:

[0435] An algorithm for determining the maximum value in the histogram bin; and

[0436] An algorithm is used to determine the scaling factor for assigning color to histogram values ​​using the maximum value.

[0437] 127. The non-transitory computer-readable storage medium as described in Clause 126, wherein assigning colors to histogram values ​​in a histogram representation includes:

[0438] The histogram values ​​are scaled using the scaling factor to generate scaled histogram values; and

[0439] Assign colors corresponding to the histogram values ​​based on the scaled histogram values.

[0440] 128. The non-transitory computer-readable storage medium as described in Clause 127, comprising additional instructions stored thereon, said additional instructions including:

[0441] An algorithm for obtaining a palette containing available colors for representing the histogram; and

[0442] An algorithm that uses the scaled histogram values ​​to access the palette to determine the colors corresponding to the histogram values.

[0443] 129. The non-transitory computer-readable storage medium of claim 128, wherein the palette is an array of different colors, and the algorithm for accessing the palette using the scaled histogram values ​​includes an algorithm for indexing in the palette array using the scaled histogram values.

[0444] 130. The non-transitory computer-readable storage medium according to any one of Clauses 128-129, wherein the palette comprises 256 colors.

[0445] 131. The non-transitory computer-readable storage medium as described in Clause 130, wherein eight bits are used to represent each color in the representation of the histogram.

[0446] 132. The non-transitory computer-readable storage medium according to any one of clauses 107-131, wherein colors are assigned to a plurality of histogram values ​​substantially simultaneously.

[0447] 133. The non-transitory computer-readable storage medium as described in Clause 132, comprising additional instructions stored thereon, said additional instructions including: an algorithm for assigning colors to a plurality of histogram values ​​substantially simultaneously using a plurality of parallel processing units.

[0448] 134. The non-transitory computer-readable storage medium as described in Clause 133, wherein the plurality of parallel processing units includes a graphics processing unit.

[0449] 135. The non-transitory computer-readable storage medium of claim 134, wherein the graphics processing unit comprises more than one hundred processing units, and each processing unit is configured to assign a color to histogram values ​​in a representation of the histogram substantially simultaneously.

[0450] 136. The non-transitory computer-readable storage medium according to any one of clauses 134-135, wherein the graphics processing unit is located on a graphics processing card.

[0451] 137. A non-transitory computer-readable storage medium according to any one of clauses 134-136, wherein the graphics processing unit receives a one-dimensional array corresponding to the histogram as input.

[0452] 138. A non-transitory computer-readable storage medium according to any one of clauses 134-137, wherein the graphics processing unit outputs a one-dimensional array corresponding to a representation of the histogram.

[0453] 139. The non-transitory computer-readable storage medium according to any one of clauses 134-138, wherein the copying of each color corresponding to each histogram value in the representation of the histogram is not performed by the graphics processing unit.

[0454] 140. The non-transitory computer-readable storage medium according to any one of clauses 107-139, wherein the generation of the histogram representation is performed substantially in real time.

[0455] 141. The non-transitory computer-readable storage medium according to any one of clauses 107-140 further includes determining whether the detector channel is saturated.

[0456] 142. The non-transitory computer-readable storage medium as described in Clause 141, wherein the algorithm for determining whether a detector channel is saturated includes an algorithm for determining whether the oversaturation percentage of the detector channel is greater than a predetermined threshold, wherein the oversaturation percentage of the detector channel includes the ratio of the count of measurements of all particles falling outside the established histogram box to the count of measurements of all particles.

[0457] 143. The non-transitory computer-readable storage medium according to any one of clauses 141-142 further includes an algorithm for displaying a saturated user interface corresponding to a saturated detector channel.

[0458] 144. The non-transitory computer-readable storage medium as described in Clause 143, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0459] 145. The non-transitory computer-readable storage medium according to any one of clauses 143-144, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0460] 146. A non-transitory computer-readable storage medium comprising instructions stored thereon for generating representations of a plurality of histograms to display the histograms, the instructions comprising:

[0461] An algorithm for obtaining multiple histograms of cytological data from a sample;

[0462] An algorithm for generating a representation of a plurality of histograms according to the instructions of a non-transitory computer-readable storage medium as described in any one of Clauses 107-145; and

[0463] An algorithm that uses representations of multiple histograms to display multiple histograms.

[0464] 147. The non-transitory computer-readable storage medium as described in Clause 146, wherein each histogram in the plurality of histograms comprises a photometric result of cytological data obtained from each of the plurality of channels of one or more detectors.

[0465] 148. The non-transitory computer-readable storage medium as described in Clause 147, wherein each histogram in the plurality of histograms comprises the same number of histogram bins.

[0466] 149. The non-transitory computer-readable storage medium as described in Clause 148, wherein the corresponding histogram bin of each histogram in the plurality of histograms has the same range of measurements associated therewith.

[0467] 150. The non-transitory computer-readable storage medium according to any one of clauses 146-149, wherein the algorithm for displaying the plurality of histograms using the representations of the plurality of histograms includes an algorithm for displaying the plurality of histograms on a display device using the representations of the plurality of histograms.

[0468] 151. The non-transitory computer-readable storage medium according to any one of clauses 146-150, wherein the representation of the plurality of histograms comprises a two-dimensional array.

[0469] 152. The non-transitory computer-readable storage medium according to Clause 151, wherein a first dimension of the two-dimensional array corresponds to a histogram bin, and a second dimension of the two-dimensional array corresponds to a histogram of the plurality of histograms.

[0470] 153. The non-transitory computer-readable storage medium according to any one of clauses 146-152, wherein the algorithm for generating a representation of each of the plurality of histograms includes an algorithm for generating representations of more than one histogram substantially simultaneously.

[0471] 154. The non-transitory computer-readable storage medium according to any one of clauses 146-153, wherein the algorithm for generating a representation of each of the plurality of histograms is an algorithm for generating representations of the plurality of histograms substantially in real time.

[0472] 155. The non-transitory computer-readable storage medium according to any one of clauses 146-154 further includes an algorithm for displaying a saturated user interface corresponding to a saturated detector channel.

[0473] 156. The non-transitory computer-readable storage medium as described in Clause 155, wherein the saturation user interface includes displaying the oversaturation percentage of the saturated detector channel.

[0474] 157. The non-transitory computer-readable storage medium according to any one of clauses 155-156, wherein the saturation user interface includes prompts for adjusting settings of the saturated detector channel.

[0475] Although the invention has been described in part in detail by way of illustration and example for ease of understanding, it will be readily apparent to those skilled in the art that certain changes and modifications can be made to it without departing from the spirit or scope of the appended claims, based on the teachings of the invention.

[0476] Therefore, the foregoing is merely illustrative of the principles of the invention. It is worth noting that, although not explicitly described or shown herein, those skilled in the art can design various devices that embody the principles of the invention and are incorporated into its spirit and scope. Furthermore, all examples and conditional language cited herein are primarily intended to help the reader understand the principles of the invention and the concepts contributed by the inventors to promote technological development; these principles and concepts are not limited to the specifically cited examples and situations. Moreover, all statements and specific examples of the principles, aspects, and embodiments of the invention enumerated herein are intended to include their structural and functional equivalents. Furthermore, these equivalents include both currently known equivalents and those developed in the future, i.e., any element developed that performs the same function, regardless of its structure. Furthermore, nothing disclosed herein is intended to be exclusively disclosed to the public, whether or not such disclosure is expressly referenced in the claims.

[0477] Therefore, the scope of the invention is not limited to the exemplary embodiments shown and described herein. Rather, the scope and spirit of the invention are embodied in the appended claims. In the claims, 35U.SC6 112(f) or 35U.SC6 112(6) is expressly defined as referring to a limitation in a claim only if the exact phrase “means for” or “step for” is used at the beginning of such a limitation in the claim; if the exact phrase is not used in the limitation in the claim, then 35U.SC6 112(f) or 35U.SC6 112(6) is not referred to.

Claims

1. A method for generating a representation of histogram data to display the histogram data, the method comprising: Obtain histogram data corresponding to cytological data of a sample, wherein the cytological data includes measurements of particles irradiated in a sample flowing in a flow stream, wherein the histogram data includes multiple histogram bins, histogram data values ​​are associated with each histogram bin, and each histogram data value represents the number of particles corresponding to each histogram bin; A representation of the histogram data is generated by encoding the histogram data, wherein the encoding includes: Using scaled histogram data values ​​as indices, colors are assigned in parallel to the range of histogram data values ​​in the histogram data representation by looking up corresponding colors in a palette array, generating a one-dimensional array of histogram data representations, wherein the length of the one-dimensional array corresponds to the number of histogram bins, and each element in the one-dimensional array is an encoding of the color of the corresponding bin; and To generate a two-dimensional array, each color corresponding to a range of histogram data values ​​in a one-dimensional array representing the histogram data is copied a predetermined number of times; and The histogram data is displayed based on the two-dimensional array.

2. The method of claim 1, wherein the cytological data includes photometric measurements of particles irradiated in the sample.

3. The method according to any one of claims 1 or 2, wherein displaying the histogram data using a representation of the histogram data comprises displaying the histogram data on a display device using a representation of the histogram data.

4. The method according to any one of claims 1 or 2, wherein the predetermined number is the number of pixels displayed in the horizontal direction of the displayed histogram data.

5. The method of claim 1, wherein the shape of the displayed histogram data is rectangular, wherein the vertical axis of the displayed histogram data corresponds to the histogram bin, and the color in the displayed histogram data corresponds to the histogram data value.

6. The method according to claim 1, further comprising: Determine the maximum value in the bins of the histogram data; and The maximum value is used to determine the scaling factor used to assign colors to the histogram data values.

7. The method according to any one of claims 1 or 2, wherein the generation of the representation of the histogram data is performed substantially in real time.

8. The method according to any one of claims 1 or 2, further comprising determining whether the detector channel is saturated.

9. The method according to any one of claims 1 or 2, further comprising adjusting the display settings for collecting cytologic data based on the histogram data.

10. A method for generating a representation of multiple histogram data to display the multiple histogram data, the method comprising: Obtain multiple histogram data corresponding to the cytological data of the sample; Generate a representation of multiple histogram data according to any one of claims 1 or 2; and The multiple histogram data are displayed using a representation of the multiple histogram data.

11. A system for generating a representation of histogram data for displaying the histogram data, the system comprising: A general-purpose processor includes memory operatively coupled to the general-purpose processor, wherein the memory includes instructions stored thereon that, when executed by the general-purpose processor, cause the general-purpose processor to: Obtain histogram data corresponding to cytological data of a sample, wherein the cytological data includes measurements of particles irradiated in a sample flowing in a flow stream, wherein the histogram data includes multiple histogram bins, histogram data values ​​are associated with each histogram bin, and each histogram data value represents the number of particles corresponding to each histogram bin; The histogram data is transmitted to multiple parallel processing units; A representation of histogram data is received from the plurality of parallel processing units, wherein the representation includes an encoding of a color corresponding to each histogram data value; To generate a two-dimensional array, the color codes corresponding to the range of histogram data values ​​in a one-dimensional array representing the histogram data are copied a predetermined number of times; and The histogram data is displayed on the output device based on the two-dimensional array; and A plurality of parallel processing units operatively connected to the general-purpose processor and including memory operatively coupled to the plurality of parallel processing units, wherein the memory includes instructions stored thereon that, when executed by the plurality of parallel processing units, cause the plurality of parallel processing units to: Receive the histogram data from the general-purpose processor; A representation of the histogram data is generated by encoding the histogram data, the encoding including assigning colors in parallel to the range of histogram data values ​​in the representation of the histogram data by looking up corresponding colors in a palette array using scaled histogram data values ​​as indices, to generate a one-dimensional array of the histogram data representation, wherein the length of the one-dimensional array corresponds to the number of histogram bins, and each element in the one-dimensional array stores the color code corresponding to the histogram bin; and The representation of the histogram data is sent to the general-purpose processor.

12. A non-transitory computer-readable storage medium comprising instructions stored thereon for generating a representation of histogram data to display the histogram data, the instructions comprising: An algorithm is used to acquire histogram data corresponding to cytological data of a sample, wherein the cytological data includes measurements of particles irradiated in a sample flowing in a flow stream, wherein the histogram data includes multiple histogram bins, histogram data values ​​are associated with each histogram bin, and each histogram data value represents the number of particles corresponding to each histogram bin. An algorithm for generating a representation of histogram data by encoding histogram data, the encoding comprising: Using scaled histogram data values ​​as indices, colors are assigned in parallel to the range of histogram data values ​​in the histogram data representation by looking up corresponding colors in a palette array, generating a one-dimensional array of histogram data representations, wherein the length of the one-dimensional array corresponds to the number of histogram bins, and each element in the one-dimensional array is an encoding of the color of the corresponding bin; and To generate a two-dimensional array, each color corresponding to a range of histogram data values ​​in a one-dimensional array representing the histogram data is copied a predetermined number of times; and An algorithm for displaying the histogram data based on the two-dimensional array.

13. A non-transitory computer-readable storage medium comprising instructions stored thereon for generating representations of a plurality of histogram data to display the histogram data, the instructions comprising: An algorithm for obtaining multiple histogram data corresponding to the cytological data of a sample; An algorithm for generating a representation of a plurality of histogram data using instructions for a non-transitory computer-readable storage medium according to claim 12; and An algorithm for displaying the multiple histogram data using a representation of the multiple histogram data.

Citation Information

Patent Citations

  • Flow cytometer with optical equalization

    US10006852B2

  • Parallel flow cytometer using radiofrequency multiplexing

    US10036699B2

  • Multi-modal fluorescence imaging flow cytometry system

    US10078045B2

  • Absorbance sprectrum scanning flow cytometry

    US10113967B2

  • System and method for adjusting cytometer measurements

    US10145793B2