A machine learning-based sample classifier system and method for physical samples

JP2026519407APending Publication Date: 2026-06-16THINKCYTE INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
THINKCYTE INC
Filing Date
2024-04-26
Publication Date
2026-06-16

Smart Images

  • Figure 2026519407000001_ABST
    Figure 2026519407000001_ABST
Patent Text Reader

Abstract

A system and method are provided for implementing object classification based on sensor data about objects, without labels being assigned to the sensor data. The system may include one or more processors. One or more processors may acquire sensor data about objects. One or more processors may apply the sensor data as input to a classification model to cause the classification model to determine the classification of objects. The classification model may be constructed based on training data containing multiple clusters generated by dimensionality reduction of sample data about sample objects. At least one of the multiple clusters may be associated with a classification. One or more processors may output the classification of objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications This application claims the benefit and priority of U.S. Provisional Application No. 63 / 462,713, filed on April 28, 2023, the disclosure of which is hereby incorporated by reference in its entirety.

[0002] This application generally relates to the field of machine - learning - based classifiers, and more particularly, to machine - learning - based physical sample classifiers.

Background Art

[0003] A classification model can be used to assign class information, such as class information indicating one or more characteristics or identifiers of a sample, to a sample. The class information can be assigned based on the processing of sensor data regarding the sample.

Summary of the Invention

Problems to be Solved by the Invention

[0004] The performance of a classification model can be limited by the quality of the learning data used to configure the classification model. This disclosure addresses this aspect and other aspects.

Means for Solving the Problems

[0005] At least one aspect relates to a system. The system can include one or more processors. The one or more processors can acquire sensor data regarding an object. The one or more processors can apply the sensor data as an input to a classification model to cause the classification model to determine a classification of the object. The classification model can be configured based on learning data including a plurality of clusters generated by dimensionality reduction of sample data regarding a sample object. At least one of the plurality of clusters can be associated with a classification. The one or more processors can output the classification of the object.

[0006] At least one aspect relates to a method. The method may include acquiring sensor data about an object using one or more processors. The method may also include applying the sensor data as input to a classification model using one or more processors, causing the classification model to determine the classification of the object. The classification model may be constructed based on training data that includes multiple clusters generated by dimensionality reduction of sample data about a sample object. At least one of the multiple clusters may be associated with a classification. The method may also include outputting the classification of the object using one or more processors.

[0007] At least one aspect relates to a system. The system may include a flow cytometer configured to guide a fluid flow containing an object through the field of view of a photosensor / photodetector, causing the photosensor / photodetector to detect sensor data about the object. The system may include one or more processors. One or more processors may apply sensor data as input to a classification model, causing the classification model to detect the classification of the object. One or more processors may be configured based on training data including multiple clusters generated by dimensionality reduction of sample data relating to sample cells. At least one of the multiple clusters may be associated with a classification. One or more processors may output a classification.

[0008] At least one aspect relates to a method. The method may include guiding an object through the field of view of a photosensor / photodetector using a flow cytometer. The method may include causing the photosensor / photodetector to detect sensor data about the object. The method may include applying the sensor data as input to a classification model using one or more processors, causing the classification model to detect the classification of the object. The method may also include outputting the classification.

[0009] At least one aspect relates to a system. The system may include one or more processors. One or more processors may receive multiple sensor data representations of multiple objects, the multiple objects including at least one of cellular material, nucleic acid material, biomaterial, or chemical substance, or any combination thereof. One or more processors may perform dimensionality reduction on the multiple sensor data representations and assign each object of the multiple objects to a corresponding cluster of multiple clusters. One or more processors may assign type identifiers of a given object among the multiple objects to a corresponding cluster of multiple clusters to which that given object is assigned. One or more processors may construct a classification model based on the multiple clusters and type identifiers.

[0010] At least one embodiment relates to a method. The method may include receiving multiple sensor data representations of multiple objects by one or more processors, wherein the multiple objects include at least one of cellular material, nucleic acid material, biomaterial, or chemical substance. The method may include performing dimensionality reduction on the multiple sensor data representations by one or more processors and assigning each object of the multiple objects to a corresponding cluster of multiple clusters. The method may include assigning type identifiers of a given object among the multiple objects to a corresponding cluster of multiple clusters by one or more processors. The method may include constructing a classification model based on the multiple clusters and type identifiers by one or more processors.

[0011] At least one aspect relates to a method. The method may include (a) feeding (i.e., inputting) a time-series electrical signal of an object to at least one dimensionality reduction method and extracting at least one feature of the object from the time-series electrical signal. The method may include (b) comparing the distribution of at least one feature of the object extracted by at least one dimensionality reduction method with the distribution of a subset of the object. The method may include (c) setting up at least one gate in the time-series electrical signal of the object fed in (a) to digitally distinguish the time-series electrical signals of a subset of the object. The method may include (d) performing machine learning to create a classification model using the time-series electrical signals, wherein the time-series electrical signal of a target object is digitally distinguished in the time-series electrical signals obtained from the object based on the at least one gate setting in (c). The method may include (e) classifying target objects from among the observed objects using time-series electrical signals of the observed objects based on a classification model, wherein the time-series electrical signals of the observed objects are obtained based on at least one electromagnetic wave measured by ghost cytometry without labeling to identify the observed objects.

[0012] At least one aspect relates to a method. The method may include (a) feeding time-series electrical signals of an observed object into at least one clustering process (method) to classify the time-series electrical signals into a plurality of clusters. The method may include (b) using at least one feature of the observed object to identify at least one cluster of interest that contains each of the observed objects belonging to a subset of the observed object. The method may include (c) performing machine learning to create a classification model using time-series electrical signals acquired without any labeling for identifying the observed object, wherein the time-series electrical signals of the target object are digitally distinguished from the time-series electrical signals of the observed object by at least one cluster of interest identified in (b). The method may include (d) classifying the target object from among the observed objects using time-series electrical signals of the observed object based on the classification model, wherein the time-series electrical signals of the observed object are acquired based on at least one electromagnetic wave measured by ghost cytometry without any labeling for identifying the observed object.

[0013] In some embodiments, one or more methods include analyzing time-series electrical signals and then selecting target objects from the observed objects without generating images. In some embodiments, one or more methods include identifying observed objects that are part of a subset based on information provided by artificially assigned labels to the observed objects. The dimensionality reduction method may be one of the following techniques: autoencoder, Uniform Manifold Approximation and Projection (UMAP), Principal Component Analysis (PCA), or t-distributed Stochastic Neighbor Embedding (t-SNE). In some embodiments, the clustering method used may be one of the following: k-means clustering, Density-based Spatial Clustering of Applications with Noise (DBSCAN), hierarchical clustering, and spectral clustering. In some embodiments, the classification model created by performing machine learning is created using one of the following: support vector machines (SVM), logistic regression, or decision trees. The target objects may be observed objects that are part of a subset of the observed objects.

[0014] At least one electromagnetic wave measured by ghost cytometry is acquired by (i) illuminating one or more objects flowing through at least one channel with a lighting pattern, and (ii) receiving the electromagnetic waves emitted from the objects illuminated by the lighting pattern with a sensor. The lighting pattern can be a structured lighting pattern.

[0015] At least one aspect relates to a method. The method may include (a) feeding a time-series electrical signal of an object to at least one dimensionality reduction method and extracting at least one feature of the object from the time-series electrical signal. The method may include (b) comparing the distribution of at least one feature of the object extracted by at least one dimensionality reduction method with the distribution of a subset of the object. The method may include (c) setting up at least one gate to digitally distinguish the time-series electrical signals of a subset of the object from the time-series electrical signals of the object fed in (a). The method may include (d) performing machine learning to create a classification model using the time-series electrical signals, wherein the time-series electrical signal of a target object is digitally distinguished from the time-series electrical signals obtained from the object based on the at least one gate setting in (c). The method may include obtaining a time-series electrical signal of an object based on at least one electromagnetic wave measured by ghost cytometry without labeling to identify the object.

[0016] At least one aspect relates to a method. The method may include (a) feeding time-series electrical signals of an object to at least one clustering method to classify the time-series electrical signals into a plurality of clusters. The method may include (b) using at least one feature of the object to identify at least one cluster of interest that contains each of the objects belonging to a subset of the object. The method may include (c) performing machine learning to create a classification model using time-series electrical signals acquired without any labeling for identifying the object, wherein the time-series electrical signals of the target object are digitally distinguished from the time-series electrical signals of the object by at least one cluster of interest identified in (b). The method may include (d) classifying the target object from among the object using the time-series electrical signals of the object based on the classification model. The time-series electrical signals of the object may be acquired based on at least one electromagnetic wave measured by ghost cytometry without any labeling for identifying the object.

[0017] These and other aspects and embodiments are described in detail below. The information set forth herein and the detailed description below include exemplary examples of various aspects and embodiments and provide an overview or framework for understanding the nature and features of the claimed aspects and embodiments. The drawings provide examples and further understanding of various aspects and embodiments and are incorporated herein and constitute part thereof.

[0018] The attached drawings are not intended to be drawn to actual size. Similar reference numbers and symbols in various drawings refer to similar elements. For clarity, not all components are labeled in all drawings. [Brief explanation of the drawing]

[0019] [Figure 1] This figure shows an example of a sensor system that performs object classification. [Figure 2]A diagram showing an example of a flow cytometer that detects information about an object. [Figure 3] A diagram showing an example of a learning system that learns a classification model for classifying an object. [Figure 4] A diagram showing an example of a process for learning a classification model using dimensionality reduction. [Figure 5] A diagram showing an example of a process for learning a classification model using clustering. [Figure 6A] A diagram showing an example of a chart indicating the performance of a classification model for object sorting. [Figure 6B] A diagram showing an example of a chart indicating the performance of a classification model for object sorting. [Figure 6C] A diagram showing an example of a chart indicating the performance of a classification model for object sorting. [Figure 7A] A diagram showing an example of a chart indicating the performance of a classification model for blood cell sorting. [Figure 7B] A diagram showing an example of a chart indicating the performance of a classification model for blood cell sorting. [Figure 7C] A diagram showing an example of a chart indicating the performance of a classification model for blood cell sorting. [Figure 7D] A diagram showing an example of a chart indicating the performance of a classification model for blood cell sorting. [Figure 7E] A diagram showing an example of a chart indicating the performance of a classification model for blood cell sorting. [Figure 8A] A diagram showing an example of a chart indicating the performance of a classification model for donor cell sample sorting. [Figure 8B] A diagram showing an example of a chart indicating the performance of a classification model for donor cell sample sorting. [Figure 8C] A diagram showing an example of a chart indicating the performance of a classification model for donor cell sample sorting. [Figure 8D] A diagram showing an example of a chart indicating the performance of a classification model for donor cell sample sorting. [Figure 8E]This figure shows an example of a chart illustrating the performance of a classification model for selecting donor cell samples. [Figure 9] This figure shows an example of a method for training a classification model for object classification. [Figure 10] This figure shows an example of a method for developing a classification model for object classification. [Figure 11] This figure shows an example of an unlabeled cell sorter that utilizes ghost cytometry. [Figure 12] This figure shows an example of a computer system configured, either as a program or otherwise, to implement the methods and systems of this disclosure. [Modes for carrying out the invention]

[0020] The following is a detailed description of various concepts and embodiments of systems and methods relating to machine learning-based physical sample classifiers, biological sample classifiers, and / or chemical sample classifiers. While the various embodiments described herein relate to the configuration of a classifier for processing cellular data from a flow cytometer, the systems and methods described herein can be implemented for any of the various classifiers. In particular, the classifier may relate to a classifier for cellular material, protein material, DNA material, RNA material, biomaterial, chemical substance, or any combination thereof, derived from one or more cells. Cellular material may include, for example, substances derived from one or more cells from a population of cells, including peptides, polypeptides, or proteins.

[0021] Classifiers, including machine learning-based classification models, are useful for detecting useful information about objects such as cell samples, biomaterials, and / or chemical samples. For example, a classification model can be used to detect class information such as cell type and / or cell features. A classification model can be trained by being provided with training data that includes data about the object (e.g., sensor data) and labels corresponding to the class information. Examples of classification are described in U.S. Patent No. 11,314,994, issued on 26 April 2022, and U.S. Patent Application Publication No. 2022 / 0317020, published on 18 January 2024, and the entire contents of each of these, including the target classification techniques described therein, are incorporated herein by reference.

[0022] For example, some classification models rely on artificial labeling, such as tagging with molecular markers and / or staining of samples, which can then be detected by a sensor (e.g., a flow cytometer) and / or by processing the output from the sensor. Thus, sensor outputs can be used to train classification models, and molecular markers can function as labels. Examples of training are described in U.S. Patent Application Publication No. 2020 / 0027020, published on January 23, 2020, and U.S. Patent No. 11,643,649, issued on May 9, 2023, and the entire contents of each of these, including the training techniques described therein, are incorporated herein by reference.

[0023] However, reliance on labeling can increase the material and / or data requirements for training classification models, such as the need for molecular markers and / or a sufficient quantity of target objects to be classified. Furthermore, the use of molecular markers for training may limit the ability of classification models to effectively classify objects and / or detect classes of objects that are not directly associated with the information represented by the molecular markers. For example, cells may have unknown molecular markers, and / or molecular markers for a given cell or subset of cells may not be specific enough for the classification model to effectively train. Thus, if target cells cannot be tagged with known molecular markers, it may be difficult to create a classification model that can accurately predict a specific cell type (target cell) from among other cell types in a test sample. Such factors can similarly make it difficult to create classification models for physical samples, such as various chemical and / or biological samples.

[0024] The systems and methods described herein can facilitate the training and operation of classification models by reducing or eliminating the use of class-corresponding labeling. For example, a classification model can be trained without assigning artificial labels to objects (e.g., cells), thereby reducing the requirements for training the model and enabling the creation of models for predicting classes beyond those directly associated with label information. This may include training the classification model based on clusters and / or gates detected from dimensionality reduction of unlabeled data. The classification model can then be used to classify and select target objects from among observed objects. The classification model can be implemented for real-time (or near real-time) operation on sensor data, which can facilitate high-throughput processing of sensor data, e.g., high-throughput classification of objects. The classification model can be implemented on a field-programmable gate array (FGPA) hardware device to facilitate effective real-time operation.

[0025] For example, time-series electrical signals acquired from electromagnetic waves, such as acquired waveforms (e.g., dynamic ghost imaging (GMI) waveforms acquired by ghost cytometry), without image generation from the waveforms, can be applied to at least one unsupervised machine learning model, on which at least one unsupervised machine learning model can set up at least one gate or cluster to distinguish the time-series electrical signals of a subset of observed cells from among the time-series electrical signals acquired from the observed cells. Ghost cytometry can be used to generate images of objects without a detector having spatial resolution. In particular, ghost cytometry can be performed to achieve cell classification and / or selective sorting based on cell morphology without relying on specific biomarkers. Examples of ghost cytometry are described, for example, in U.S. Patent No. 11,788,948, issued on 17 October 2023, and the entire contents of each of these, including ghost cytometry systems and the methods described therein, are incorporated herein by reference. Furthermore, examples of electromagnetic wave generation can be found, for example, in U.S. Patent No. 10,904,415, issued on January 26, 2021, and U.S. Patent No. 11,549,880, issued on January 10, 2023, the contents of each of these, including electromagnetic wave generation and imaging techniques, are incorporated herein by reference. Subsequently, to predict target cells from among the observed cells, the time-series electrical signals of target cells obtained from the test sample can be digitally distinguished using at least one gate or one cluster. The classification model is then trained using the digitally distinguished time-series electrical signals as a set of training data without artificially labeling the observed cells. In this way, even if a sufficient number of target cells cannot be obtained to train the classification model, the classification model can accurately predict a specific cell type (e.g., target cells) from among other cell types in the test sample. The classification model can predict target cells from among other cells in the test sample even if molecular markers for isolating target cells have not been identified.

[0026] In some embodiments, the system includes one or more processors, which may be at least partially implemented by sensor hardware such as a flow cytometer, or may be communicatively coupled to the sensor. One or more processors may acquire sensor data relating to an object. The object may include cells, biological samples, chemical samples, or various combinations thereof. The sensor data may be from a flow cytometer. For example, the sensor data may include, or represent, waveforms such as time-series electrical signals representing electromagnetic waves detected relating to the object. In particular, the electrical signals may represent electromagnetic waves corresponding to one or more objects (e.g., the cellular material described above). One or more processors may apply the sensor data as input to a classification model to determine the classification of the object. The classification model may consist of training data containing multiple clusters generated by dimensionality reduction of sample data relating to a sample object, where at least one of the multiple clusters is associated with the classification. At least one other cluster of the multiple clusters may not be associated with the classification (i.e., may be unrelated). Dimensionality reduction may include any one or more of the following operations: clustering, autoencoding, uniform manifold projection (UMAP), principal component analysis (PCA), and / or t-distribution stochastic neighbor embedding (t-SNE). The classification model may include, for example, at least one of the following: support vector machines (SVM), regression functions (e.g., logistic regression functions), or decision trees. One or more processors output the classification, such as outputting the classification as cell types of cells. By incorporating the various features described herein, the systems and methods of this disclosure can achieve high performance in classifying objects such as cellular material, nucleic acid material, biological samples, chemical samples, or various combinations thereof.

[0027] Sensor for object data detection Figure 1 shows an example of the sensor system 100. The sensor system 100 can be used to detect sensor data relating to one or more objects 104. The objects 104 may include samples of physical substances such as biological materials and / or chemical substances. For example, the objects 104 may include cellular material, nucleic acid material, biological material, chemical substance, or any combination thereof.

[0028] The sensor system 100 may include at least one sensor 108. Sensor 108 may include any of a variety of sensors that detect sensor data 112 relating to one or more objects 104, and sensor 108 may output sensor data 112 (e.g., an electrical signal representing the data, a waveform signal containing morphological information of the object 104 (e.g., representing the object type of the corresponding object 104), or a GMI waveform signal as described with reference to Figure 2, e.g., a time-series electrical signal representing the electromagnetic waves detected with respect to each object 104). For example, sensor 108 may generate and / or store a data structure containing the sensor data 112, which may include at least one of the identifier of the object 104, the identifier of sensor 108, or the time point in time when the sensor data 112 was detected. Sensor 108 may output its data structure, for example as an electrical signal, to one or more remote devices in a periodic manner (e.g., outputting each data structure individually), continuously, or in a batch configuration.

[0029] Sensor 108 may include one or more optical sensors / photodetectors, such as a photomultiplier tube and / or one or more imaging devices. The optical sensors / photodetectors may include, for example, a through-beam configuration, a reflective configuration, a laser reflective configuration, or a diffuse configuration. The optical sensors / photodetectors of sensor 108 may include, for example, a photomultiplier tube device. The entire system, including sensor system 100, can be implemented as a flow cytometer system configured to perform dynamic ghost imaging. Dynamic ghost imaging can be performed for cell analysis and / or cell sorting. The flow cytometer may be one of those described in U.S. Patent No. 11,098,275, published on August 24, 2021; U.S. Patent No. 11,630,293, published on April 18, 2023; U.S. Patent No. 11,598,712, published on March 7, 2023; U.S. Patent Application Publication No. 2023 / 0012588, published on January 19, 2023; U.S. Patent Application Publication No. 2023 / 0039952, published on February 9, 2023; and U.S. Patent Application Publication No. 2023 / 0090631, published on January 18, 2024. The entirety of each of these, including the flow cytometry systems and methods therein, is incorporated herein.

[0030] In some embodiments, at least one sensor 108 may be provided in a flow cytometer system that includes at least one light source (e.g., a laser) from which an object 104 can emit light toward a flow of fluid, and may include at least one detector for receiving an output signal from the scattering of the light signal by the object 104. The scattering (and the resulting output signal) may represent one or more characteristics of the object 104, and in some embodiments, may correspond to a pattern of light emitted by the light source. Feature quantities may include, for example, morphological aspects or changes as described in U.S. Patent Application Publication No. 2021 / 0310053, published on October 7, 2021, and the entire contents of each of these, including the identification techniques described therein, are incorporated herein by reference. Light patterns may be, for example, light patterns as described in U.S. Patent No. 10,761,011, published on September 1, 2020, and the entire contents of each of these, including the imaging techniques described therein, are incorporated herein by reference. The detector can generate sensor data 112 for the flow cytometer to output as an electrical signal.

[0031] Figure 2 shows an example of a flow cytometer 200 in a flow cytometer system. The flow cytometer 200 can use light or specific light patterns to detect information about an object, including classification of the object, with or without generating an image of the object. For example, the flow cytometer 200 can generate a waveform, such as an electromagnetic signal or GMI waveform, that represents one or more characteristics of the object without generating an image of the object. In some embodiments, the flow cytometer can operate in a mode that performs analysis of captured images of the object for purposes such as classification. In some embodiments, the flow cytometer 200 is configured to perform fluorescence-activated cell sorting (FACS) and / or operate in FACS mode. In some embodiments, one or more components of the flow cytometer 200 are implemented by a sensor system 100 (and vice versa).

[0032] Figure 11 shows an example of a sorter (sorting device) configured to perform unlabeled sorting using ghost cytometry. In some embodiments, a field-programmable gate array (FPGA) is configured to implement a machine learning classifier that classifies each cell passing through a photosensor / photodetector (PD). The cells may not be stained. The FPGA is configured to send pulses to piezoelectric (PZT) actuators to actuate the actuators and move cells identified as the desired cells to adjacent channels. More specifically, a modulated waveform is analyzed by the FPGA (e.g., the FPGA performs a determination to analyze the modulated waveform) and then supplied to drive the PZT actuators.

[0033] For example, the flow cytometer 200 may include at least one flow path 204. The fluid in which the object 104 is placed can flow through the flow path 204 (for example, by a pump or gravity) so as to pass through the field of view of the sensor 108. The pump may be configured to supply fluid through the flow path in which the object 104 is placed.

[0034] The flow cytometer 200 may include at least one optical element 208. The optical element 208 can apply a pattern, such as a random pattern or a structured pattern, to light (e.g., from a light source 212), or can change the light from the light source 212 into light having a certain pattern (e.g., a uniform pattern or a random pattern). The optical element 208 may include, for example, a lens, a mirror (e.g., a micromirror), a grating, a diffractive optical element (DOE), or various combinations thereof. The optical element 208 may be a cylindrical lens that focuses light from the light source 212.

[0035] The optical element 208 can be positioned on the optical path 216 between the light source 212 and the region 220 in the flow channel 204. The light source 212 may include, for example, a laser, a light-emitting diode (LED), or an LED array. The light source 212 can output light along the optical path 216 to illuminate the object 104 flowing through the flow channel 204. The optical element can pattern the light from the light source 212 so that the object 104 is illuminated in the region 220 with an illumination pattern (for example, a structured and / or random illumination pattern provided by the optical element 208) in order to operate the flow cytometer 200 in structured light mode. In some embodiments, the illumination pattern is realized by providing a glass diffuser in the form of a diffractive optical element (DOE). The DOE can be positioned relative to the light source 212 to realize the illumination pattern.

[0036] As described above, the flow cytometer system may include a sensor 108 (e.g., a light receiving unit, i.e., a photodetector or receiver). The sensor 108 can receive at least one electromagnetic wave 228 from the reflection and / or scattering of the illumination pattern by the object 104 in the flow path 204.

[0037] Sensor 108 can convert electromagnetic waves into one or more electrical signals. For example, sensor 108 may include one or more photodetectors to convert optical signals into electrical signals that exhibit the characteristics of optical signals. Sensor 108 can output an electrical signal representing a waveform, such as one that represents the amplitude of the waveform over a certain period of time, corresponding to electromagnetic waves 228 from object 104. The electrical signal may be a GMI waveform (for example, a waveform representing object 104 without generating an image of the object).

[0038] Referring further to Figure 1, the sensor system 100 may include a classification circuit 116 which may include one or more processors 120 and one or more memories 124. One or more processors 120 may be general-purpose or dedicated processors, application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. The processors 120 may execute computer code and / or instructions stored in memory or received from other computer-readable media (e.g., CD-ROMs, network storage devices, remote servers, etc.). The processors 120 may be configured in various computer architectures, such as graphics processing units (GPUs), distributed computing architectures, cloud server architectures, client-server architectures, or various combinations thereof. One or more first processors 120 may be implemented by first devices such as edge devices, and one or more second processors 120 may be implemented by second devices such as servers or other devices that are communicatively coupled to the first devices. One or more second processors may have different (e.g., larger) processor and / or memory resources than one or more first processors. Memory 124 may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and / or computer code to complete and / or facilitate the various processes described herein. Memory 124 may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and / or computer instructions. Memory 124 may include database components, object code components, script components, or any other type of information structure to support the various activities and information structures described herein.The memory 124 can be communicatively connected to the processor 120 and may contain computer code for executing one or more processes described herein (for example, the processor 120). The classification circuit 116 can be communicatively coupled to various components of the system 100, such as the sensor 108, to acquire sensor data about an object from the sensor 108 or from one or more data sources (for example, data source 304).

[0039] In some embodiments, the classification circuit 116 is or includes a field-programmable gate array (FPGA). For example, the classification circuit 116 may be an FPGA that includes (e.g., implements) at least a portion of one or more processors 120 and memory 124, and / or the functions of one or more processors 120 and memory 124. For example, the FPGA may perform a classifier 128, such as performing a classifier 128 on sensor data 112 from a flow cytometer through which one or more objects 104 (e.g., one or more cells) are flowing. In some embodiments, it can be difficult for a hardware device to perform classification operations on sensor data about an object, such as sensor data represented by electrical signals output by sensor 108, with both sufficient classification performance (e.g., accuracy rate, precision, recall, and / or F1 score) and speed (e.g., speed that enables real-time or near-real-time processing speed, such as classifying objects at a classification speed approximately equal to the flow rate of objects passing through sensor 108 and / or the data rate output from sensor 108). By configuring FPGA 116 to perform a component of sensor system 100, such as classifier 128, FPGA 116 can achieve improved target classification performance and speed, enabling improved observation and classification and object throughput through sensor system 100.

[0040] Referring further to Figure 1, the classification circuit 116 may include at least one classifier 128. The classifier 128 may include one or more functions, rules, heuristics, policies, codes, logic, machine learning models, algorithms, or various combinations thereof to perform an operation that includes classifying an object 104 based on sensor data 112 about the object 104. The classifier 128 may include one or more supervised machine learning models (for example, as described with reference to Figure 3) that can be learned to determine a classification 132 of a given object 104 based on sensor data 112 about the given object 104, such as by applying the sensor data 112 as input to the classifier 128. The classifier 128 may output a data signal representing the classification 132. For example, the classifier 128 can generate a data signal that includes information about an object 104 represented by the classification 132 and sensor data 112, the information about the object 104 including at least one of the identifier of the object 104, the identifier of the sensor 108, or the time when the sensor data 112 was detected.

[0041] Training a machine learning-based classifier Figure 3 shows an example of a learning system 300 (e.g., a classifier learning system). The classifier learning system 300 can be used to configure (e.g., perform training, updating, calibration, and supervised learning) one or more classifiers 128 as described with reference to Figure 1. In some implementations, one or more components of the learning system 300 are implemented by the sensor system 100 (or vice versa). As further described herein, the classifier 128 can be configured based on training data that includes multiple clusters generated by dimensionality reduction of sample data (e.g., sample data 308) relating to a sample object. The dimensionality reduction is an operation that generates clusters and / or processes the sample data into a dimensionality-reduced space (e.g., UMAP, among other dimensionality reduction operations described herein) and is performed to assign gates to regions in the dimensionality-reduced space. For example, based on such a configuration, during the inference operation of the classifier 128, the classifier 128 can assign a classification to an object (e.g., one represented by sensor data 112), and at least one of several clusters is associated with that classification.

[0042] The learning system 300 may include or be combined with one or more data sources 304. The data sources 304 may be maintained by any of the various entities, such as being provided as part of any of the various systems or devices described herein, or being remotely combined with them.

[0043] The data source 304 may include sample data 308. The sample data 308 may include data about the object 104 (e.g., the sample object) based on light reflected or scattered by the object 104. The sample data 308 may be similar to sensor data 112. For example, the sample data 308 may include data output by the sensor 108, such as a GMI waveform (e.g., a time-series electrical signal representing a GMI waveform acquired and / or output by the flow cytometer 200). The sample data 308 may include images of the object 104, such as cell images captured by an imaging device, or cell images reconstructed from waveforms detected by the sensor 108.

[0044] The sample data 308 may include an identifier for the subject (e.g., a patient) from whom the object 104 is acquired, or one or more identifiers for the object 104 and / or for a predetermined sensor 108 that generates data about the object 104, such as the subject's (e.g., patient's) status or the status of the subject or object 104 (e.g., a lesion, i.e., whether the object 104 corresponds to a tumor and / or cancerous tissue). For example, the sample data 308 may consist of multiple sample data elements, each of which includes sensor data about the predetermined object 104 and an identifier for the predetermined object 104. The identifier may represent the type of object 104.

[0045] In some embodiments, the sample data 308 are not assigned a classification label (e.g., a predetermined label). For example, the sample data 308 may not be assigned any identifier for cell type or molecular marker expression. For example, the sample data 308 may correspond to data for which classification information is unavailable. In some embodiments, labels are assigned to at least some of the sample data 308, but the learning system 300 may not use the assigned labels for at least some of the operations further described herein.

[0046] The learning system 300 can perform learning operations using various batches of sample data 308. For example, the learning system 300 can assign at least a first subset of sample data 308 to a first batch, e.g., a learning batch, and a second subset of sample data 308 to a second batch, e.g., a test and / or validation batch. The learning system 300 can randomly assign sample data 308 to batches based on assignment instructions and / or an evaluation of the statistical characteristics of the batches (e.g., such that the learning batch and the test batch are relatively similar, i.e., substantially equivalent). The learning system 300 can use the learning batch to perform cluster generation and training of the classifier 128, and use the test batch to validate the performance of the trained classifier 128.

[0047] The learning system 300 may include at least one cluster generator 312. The cluster generator 312 may include one or more functions, rules, heuristics, policies, codes, logic, machine learning models, algorithms, or various combinations thereof to perform operations including dimensionality reduction and / or clustering of sample data 308, and may generate clusters 316 (and / or generate gates corresponding to clusters 316). The cluster generator 312 may include a machine learning model configured to perform unsupervised learning on the generated clusters 316 and / or gates with respect to the sample data 308 (for example, to generate multiple clusters without predetermined labels for the sample data 308). For example, the cluster generator 312 may receive sample data 308 and output clusters 316 showing the sample data 308 grouped according to the features of the object 104 represented in the sample data 308. The clusters 316 may correspond to different types of the object 104 (e.g., classes / classifications). For example, the cluster generator 312 can generate a first cluster 316 having a first type and a second cluster 316 having a second type, based on the sample data 308, wherein the first type is different from the second type.

[0048] In some embodiments, the cluster generator 312 performs dimensionality reduction on the sample data 308 to determine clusters 316 (e.g., to generate multiple clusters). For example, the sample data 308 (e.g., sensor data of sample data 308) may have multiple dimensions of features, such as 1024 dimensions. The dimensions can represent the complexity of the waveforms in the sample data 308, such as unique characteristics of some samples represented by the waveform (e.g., by the amplitude of the waveform over time), which can be a relatively large number, such as hundreds or thousands. The cluster generator 312 can process the sample data 308 and transform it into data with reduced feature dimensionality (where at least some of the reduced feature dimensionality may differ from the features of the sample data 308). In some embodiments, the reduced dimensionality may be any integer between 1 and approximately 10. The representation of the sample data 308 in low-dimensional space may correspond to, for example, a graph or a histogram.

[0049] In some embodiments, the cluster generator 312 performs dimensionality reduction by determining the distance between each pair of waveforms of the sample data 308 and assigning the sample data 308 to points in a lower-dimensional (e.g., 2-dimensional) space based on the determined distances. This ensures that points of sample data 308 at shorter distances are placed closer together in the 2-dimensional space. In some embodiments, the cluster generator 312 determines the distance between two waveforms of the sample data 308 as the area between the two waveforms. The cluster generator 312 can determine clusters based on the positions of the points of sample data 308 in the 2-dimensional space and one or more criteria for clustering, such as the target size of the cluster 316 (e.g., the number of elements of sample data 308 per cluster and / or the radius of the cluster 316 (e.g., mean, median, etc.)).

[0050] The cluster generator 312 can perform a UMAP operation to perform dimensionality reduction to determine clusters 316 from the sample data 308. For example, the cluster generator 312 can determine a k-neighborhood (kNN) graph representation of the sample data 308 according to the distance between pairs of sample data 308, where each element of the sample data 308 is assigned to a point in a lower dimension (e.g., 2D space) and may have one or more neighbors (e.g., k-neighborhoods) corresponding to the determined distance. The cluster generator 312 can iteratively update the graph representation, for example, by updating the position of the sample data 308 in 2D space, until a convergence criterion is achieved.

[0051] The cluster generator 312 can perform PCA to perform dimensionality reduction to determine clusters 316 from the sample data 308. The cluster generator 312 can perform PCA to map the high-dimensional data of the sample data 308 to a selected number of dimensions, for example, 2 dimensions. This can be useful for clustering the sample data 308 because the PCA operation can extract classification-useful signal information from the sample data 308 to a relatively low number of dimensions.

[0052] In some embodiments, the cluster generator 312 performs t-SNE to perform dimensionality reduction to determine clusters 316 from sample data 308. For example, the cluster generator 312 can determine the probability distribution of pairs of sample data 308, such as similar sample data 308 being assigned with a high probability while dissimilar sample data 308 are assigned with a low probability. The cluster generator 312 can determine the corresponding probability distribution in a low-dimensional space (for example, having a number of dimensions that can be predetermined, fitted, and / or learned), and can reduce or minimize the difference between the two distributions regarding the location of the sample data 308 in the dimensional space, such as the Kullback-Leibler divergence (KL divergence), as a convergence criterion.

[0053] In some embodiments, the cluster generator 312 includes an autoencoder for performing dimensionality reduction. For example, the autoencoder may include an encoder that encodes sample data 308 into a latent space (which may have a predetermined and / or selected number of dimensions) and a decoder that processes the encoded sample data 308 from the latent space back into the original dimensional space of the sample data 308. The autoencoder may be a pre-trained (i.e., pre-learned) machine learning model and / or can be trained or updated based on the encoding of sample data 308 into the latent space. The cluster generator 312 can determine clusters 316 in the latent space.

[0054] The cluster generator 312 can perform at least a first dimensionality reduction on the sample data 308 using a first operation (e.g., PCA), and can perform at least one second dimensionality reduction (e.g., UMAP) based on the output of the first dimensionality reduction. For example, the cluster generator 312 can perform a PCA to preprocess the sample data 308 and concatenate the results of the PCA to the sample data 308 for input to a UMAP operation.

[0055] In some embodiments, the cluster generator 312 is configured to perform dimensionality reduction as a clustering process on the sample data 308. For example, the cluster generator 312 may execute one or more clustering algorithms to cluster the sample data 308, including, but not limited to, k-means clustering, Density-based Spatial Clustering of Applications with Noise (DBSCAN), hierarchical clustering, spectral clustering, or various combinations thereof. In some embodiments, the cluster generator 312 receives instructions for clustering (e.g., the number of clusters k for k-means clustering) and performs clustering according to the instructions.

[0056] Referring further to Figure 3, the learning system 300 can assign one or more labels (e.g., artificial labels determined based on clustering, rather than predefined and / or predetermined labels in the data source 304) to one or more corresponding clusters 316. For example, the learning system 300 can assign a label that indicates a common identifier for at least a subset of the sample data 308 in one or more corresponding clusters 316. This could include, for example, indicating whether the sample data 308 corresponds to a patient sample or expresses a molecular marker. The label could include an identifier for the cluster 316 to which the sample data 308 is assigned. For example, the label could include an identifier for the cell type of a cell corresponding to a given element of the sample data 308, thereby labeling the cluster 316 to which the given element of the sample data 308 is assigned to that cell type.

[0057] In some embodiments, the learning system 300 assigns at least one gate to a cluster 316. For example, the learning system 300 can define a region in a low-dimensional space (e.g., a region that borders one or more parts of the low-dimensional space) where each sample data 308 of a given cluster 316 is located. The gate can be used as a filter for classification and / or training of the classifier 128. For example, the learning system 300 can assign a first classification to the sample data 308 of one or more first clusters 316 around which the gate is defined, and assign a second classification different from the first classification to the sample data 308 of one or more second clusters 316 outside the gate. In some embodiments, the sample data 308 of one or more first clusters 316 is assigned a first value of a flag indicating that the sample data 308 is inside the gate, and the sample data 308 of one or more second clusters is assigned a second value of a flag indicating that the sample data is outside the gate.

[0058] The learning system 300 can assign a first gate for target data and a second gate for non-target data. The learning system 300 can receive selections of one or more clusters 316. The learning system 300 can receive selections by various inputs, such as user input. For example, the learning system 300 can receive inputs indicating selections of one or more clusters 316 as user interface inputs (e.g., via mouse or keyboard), such as inputs indicating polygons, circles, or rectangles (i.e., boxes) for defining gates (e.g., around the selected clusters 316). This allows the classifier 128 to target data of interest and / or classification tasks in a manner that responds to user input. For example, in response to detection of user interface input, the learning system 300 can generate gates corresponding to the region (in the space where the clusters 316 are defined) defined by the user interface input.

[0059] As described above, in some embodiments, gates can be defined using inputs in the form of polygons, circles, or rectangles (boxes). However, gating by certain exemplary embodiments is not limited to these specific forms. In some embodiments, manual gating can be performed using boundary gates to exclude certain data (e.g., groups) that exceed a specified threshold in a one-dimensional or two-dimensional plot. In particular, boundary gates can be set by selecting an upper limit for the gate, and data below the selected boundary is included in the rectangular gate. In some embodiments, rectangular gates are used for data in two-dimensional plots. To set up a rectangular gate, two diagonal points that define the limits of the group can be selected so that a rectangle can be constructed around the group. In some embodiments, polygonal gates or ellipsoidal (elliptic) gates can be used for groups in a two-dimensional plot. In particular, an ellipsoidal gate can be established around a group by selecting several (e.g., four) points that encompass the group. In some embodiments, interval gates are used to gate groups in a one-dimensional or two-dimensional plot between an upper and lower limit. In particular, an interval gate can be established by selecting both a lower and upper limit for a group, and then constructing a rectangular gate around the group. In some embodiments, threshold gates can be used to gate a group of one-dimensional or two-dimensional plots that exceed a specific threshold. In contrast to boundary gates, threshold gates can be configured by selecting the lowest bound of a group, and a rectangular gate is constructed around the group exceeding the threshold. In some embodiments, quadrant gates can be used to gate four groups of two-dimensional plots. In some embodiments, web gates can be used to gate multiple groups around a central position. In some embodiments, if multiple groups exist, multiple gates or mixed gates can be constructed. As a further example, negated gates can be used to gate groups outside (i.e., excluded from) a constructed gate.The above are merely examples of potential gating techniques, and it should be understood that other gating techniques may be used in connection with this disclosure.

[0060] The learning system 300 can perform supervised learning of the classifier 128 based on clusters 316 and the labels assigned to clusters 316, and can produce a trained classifier 128. In this way, the learning system 300 can facilitate the learning of the classifier 128 based on clustering performed by the cluster generator 312, rather than on pre-determined labels assigned to the sample data 308. The classifier 128 can be implemented using any of the various machine learning models useful for classification. The classifier 128 can include a neural network-based classifier.

[0061] For example, the learning system 300 can apply sample data 308 as input to the classifier 128, cause the classifier 128 to generate candidate outputs, compare the candidate outputs with at least one of the clusters 316 or labels, and update the classifier 128 by updating one or more parameters of the classifier 128 (e.g., weights, biases, coefficients, machine learning model architecture structure) based on the comparison. The learning system 300 can iteratively input sample data 308 to the classifier 128 and update the classifier 128 based on the comparison of candidate outputs with at least one of the clusters 316 or labels until one or more convergence criteria are achieved (e.g., using an optimization function including but not limited to gradient descent).

[0062] In some embodiments, the classifier 128 includes at least one support vector machine (SVM). The SVM may be useful for classifying the sensor data 112 due to its effectiveness in handling the dimensionality of the sensor data 112 while avoiding overfitting. The SVM may include one or more hyperplanes that separate the sample data 308 in a manner representing clusters 316, so that the SVM (e.g., the hyperplanes of the SVM) can receive new data inputs (e.g., sensor data 112) and classify the new data inputs according to one or more hyperplanes. For example, the learning system 300 can be trained to determine one or more hyperplanes such that the arrangement of one or more hyperplanes for clusters 316 achieves at least one criterion (e.g., maximize or optimize). For example, the learning system 300 can be trained by applying sample data 308 as input to the SVM. The input of sample data 308 can cause the SVM to perform the following: (i) determine one or more candidate hyperplanes; (ii) evaluate an objective function for one or more candidate hyperplanes (e.g., based on the determination of the distance between one or more candidate hyperplanes and cluster 316 (e.g., sample data 308 for each cluster)); and (iii) update one or more parameters (e.g., weights) of one or more candidate hyperplanes to achieve one or more convergence criteria.

[0063] The classifier 128 may include at least one regression function, such as a logistic regression function. Implementing the classifier 128 as a regression function may be useful for classifying sensor data 112 due to the efficiency of learning the regression function and the speed of the regression function when processing new sensor data 112. The learning system 300 can learn the logistic regression function by applying sample data 308 as input to the logistic regression function, causing the logistic regression function to generate one or more candidate outputs (expected to represent whether the sample data 308 belongs to a predetermined cluster 316 or not), evaluating an objective function such as a cost function based on the candidate outputs and the assignment of the sample data 308 to cluster 316, and updating the parameters of the logistic regression function according to the evaluation.

[0064] In some embodiments, the classifier 128 may include at least one decision tree. The decision tree may be useful for processing the sensor data 112 due to its interpretability, such as the structure of the decision tree that identifies the classification of the sensor data 112. The learning system 300 may learn the decision tree using one of various decision tree algorithms so that the decision tree has a structure in which the features of the sample data 308 are used to define the branching from the root node to various leaf nodes, where the leaf nodes represent the classification of the sample data 308 (e.g., which cluster 316 the sample data 308 belongs to).

[0065] Figure 4 shows an example of a process 400 that the learning system 300 may perform. As shown in Figure 4, an unlabeled waveform 404 can be provided as input to a cluster generator 312 (e.g., any one or more of UMAP, PCA, t-SNE, and / or autoencoders, as shown in the figure), and the cluster generator can perform dimensionality reduction and assign the waveform 404 to a location in one or more low-dimensional spaces, such as a first space 408 where the learning system 300 performs gating 412 according to the location of the waveform 404 and the features of selected clusters of the waveform 404 (e.g., belonging to a patient sample), and / or a second space 416 where the learning system 300 performs gating 420 according to the location of the waveform 404 and molecular marker expression. For example, gating can be performed on unique cell clusters that are clusters that appear only in a patient sample. The learning system 300 can assign labels 424 to waveforms 404 based on the respective gatings 412 and 420, and can use the waveforms 404 and the assigned labels 424 to train a classifier 128 (e.g., an SVM as shown in the figure). The learning system 300 can perform gating 412 and / or gating 420 according to an input indicating whether to include the features of waveform 404 inside or outside the gate.

[0066] Figure 5 shows an example of a process 500 that the learning system 300 can perform. As shown in Figure 5, an unlabeled waveform 404 can be provided as input to the cluster generator 312 (for example, the cluster generator 312 can perform any one or more of k-means clustering, DBSCAN, hierarchical clustering, and / or spectral clustering, as shown in the figure, for example), the cluster generator can cluster the waveform 404 and assign the waveform 404 to each cluster 504. The learning system 300 can perform a selection 508 of one or more first clusters 504 as target clusters 512, and one or more second clusters 504 as non-target (e.g., other) clusters 516. The learning system 300 can assign labels 520 to each waveform 404 based on the corresponding clusters 512, 516, and a classifier 128 (e.g., SVM, as shown in the figure) can be trained using the waveforms 404 and the assigned labels 520. The learning system 300 can perform selection 508 according to an input that represents the features of the target cluster 512.

[0067] Referring further to Figures 1 and 3, in some embodiments, the classifier 128 is a pre-trained machine learning model. For example, in one or more first operations, the classifier 128 can be trained (as described with reference to Figure 3, for example) prior to processing the sensor data 112 in order to generate classifications 132 in one or more second operations. The classification circuit 116 (e.g., memory 124) can receive the classifier 128 as a machine learning model data structure, or it can receive one or more parameters of the classifier 128 (e.g., weights, biases, information indicating the structure of the classifier 128). Furthermore, the classification circuit 116 can update the baseline model based on the received one or more parameters. Pre-training the classifier 128 allows for the separation of the training and / or workflow for the classifier 128 from the execution of the classifier 128, thereby allowing the use of different data and / or sensors for training compared to, for example, during classification.

[0068] In some embodiments, the classifier 128 is learned and / or updated using sensor data 112. For example, sensor data 112 relating to multiple objects 104 can be obtained, for example, by acquiring it from a source. In particular, the sensor data 112 can be acquired and processed using a learning system 300 to train the classifier 128. In response to what has been learned, the classifier 128 can output a classification 132 of the multiple objects 104. This enables end-to-end classification of sensor data 112 relating to multiple objects 104, for example, by distinguishing a target object from among the observed objects within a batch of objects 104. In some embodiments, the classification circuit 120 can receive identifiers for classification 132 (for example, via a user interface) and assign them to classification 132.

[0069] How machine learning-based classifiers work Referring further to Figure 1, the classifier 128 can be used to determine one or more classifications of one or more objects 104 from which the sensor 108 acquires sensor data 112. For example, the classifier 128 can implement a sorting function to separate target cells from others based on the classification results. As described above, depending on how the classifier 128 is learned, the classifier 128 can perform classification based on the features of target cells even when labels for supervised learning are not available.

[0070] The classifier 128 can receive sensor data 112 from the sensor 108 (for example, the sensor system 100 can apply sensor data 112 as input to the classifier 128). For example, the sensor 108 can output sensor data 112 as one or more waveforms (or images such as cell images) corresponding to one or more objects 104 from which the sensor data 112 is acquired. The sensor data 112 may include waveforms and may include identifiers of the objects 104. The sensor data 112 can be received periodically by the classifier 128 as it is output from the sensor, and / or acquired from the sensor 108 or a data source coupled to the sensor 108 (for example, in a single instance or batch of sensor data 112). For example, the sensor 108 may be communicatively coupled to a data source configured to acquire data, for example, in a single instance or at intervals.

[0071] The classifier 128 can determine the classification of one or more objects 104 in response to the reception of sensor data 112. For example, a classifier 128 trained using sample data 308, and clusters 316 from dimensionality reduction and / or clustering of the sample data 308, can process the sensor data 112 and determine (e.g., predict) the classification of one or more objects 104. In some embodiments, the classifier 128 performs classification on raw data, such as raw waveforms or images. In some embodiments, the classifier 128 performs classification on reduced-dimensional data. For example, the classifier 128 can process sensor data in a variable space corresponding to the number of dimensions of dimensionality reduction, where the number of dimensions is between 1 (e.g., a histogram of sensor data 112) and about 10. The classifier 128 may include or be configured on one or more gates that distinguish clusters 316. For example, the classifier 128 can detect the classification 132 of one or more objects 104 based on a gate that distinguishes a first cluster 316 associated with classification 132 among multiple clusters (e.g., the first cluster 316 is inside the gate) from a second cluster 316 not associated with classification 132 among multiple clusters (e.g., the second cluster 316 is outside the gate).

[0072] The classifier 128 can output the classification 132 in various formats. For example, the classifier 128 can assign the classification 132 to a data structure containing sensor data 112. The classifier 128 can transmit the classification 132 and / or the data structure to a remote device. The classifier 128 can display a representation of the classification 132 on a user interface (e.g., a display). The classifier 128 can receive user input for operations via the user interface (e.g., via a keyboard, mouse, touchscreen, camera, and / or audio input device, but not limited to), such as defining gates, selecting target clusters, and / or sorting cells based on the selection of target clusters. The system 100 can present information about the operation of the classifier 128 based on the input received via the user interface. For example, the system 100 can present information about the operation of the classifier 128 depending on the selection of a given cluster, and the system 100 can present information about a given cluster, such as its position, shading, or color on a heatmap representation of the cluster. [Examples]

[0073] The following non-limiting examples illustrate classification tasks performed using one or more of the described systems, such as training and running classifier 128, and the performance of classifier 128 in such tasks.

[0074] Bead sorting A classifier was used to classify yellow beads (as target objects) among fixed cells. The classifier was trained based on the GMI waveform of the objects. The GMI waveform was preprocessed using PCA, and its output was concatenated to the GMI waveform to be supplied as input to UMAP. Figure 6A shows the gating of yellow beads (umap_yb10) to fixed cells (umap_raji) in a 2D UMAP space, as shown in Figure 600. The classifier was implemented as an SVM trained from the gating shown in Figure 600, and the SVM score (distance of individual data points from the classifier's decision boundary) is shown in Figure 610 of Figure 6B. The classifier's performance was validated based on the performance scores shown in Figure 620 of Figure 6C, including precision, recall, and an F1 score of 1.0 for each class, and is shown in the confusion matrix where the predicted class of each object matches its true label. When the classifier was run on sensor data of new objects, it was able to perform sorting with a purity of 99.9%, a sorting recovery rate of 98.8%, a coincidence rate of 2.2%, and a throughput of 250 episodes per second.

[0075] Monocyte isolation in leukocytes A classifier was used to separate monocytes from white blood cells (WBCs). The input samples were WBCs isolated from fresh blood samples of healthy volunteers. The input samples contained monocytes and other leukocyte types. Antibody staining was performed using CD14 (monocyte marker) and CD45 (lymphocyte marker) for validation. The GMI waveform of the input samples was measured by ghost cytometry.

[0076] Dimensionality reduction of GMI waveforms was performed using UMAP. Target cells were defined based on their position in low-dimensional space using gates, for example, as shown in Figure 7A, Table 700. Selection was performed based on a classification model implemented on an FPGA. The classification model was implemented as an SVM, with 640 cells per class used for model training and 160 cells per class for model testing. Backscattering dynamic ghost imaging (bsGMI) and bright-field dynamic ghost imaging (bfGMI) were used for UMAP and classification model training. The performance of the classification model was determined as roc-auc = 1.00, as shown in Figure 7B, Table 710.

[0077] Sorting was performed using a trained classification model. To validate the sorting results, a flow cytometer was used to compare the percentage of monocytes in the input sample, sorted sample (cells classified as targets), and discarded sample (cells classified as non-target cells). CD14 expression levels were used for validation (high CD14: monocytes, low CD14: other cells). Performance was demonstrated by the percentage of monocytes (high CD14 cells) being 13.7% in the input sample, 71.3% in the sorted sample, and 11.6% in the discarded sample. Figures 7C-7E, Tables 720, 730, and 740 show these values.

[0078] Isolation of disease-specific cell populations from patients with acute lymphoblastic leukemia. A classifier was used to sort disease-specific cells from cells of patients with acute lymphoblastic leukemia (ALL). Blood samples from ALL patients contain abnormal cells (blasts) that are not present in samples from healthy donors. UMAP sorting was used to isolate abnormal cells from peripheral blood mononuclear cells (PBMCs) of ALL patients.

[0079] Commercially available frozen PBMCs derived from healthy donors and ALL patients were used. PBMCs from ALL patients and healthy donors were stained with different colors (PKH26 (red) for ALL patients and PKH67 (green) for healthy donors) and then mixed together. Antibody staining was performed using CD45 for validation. The GMI waveform of the input samples was measured by ghost cytometry.

[0080] Dimensionality reduction of the GMI waveform was performed using UMAP. Target cells were defined based on their position in the low-dimensional space. As shown in Figure 8A, Table 800, the target gate was assigned to a region where all patient-derived cells were enriched.

[0081] Sorting was based on a classification model implemented on an FPGA. The classification model was configured to classify target cells from the remaining cells in the sample. SVM was used as the classification model. 1200 cells per class were used to train the model, and 300 cells per class were used to test the model. Forward scattering dynamic ghost imaging (fsGMI) and backscattering (bsGMI) were used to train UMAP and the classification model. The performance of the classification model was determined as roc-auc = 0.94. Figure 8B, Table 810 shows the classification performance of the classification model.

[0082] To validate the selection results, a flow cytometer was used to compare the percentage of blast cells in the input sample, the selected sample (cells classified as targets), and the discarded sample (cells classified as non-target cells). CD45 expression levels were used for validation, where CD45 high positivity corresponds to normal lymphocytes, and CD45 dim positivity corresponds to blast cells (abnormal cells). As shown in Figures 8C, 8D, and 8E, Tables 820, 830, and 840, the percentage of monocytes (CD45 low cells) was found to be 43.1% in the input sample (ALL PBMCs), 56.5% in the selected sample, and 29.6% in the discarded sample.

[0083] Figure 9 shows an example of Method 900 for training a machine learning model-based classifier for object classification. Method 900 can be carried out using one or more systems described herein, such as the learning system 300. Various embodiments of Method 900 can be carried out in an end-to-end process and / or a separate or batched process, including using the same device or different devices. For example, Method 900 can be used to perform initial training, pre-training, and / or updating of a machine learning-based classification model.

[0084] In 905, multiple sensor data representations of multiple objects can be received by one or more processors. The sensor data representation can be a waveform, such as a waveform output by a cytometer. The sensor data representation can be a fluorescence data signal. The sensor data representation can be an image. The sensor data representation can be a histogram. The multiple objects may include at least one of cellular material, nucleic acid material, biomaterial, or chemical substance. One or more processors can be implemented using any of various hardware devices. In some embodiments, the FPGA includes one or more processors to facilitate instantaneous, real-time, and / or near real-time processing of the sensor data.

[0085] In 910, dimensionality reduction can be performed on the sensor data representation. Dimensionality reduction may include processing the sensor data representation using UMAP, PCA, t-SNE, and / or autoencoding (e.g., applying multiple sensor data representations to the dimensionality reduction process). Dimensionality reduction may also include clustering the sensor data representation (e.g., reducing the dimensionality of the sensor data representation from raw data dimensions to clusters with a reduced number of dimensions by applying multiple sensor data representations as input to a clustering process). Dimensionality reduction can be performed as unsupervised learning without using labels on the sensor data representation (e.g., without identifiers for multiple object types). Clusters can be associated with different types of objects (e.g., a first cluster associated with a first type, and a second cluster associated with a second type). Dimensionality reduction can be performed on a first subset of the sensor data representation (e.g., a training set). Dimensionality reduction can be performed to assign each object among multiple objects to a corresponding cluster among multiple clusters.

[0086] In 915, an identifier for a given object type among multiple objects can be assigned to a cluster (and / or gate) to which the given object is assigned. The identifier may be different from the label of the given object. The identifier can identify at least one source of the object (e.g., whether it is from a patient or not). Assigning an identifier may include selecting a cluster as a target cluster for sorting.

[0087] In 920, classification models, such as machine learning-based classification models, can be constructed using clusters (and / or gates). For example, sensor data representations can be provided as input to a classification model, and the classification model can be updated based on its input and evaluation of candidate outputs generated according to the clusters and / or gates. This allows the classification model to sort sensor data in a similar manner to clusters. The classification model can be validated using a second subset of the sensor data representation (e.g., a test and / or validation subset).

[0088] Figure 10 shows an example of Method 1000 for deploying a classification model for object classification. Method 1000 can be implemented using various systems described herein, including, but not limited to, a sensor system 100 and / or a classification circuit 116. Method 1000 can be implemented in response to the configuration of a learned classification model, as described with respect to Figure 9. Method 1000 can be implemented by the hardware of the sensor system 100 (e.g., by the circuit of sensor 108) and / or remotely from the sensor system 100. Method 1000 can be implemented synchronously / in real time or asynchronously. For example, Method 1000 can be implemented in response to the reception of an output from sensor 108, or on stored outputs from sensor 108. In particular, Method 1000 can be implemented on a batch of stored outputs from sensor 108.

[0089] In 1005, sensor data relating to the object can be received. Sensor data can be received from a flow cytometer, a photo sensor / photodetector, or an imaging device. Sensor data can be received by being acquired from a remote data source from a flow cytometer, a photo sensor / photodetector, or an imaging device. Sensor data may include data structures and / or electrical signals representing waveforms such as GMI waveforms, image data, fluorescence data, or various combinations thereof.

[0090] In 1010, sensor data can be applied as input to a classification model, such as a machine learning-based classification model. The classification model may include, for example, an SVM, a decision tree, or a logistic regression function. The classification model can be constructed based on training data containing multiple clusters generated by dimensionality reduction of sample data relating to sample objects. In response to the reception of sensor data, the classification model can determine the classification of an object, and this classification may correspond to at least one of the multiple clusters or identifiers assigned to the clusters.

[0091] In 1015, a classification can be output. For example, the classification can be stored in a data structure which may include at least one of sensor data or an object identifier. The data structure can be transmitted to a remote device. The classification can be presented by a user interface (for example, via one or more display screens in graphic or tabular format).

[0092] Exemplary Computer Embodiment This disclosure provides a computer system programmed to implement the methods and systems of this disclosure. Figure 12 shows a computer system 1301 including a central processing unit (CPU, "processor" and "computer processor" as used herein) 1305 which may be a single-core or multi-core processor, or multiple processors for parallel processing. The computer system 1301 also includes memory or memory locations 1310 (e.g., random-access memory, read-only memory, flash memory), an electronic storage unit 1315 (e.g., a hard disk), a communication interface 1320 for communicating with one or more other systems (e.g., a network adapter), and peripheral devices 1325 such as a cache, other memory, data storage devices and / or an electronic display adapter. The computer system 1301 may include, or communicate with, an electronic display 1335 having, for example, a user interface (UI) 1340 for providing information to a user. Examples of user interfaces include, but are not limited to, graphical user interfaces (GUIs) and web-based user interfaces.

[0093] The memory 1310, storage unit 1315, interface 1320, and peripheral device 1325 communicate with the CPU 1305 through a communication bus (solid wire) such as a motherboard. The storage unit 1315 can be a data storage unit (or data repository) for storing data. The computer system 1301 can be operably coupled to a computer network ("network") 1330 with the help of the communication interface 1320. The network 1330 can be the Internet, the Internet and / or an extranet, or an intranet and / or extranet communicating with the Internet. The network 1330 may optionally be a telecommunications and / or data network. The network 1330 may include one or more computer servers that enable distributed computing such as cloud computing. The network 1330 may optionally implement a peer-to-peer network with the help of the computer system 1301, thereby enabling devices coupled to the computer system 1301 to operate as clients or servers.

[0094] The CPU 1305 can execute a set of machine-readable instructions that may be embodied in a program or software. Instructions can be stored in a memory location, such as memory 1310. Instructions are sent to the CPU 1305, which can then program or configure itself to implement the methods of this disclosure. Examples of operations performed by the CPU 1305 may include fetching, decoding, executing, and writing back.

[0095] The CPU 1305 can be part of a circuit, such as an integrated circuit. One or more other components of system 1301 can be included in the circuit. In some cases, the circuit is an application-specific integrated circuit (ASIC).

[0096] The storage unit 1315 can store files such as drivers, libraries, and saved programs. The storage unit 1315 can also store user data, such as user settings and user programs. The computer system 1301 may, in some cases, include one or more additional data storage units located outside the computer system 1301, such as those located on a remote server that communicates with the computer system 1301 via an intranet or the internet.

[0097] Computer system 1301 can communicate with one or more remote computer systems through network 1330. For example, computer system 1301 can communicate with a user's remote computer system. Examples of remote computer systems include personal computers (e.g., portable PCs), slate or tablet PCs (e.g., Apple® iPad®, Samsung® Galaxy Tab), telephones, smartphones (e.g., Apple® iPhone®, Android-enabled devices, Blackberry®), or personal digital assistants. Users can access computer system 1301 via network 1330.

[0098] The methods described herein (such as methods for the analysis of one or more particles, image-free optical methods, or methods for identifying one or more target cells from a group of cells, as described herein) can be implemented by machine-executable code stored in an electronic storage location of a computer system 1301, such as memory 1310 or electronic storage unit 1315 (for example, if the machine has at least one computer processor, at least one microprocessor). The machine-executable code or machine-readable code may be provided in the form of software.

[0099] During use, the code can be executed by the processor 1305. In some cases, the code can be retrieved from the memory unit 1315 and stored in memory 1310 for easy access by the processor 1305. In some situations, the electronic memory unit 1315 can be excluded, and machine-executable instructions are stored in memory 1310.

[0100] The code can be pre-compiled and configured for use on a machine with a processor adapted to run the code, or it can be compiled during runtime. The code can be supplied in a programming language that can be selected to run either pre-compiled or compiled.

[0101] definition While specific exemplary embodiments have been described, it is clear that the above are illustrative, not limiting, and are presented as examples only. In particular, many of the examples presented herein involve specific combinations of method operations or system elements, but those operations, and those elements, can be combined in other ways to achieve the same objective. Operations, elements, and features described in relation to one embodiment are not intended to be excluded from similar roles in other embodiments or embodiments.

[0102] Furthermore, the expressions and terms used herein are for illustrative purposes only and should not be considered limiting. The use herein of “including,” “comprising,” “having,” “containing,” “involving,” “characterized by,” “characterized in that,” and variations thereof, means that they comprehensively encompass the items listed below, their equivalents, and additional items, as well as alternative embodiments consisting of the items listed below. In one embodiment, the systems and methods described herein consist of one, any combination of, or all of the elements, operations, or components described herein.

[0103] Any singular reference to an embodiment, element, or operation of a system or method herein may also encompass embodiments containing multiple such elements, and any plural reference to any embodiment, element, or operation herein may also encompass embodiments containing only a single element. The singular or plural reference is not intended to limit the systems or methods, their components, operations, or elements of this disclosure to one or more configurations. Any reference to an operation or element based on any information, operation, or element may include embodiments in which the operation or element is at least partially based on any information, operation, or element.

[0104] Any embodiment disclosed herein can be combined with any other embodiment or feature, and references to “embodiment,” “several embodiments,” “one embodiment,” etc., are not necessarily mutually exclusive and are intended to indicate that certain features, structures, or characteristics described in relation to an embodiment can be included in at least one embodiment or feature. Such terms used herein do not necessarily all refer to the same embodiment. Any embodiment can be combined with any other embodiment, comprehensively or exclusively, in any manner consistent with the aspects and embodiments disclosed herein.

[0105] When reference numerals follow technical features in drawings, detailed descriptions, or any claims, they are included to enhance clarity in the drawings, detailed descriptions, and claims. Therefore, neither the presence nor absence of reference numerals has the effect of limiting the scope of the elements of the claims.

[0106] As will be understood by those skilled in the art, for all purposes, and especially with regard to providing written explanations, all scopes disclosed herein also encompass all possible subscopes and combinations thereof. It will be readily apparent that each enumerated scope is sufficiently illustrated that it can be subdivided into at least equal halves, thirds, quarters, fifths, tenths, and so on. As a non-limiting example, each scope discussed herein can be readily subdivided into lower thirds, middle thirds, upper thirds, and so on. Also, as will be understood by those skilled in the art, all words such as “maximum,” “at least,” “greater than,” and “less than” include the enumerated numbers and refer to scopes that can later be subdivided as described above. Finally, as will be understood by those skilled in the art, a scope includes its individual elements.

[0107] The various numerical values ​​in this specification are provided for reference purposes only. Unless otherwise indicated, all numbers representing quantities such as characteristics, parameters, and conditions used herein and in the claims should be understood in all cases to be modified by the terms “about” or “approximately.” Thus, unless otherwise indicated, the numerical parameters described herein are approximations. Any numerical parameter should be interpreted by applying ordinary rounding techniques, at least in light of the number of significant figures reported. When the terms “about” or “approximately” are used before a numerical specification, for example, quantities including quantities and / or ranges, unless otherwise specified or evident from the context (unless such a number exceeds 100% of the possible value), the quantities indicate approximations that may vary by ±10%, 9%, 8%, 7%, 6%, 5%, 4%, 3%, 2%, 1%, or less in either direction (greater than or less than) the stated reference value.

[0108] The term "joined" and its variations include joining two members directly or indirectly to one another. Such joining may be fixed or movable. Such joining may be achieved by the two members being joined directly or to each other, or by the two members being joined to each other using intervening members. Such joining may be mechanical, electrical, or fluid.

[0109] This disclosure envisions methods, systems, and program products on any machine-readable medium for achieving a variety of operations. Embodiments of this disclosure can be implemented using existing computer processors, or by dedicated computer processors for appropriate systems incorporated for this purpose or other purposes, or by hardwired systems. Embodiments within the scope of this disclosure include program products that include a machine-readable medium for carrying or holding machine-executable instructions or data structures. Such a machine-readable medium may be any available medium that can be accessed by other machines having a general-purpose or dedicated computer or processor. For example, such a machine-readable medium may include RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of machine-executable instructions or data structures and can be accessed by other machines having a general-purpose or dedicated computer or processor.

[0110] When information is transferred to or provided to a machine via a network or another communication connection (either hardwired, wireless, or a combination of hardwired and wireless), the machine appropriately views the connection as a machine-readable medium. Therefore, any such connection is appropriately referred to as a machine-readable medium. The combinations described above also fall within the scope of machine-readable mediums. Machine-executable instructions include, for example, instructions and data causing a general-purpose computer, a dedicated computer, or a dedicated processing machine to perform a particular function or group of functions. Any processing may be performed by one or more computers, microcomputers, controllers, microcontrollers, processors and / or microprocessors, which may be provided centrally or in a distributed manner, and processing may be performed individually or collectively by multiple computers, microcomputers, controllers, microcontrollers, processors and / or microprocessors.

[0111] While the diagram illustrates a specific sequence of method steps, the order of steps may differ from that illustrated. Furthermore, two or more steps may be performed simultaneously or partially simultaneously. Such variations depend on the selected software and hardware systems and design considerations. All such variations are within the scope of this disclosure. Similarly, software embodiments can be achieved using standard programming techniques with rule-based logic and other logic to accomplish various connection, processing, comparison, and decision steps.

[0112] In various embodiments, the steps and operations described herein may be performed on a single processor or in combination of two or more processors. For example, in some embodiments, various operations may be performed on a central server or a set of central servers configured to receive data from one or more devices (e.g., edge computing devices / controllers) and perform the operations. In some embodiments, operations may be performed by one or more local controllers or computing devices (e.g., edge devices), such as dedicated and / or located controllers within a particular computing structure or part thereof. In some embodiments, operations may be performed by a combination of one or more central or offsite computing devices / servers and one or more local controllers / computing devices. All such embodiments are conceivable within the scope of this disclosure. Furthermore, unless otherwise specified, where this disclosure refers to one or more computer-readable storage media and / or one or more controllers, such computer-readable storage media and / or one or more controllers may be implemented as one or more central servers, one or more local controllers or computing devices (e.g., edge devices), any combination thereof, or any other combination of storage media and / or controllers, regardless of the location of such devices.

[0113] A reference to "or" may be interpreted as inclusive, such that any term written using "or" may refer to one, two or more, or all of the terms listed. A reference to at least one conjunctive list of terms may be interpreted as an inclusive OR, referring to one, two or more, or all of the terms listed. For example, a reference to "at least one of 'A' and 'B'" may include "A" only, "B" only, and both "A" and "B". Such reference expressions used in conjunction with "comprising" or other open terms may include additional items.

[0114] Modifications to the described elements and operations, such as changes in parameter values ​​or arrangements, can be made without substantially departing from the teachings and merits of the subject matter disclosed herein. For example, elements shown as integrally formed may consist of multiple parts or elements, the positions of elements may be reversed or changed, and the properties or number of individual elements or positions may be changed or altered. Other substitutions, modifications, changes, and omissions can also be made to the design, operating conditions, and arrangement of the disclosed elements and operations without departing from the scope of this disclosure.

[0115] The scope of the systems and methods described herein is defined by the appended claims rather than the foregoing description, and includes variations that have equivalent meaning and scope to the claims.

Claims

1. To acquire sensor data related to the object, The sensor data is applied as input to the classification model, and the classification model is made to determine the classification of the object. Outputting the classification of the aforementioned object One or more processors configured to perform the following: It is a system that has, The classification model is constructed based on training data that includes multiple clusters generated by dimensionality reduction of sample data relating to the sample object, At least one of the aforementioned clusters is associated with the classification. system.

2. The system according to claim 1, wherein the classification model is configured to process the sensor data in a variable space corresponding to the number of dimensions of the dimensionality reduction, and the number of dimensions is 1 or more and about 10 or less.

3. The system according to claim 1, wherein one or more processors are configured to perform dimensionality reduction as a clustering process on the sample data and generate the plurality of clusters.

4. The system according to any one of claims 1 to 3, wherein the one or more processors are configured to generate the plurality of clusters without predetermined labels for the sample data.

5. The system according to any one of claims 1 to 4, wherein the sensor data and the sample data each include a time-series electrical signal representing electromagnetic waves detected with respect to the object and the sample object, respectively.

6. The system according to any one of claims 1 to 5, wherein the object comprises at least one of cellular material, nucleic acid material, biomaterial, or chemical substance.

7. The system according to any one of claims 1 to 5, wherein the object is a cell, and the classification model is configured to detect the classification of the cell based on a gate that distinguishes a first cluster of the plurality of clusters associated with the classification from a second cluster of the plurality of clusters not associated with the classification.

8. The system according to any one of claims 1 to 7, wherein the field-programmable gate array (FPGA) comprises one or more processors, the FPGA is configured to receive the sensor data from a flow cytometer through which the object is flowed, and the flow cytometer is configured to operate in fluorescence-activated cell sorting (FACS) mode or structured light mode and to output a waveform representing the sensor data relating to the object.

9. The system according to any one of claims 1 to 8, wherein the object includes cells, and the classification indicates the cell type of the cells.

10. A flow cytometer is configured to guide the flow of a fluid containing an object so that it passes through the field of view of an optical sensor, and to cause the optical sensor to detect sensor data related to the object. One or more processors configured to apply the sensor data as input to a classification model and cause the classification model to detect the classification of the object, It is a system equipped with, The classification model is constructed based on training data that includes multiple clusters generated by dimensionality reduction of sample data relating to sample cells. At least one of the aforementioned clusters is associated with the classification. system.

11. The system according to claim 10, wherein one or more processors are configured to perform dimensionality reduction as a clustering process on the sample data in order to generate the plurality of clusters.

12. The system according to claim 10 or 11, wherein one or more processors are configured to generate the plurality of clusters without predetermined labels for the sample data.

13. The system according to any one of claims 10 to 12, wherein the sensor data and the sample data correspond to electrical signals representing waveforms relating to the object and the sample object, respectively.

14. The system according to any one of claims 10 to 13, wherein one or more processors are configured to use the classification model to detect the classification of an object, based on a gate that distinguishes a first cluster of the plurality of clusters associated with the classification from a second cluster of the plurality of clusters not associated with the classification.

15. The system according to any one of claims 10 to 14, wherein the field-programmable gate array (FPGA) comprises the one or more processors.

16. The flow cytometer operates in either a fluorescence-activated cell sorting (FACS) mode or a structured light mode, and detects the sensor data relating to the object. The system according to any one of claims 10 to 15.

17. A step of receiving multiple sensor data representations of multiple objects by one or more processors, wherein the multiple objects include at least one of cellular material, nucleic acid material, biomaterial, or chemical substance; The steps include: performing dimensionality reduction of the multiple sensor data representations using one or more processors, and assigning each of the multiple objects to a corresponding cluster among the multiple clusters; The steps include: assigning an identifier of a predetermined object type among the plurality of objects to the corresponding cluster among the plurality of clusters to which the predetermined object is assigned, using one or more of the aforementioned processors; The steps of configuring a classification model based on the plurality of clusters and the identifier of the type using one or more of the aforementioned processors. Methods that include...

18. The method according to claim 17, wherein the step of performing the dimensionality reduction includes the step of applying the plurality of sensor data representations as input to at least one of a dimensionality reduction process or a clustering process.

19. The method according to claim 17, wherein the step of performing the dimensionality reduction operation includes the step of performing the dimensionality reduction operation by one or more processors without identifiers of the types of the plurality of objects.

20. The method according to claim 17 or 18, wherein the plurality of clusters include a first cluster associated with a first type and a second cluster associated with a second type different from the first type.