Systems and methods for identifying cell groupings
Patent Information
- Application Number
- CN202580013767.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-09
- Filing Date
- 2025-02-05
- Publication Date
- 2026-09-04
AI Technical Summary
[0006]Another example method for an image processing system, performed by an electronic processing device, includes: receiving an image of a sample having multiple cells captured by an imaging device; receiving cell boundary information of the image; and generating a binary mask of the image based on the cell boundary information. The method further includes performing connected component analysis on the mask to detect connected components, generating cell aggregate data based on the image and the detected connected components, and providing the cell aggregate data via a display.
Smart Images

Figure CN122700293A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to cell counting systems. More specifically, this disclosure relates to identifying cell clumps (or groups) in a cell counting system. Background Technology
[0002] Cytometry is the measurement of cell counts and / or cell characteristics. Various devices and methods are used in the field of cytometry to measure cell characteristics such as, for example, cell counts, cell size, cell morphology, and cell life cycle stages. Cytometry may also involve measuring various cellular components, such as the presence of nucleic acids, specific proteins, cell typing and / or differentiation (e.g., viability counting), and various medical diagnostic applications. Summary of the Invention
[0003] The systems and methods described herein generally involve identifying cell groups. For example, some implementations include detecting groups of cellular tissue components based on both spatial proximity and the probability of joining a group. In some examples, the provided cell grouping data provides information for studying, for example, cell growth and tissue organization (e.g., based on the shape and size distribution of cell groups). For instance, detecting and estimating cell group size and group counts can be used to study the effects of certain treatments and treatment concentrations on cellular tissue, which can provide an effectiveness indicator.
[0004] An example method for an image processing system, executed by an electronic processing device, includes receiving an image of a sample having multiple cells, captured by an imaging device. The image includes labeling data for each cell among the multiple cells. The method includes applying a filter determined based on the labeling data to the image, processing the image to identify multiple groups of the multiple cells, and fitting an ellipse around each group by determining ellipse data for each ellipse in the ellipse. Each corresponding group among the multiple groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in that corresponding group.
[0005] Examples of cell viability counting systems similarly include an electronic processor configured to receive an image of a sample containing multiple cells, captured by an imaging device. The image includes labeling data for each cell among the multiple cells. The electronic processor is configured to apply a filter determined based on the labeling data to the image, process the image to identify multiple groups of the multiple cells, and fit an ellipse around each group by determining ellipse data for each ellipse within the group. Each corresponding group among the multiple groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in that corresponding group.
[0006] Another example method for an image processing system, performed by an electronic processing device, includes: receiving an image of a sample having multiple cells captured by an imaging device; receiving cell boundary information of the image; and generating a binary mask of the image based on the cell boundary information. The method further includes performing connected component analysis on the mask to detect connected components, generating cell aggregate data based on the image and the detected connected components, and providing the cell aggregate data via a display.
[0007] The purpose of this summary is to introduce, in a simplified form, the selection of concepts further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an indication of the scope of the claimed subject matter.
[0008] Other features and advantages of this disclosure will be set forth in the description which follows, some of which may be directly derived from the description or may be learned by practicing the disclosure. The features and advantages of this disclosure may be realized and obtained by means of the instruments and combinations disclosed herein. These and other features of this disclosure will become more fully apparent from the description which follows and the appended claims, or may be learned by practicing the disclosure as set forth below. Attached Figure Description
[0009] The features and advantages of the present technology will become more apparent from the following exemplary embodiments, in conjunction with the accompanying drawings: Figure 1 A perspective view of an imaging system for cell counting according to one or more embodiments of the present disclosure is illustrated.
[0010] Figure 2 It is based on one or more embodiments of this disclosure by Figure 1 The flowchart shows an example cell counting method performed by the imaging system.
[0011] Figure 3 Examples of one or more embodiments of this disclosure are illustrated. Figure 1 A schematic diagram of an example component within the imaging system.
[0012] Figure 4A Figure 4C depicts an example image of a sample taken according to one or more embodiments of the present disclosure. Figure 1 The various stages of imaging system processing.
[0013] Figure 5 It is based on one or more embodiments of this disclosure, by Figure 1 The flowchart illustrates a method performed by an imaging system to identify labeled cell groups in an image based on both spatial proximity and the probability of cells joining a group.
[0014] Figure 6 It is based on one or more embodiments of this disclosure, by Figure 1 The flowchart illustrates a method performed by an imaging system to identify indicators of labeled cells within an input image.
[0015] Figure 7 Example labeled images according to one or more embodiments of this disclosure are depicted, showing live cells and dead cells.
[0016] Figure 8 Example labeled images according to one or more embodiments of this disclosure are depicted, showing the detected connected components.
[0017] Figure 9 An example user interface for providing images and cell aggregate data according to one or more embodiments of this disclosure is illustrated.
[0018] While this technology is readily adaptable to various modifications and alternatives, specific embodiments have been illustrated by way of example in the accompanying drawings, and specific implementations will be described in detail herein. However, it should be understood that the invention is not limited to the specific forms disclosed. Rather, the purpose of this invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined in the appended claims. Detailed Implementation
[0019] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. In case of any conflict, this document (including the definitions) shall prevail. Exemplary methods and systems are described below, but similar or equivalent methods and systems may be used in practice or testing with respect to the methods and systems described herein. All publications, patent applications, patents and other references mentioned herein are incorporated herein by reference in their entirety. The systems, methods and examples disclosed herein are illustrative and not restrictive.
[0020] The terms “comprising,” “including,” “having,” “having,” “may,” “containing,” and their variations, as used herein, are open-ended transitional phrases, terms, or words that do not exclude the possibility of other actions or structures. Unless the context clearly specifies otherwise, the singular form “a” and “the” include multiple references.
[0021] As used herein, the term “or” is intended to mean inclusive “or” rather than exclusive “or.” That is, unless otherwise specified or clearly apparent from the context, “X uses A or B” means any natural inclusive permutation. That is, if X uses A, X uses B, or X uses both A and B, then “X uses A or B” is satisfied in any of the foregoing examples. Furthermore, unless otherwise specified or clearly apparent from the context that a singular form is involved, the article “a” as used in the subject matter specification and accompanying figures should generally be interpreted as meaning “one or more”.
[0022] Furthermore, unless otherwise specified, the numbers used to express quantities, components, distances, or other measures in the specification and claims should be understood to be modified by the term "about". The terms "about", "approximately", and "substantially", or their equivalents, indicate a quantity or condition that is close to still performing the desired function or achieving the desired result. For example, the terms "approximately", "about", and "substantially" may refer to a quantity or condition that deviates from the specified quantity or condition by less than 10%, or less than 5%, or less than 1%, or less than 0.1%, or less than 0.01%.
[0023] This disclosure is described with reference to the accompanying drawings, wherein the same reference numerals are used throughout to refer to the same elements. In the following description, numerous specific details are set forth for purposes of explanation in order to provide a more thorough understanding of this disclosure. However, it may be apparent, however, that the systems and methods of this disclosure can be practiced without one or more of these specific details. In other instances, well-known structures and apparatuses are shown in block diagram form for ease of description of the systems and methods of this disclosure. According to this disclosure, it is not specifically required that systems, methods, or techniques related to microscope image analysis include all the details characterized herein to obtain certain benefits. Therefore, the specific examples characterized herein are intended as illustrative applications of the described techniques and alternatives may also be employed.
[0024] In some embodiments, the cell grouping identification system and method identify detected cell groups based on both spatial proximity and the probability of a cell joining a group. In some cases, cells within a group are in contact with each other. For example, in a group, a portion of each cell membrane is in contact with the membrane of another cell. Cell groups include cell clumps (e.g., three or more cells) or duplexes (e.g., two cells).
[0025] In some implementations, the system and method receive an image with labeled pixels. For example, one or more masks (such as binary masks) may indicate whether a pixel is associated with an object (such as a cell) within the image. In some examples, each labeled pixel represents an identifier of a specific detected cell. In some implementations, the system and method process the labeled image to identify cell groups. In some cases, the identified groups are provided for further processing. For example, cell grouping data may be used to study cell growth and tissue based on the shape and size distribution of cell groups. Cell grouping data may also be used to study the effects of certain treatments and treatment concentrations on cellular tissue (e.g., by providing indicators of treatment effectiveness).
[0026] Therefore, the systems and methods disclosed herein are general and applicable to any data, employing the following process: applying a pre-filter to the received labeled image to improve the identification of contact cells, and fitting a circumscribed ellipse to each identified cell group. Furthermore, the systems and methods described herein may relate to International Patent Application PCT / US2021 / 055008 (Rognin et al., 2021), dated October 14, 2021, which describes an imaging flow cytometry (IFC) data processing method for calculating image parameters, the entire contents of which are incorporated herein by reference.
[0027] Below Figure 5 Additional details of the process are provided in the description. As part of this process, upon receiving the labeled image, histograms of the foreground pixels and the background pixels are calculated. In some cases, the foreground includes portions of the labeled image occupied by cells (e.g., live or dead cells), while the background includes non-cellular portions of the labeled image. The two histograms are then normalized to an empirical probability density function used to compare pixel count with pixel intensity. Morphological operations are applied to erode the image. For pixels whose values change due to erosion, a second check is performed to determine the probability that the pixel is part of the foreground.
[0028] In a subsequent part of this process, an equivalence table dictionary is created. The dictionary maps foreground labels to a list of equivalence labels. Filtered images of live and dead cells are traversed, and connectivity between two cells with the same viability (dead or live) is recorded in the equivalence table dictionary. Connected components are extracted from the dictionary, and each connected component is recorded as a cell group. Subsequently, a bounding ellipse is fitted to each cell group (e.g., each cell cluster and each cell duplex). In some implementations, the system provides the total number (count) of all cells in the labeled image and the percentage of cells identified as belonging to a group.
[0029] In an example implementation, a method performed by an electronic processing device for an image processing system includes receiving an image of a sample having a plurality of cells, captured by an imaging device. The image includes labeling data for each cell among the plurality of cells. The method includes applying a filter determined based on the labeling data to the image, processing the image to identify multiple groups of the plurality of cells, and fitting an ellipse around each group of cells by determining ellipse data for each ellipse in the ellipse. Each corresponding group of the plurality of groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in that corresponding group.
[0030] In another example embodiment, the cell viability counting system includes an electronic processor configured to receive an image of a sample having multiple cells, captured by an imaging device. The image includes labeling data for each cell among the multiple cells. The electronic processor is configured to apply a filter determined based on the labeling data to the image, process the image to identify multiple groups of the multiple cells, and fit an ellipse around each group by determining ellipse data for each ellipse within the group. Each corresponding group among the multiple groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in that corresponding group.
[0031] In another example implementation, a method for an image processing system, performed by an electronic processing device, includes: receiving an image of a sample having multiple cells captured by an imaging device; receiving cell boundary information of the image; and generating a binary mask of the image based on the cell boundary information. The method further includes: performing connected component analysis on the binary mask to detect connected components; generating cell aggregate data based on the image and the detected connected components; and providing the cell aggregate data via a display.
[0032] Example imaging system
[0033] Figure 1 A perspective view of an imaging system 100 is shown, which is configured to perform one or more of the methods disclosed herein. For example, Figure 1 The imaging system 100 is operable to facilitate communication with... Figure 2The example flowchart 200 illustrates a method associated with cell viability counting operations. As shown, the imaging system 100 includes a housing 102 that encloses and protects a microscope and computing system for autofocusing and performing cell viability counting. The housing 102 includes a slide / port stage assembly 106 operable to receive a cell counting slide into the imaging system (at box 202). Once received, the imaging system 100 determines a target focus position for imaging the cells on the cell counting slide (at box 204) and performs automated cell viability counting using that target focus position (at box 206). A representation of the cell viability count is displayed at the imaging system 100 (at box 208), for example, using a display 104. This representation, and / or other data related to automated cell viability counting, can be deleted from the imaging system 100 and / or saved to a separate device through user interaction with a communication module 108, which in some embodiments may include a USB port or other data exchange ports known in the art.
[0034] In view of this disclosure, it will be understood that the principles described herein can be implemented using any suitable imaging system and / or any suitable imaging modality. Specific examples of the imaging systems and imaging modalities discussed herein are provided as examples and as a way of describing the features of the disclosed embodiments. Therefore, the embodiments disclosed herein are not limited to any particular microscopy system or microscopy application scenario and can be implemented in a variety of contexts, such as bright-field imaging, fluorescence microscopy, flow cytometry, confocal imaging (e.g., 3D confocal imaging or any type of 3D imaging), and / or others. For example, the principles discussed herein can be implemented in conjunction with a flow cytometry system to provide or enhance cell counting capabilities. As another example, cell counting and / or viability data obtained according to the techniques of this disclosure can be used to supplement fluorescence data to improve the accuracy of distinguishing different cells.
[0035] Figure 3 Examples of one or more embodiments of this disclosure are illustrated. Figure 1 A schematic diagram of various example components within an imaging system. For example, Figure 3 The imaging system 100 may include a computer system 110 and a microscope system 120 incorporated therewith. Figure 3 The computer system 110 and the microscope system 120 are conceptually represented as being disposed within the housing 102 of the imaging system 100. However, it should be understood that, in view of this disclosure, within the scope of the disclosed embodiments, any part of the computer system 110 or the microscope system 120 may be disposed at least partially outside the housing 102.
[0036] Figure 3As shown, the computer system 110 of the imaging system 100 may include various components such as processor 112 (e.g., electronic processor), hardware storage device 114, controller 116, communication module 108 and / or machine learning module 118.
[0037] Processor 112 may include one or more sets of electronic circuitry, including any number of logic units, registers, and / or control units, to facilitate the execution of computer-readable instructions (e.g., instructions forming a computer program). Such computer-readable instructions may be stored in hardware storage device 114, which may include physical system memory and may be volatile, non-volatile, or some combination thereof. Further details relating to the processor (e.g., processor 112) and computer storage media (e.g., hardware storage device 114) will be provided below.
[0038] The controller 116 may include any suitable software components (e.g., a computer-executable instruction set) and / or hardware components (e.g., application-specific integrated circuits or other dedicated hardware components) that are operable to control one or more physical devices of the imaging system 100, such as parts of the microscopy system 120 (e.g., positioning mechanism 128).
[0039] Communication module 108 may include any combination of software or hardware components operable to facilitate communication between components / devices on the system and / or with components / devices outside the system. For example, communication module 108 may include ports, buses, or other physical connection devices (e.g., USB ports, SD card readers, and / or other devices) for communicating with other devices. Additionally or alternatively, communication module 108 may include a system operable to wirelessly communicate with external systems and / or devices via any suitable communication channel (such as Bluetooth, ultra-wideband, WLAN, infrared communication, and / or others, as non-limiting examples).
[0040] Machine learning module 118 may also include any combination of software or hardware components operable to facilitate processing using machine learning models or other AI-based architectures / structures. For example, machine learning module 118 may include hardware components or computer-executable instructions operable to execute functional blocks and / or processing layers configured as follows: as unrestricted examples, single-layer neural networks, feedforward neural networks, radial basis function networks, deep feedforward networks, recurrent neural networks, long short-term memory (LSTM) networks, gated recurrent units, autoencoder neural networks, variational autoencoders, denoising autoencoders, sparse autoencoders, Markov chains, Hopfield neural networks, Boltzmann machine networks, restricted Boltzmann machine networks, deep belief networks, deep convolutional networks (or convolutional neural networks), deconvolutional neural networks, deep convolutional inverse graph networks, generative adversarial networks, liquid machines, extreme learning machines, echo-state networks, deep residual networks, Kohonen networks, support vector machines, neural Turing machines, and / or others.
[0041] like Figure 3 As shown, the imaging system 100 includes a microscopy system 120, which has an image sensor 122, an illumination source 124, an optical chain 126, a slide port / stage assembly 106 for receiving a sample slide, and a positioning mechanism 128.
[0042] Image sensor 122 is positioned in the optical path of the microscopy system and configured to capture an image of the sample, which will be used in the disclosed method for cell counting and identification of cell groups. As used herein, the terms “image sensor” or “camera” refer to any suitable image sensor compatible with the devices, systems, and methods described herein, including but not limited to charge-coupled devices, complementary metal-oxide-semiconductor devices, N-type metal-oxide-semiconductor devices, quantum image sensors, combinations of the foregoing (such as scientific complementary metal-oxide-semiconductor devices), etc.
[0043] Optical chain 126 may include one or more optical elements configured to facilitate observation of the cell counting slide by directing light from illumination source 124 toward the received cell counting slide. Optical chain 126 may also be configured to direct light scattered, reflected, and / or emitted by the sample within the cell counting slide toward image sensor 122. Illumination source 124 may be configured to emit various types of light, such as white light or light in one or more specific wavelength bands. For example, illumination source 124 may include a light cube (e.g., a Thermo Fisher EVOS™ light cube) that can be mounted within a housing and / or switched within the housing to any desired set of illumination wavelengths.
[0044] The positioning mechanism 128 may include any one of an x-axis motor, a y-axis motor, and a z-axis motor, operable to adjust components of the optical chain 126 and / or the image sensor 122 accordingly.
[0045] Figure 3 It is also noted that, in some cases, the imaging system 100 includes a display 104. Figure 3 This indicates that the display 104 can communicate directly or indirectly with various other components of the imaging system 100, such as the computer system 110 or its microscopic system 120 (e.g., as shown in the image). Figure 3 (As shown by the three-way arrow in the diagram). For example, the imaging system 100 may use components of the microscopy system 120 to capture images, and may use components of the computer system 110 (e.g., processor 112, hardware storage device 114, machine learning module 118, etc.) to process and / or store the captured images, and may display the processed and / or stored images on the display 104 for observation by one or more users.
[0046] As described herein, components of the imaging system 100 can identify labeled cell groups in a labeled image. Furthermore, it should be understood that, in view of this disclosure, the imaging system may include components relative to a reference... Figure 1 Additional or alternative components to those components shown and described, and these components may be organized and / or distributed in various ways.
[0047] Example Image
[0048] Figure 4A Figures 4C depict example images of a sample taken at various stages as the image is processed by imaging system 100. For example, the sample may have been loaded into imaging system 100 (e.g., via slide port / stage assembly 106). Figure 4A depicts an example image 400 captured by, for example, image sensor 122. The foreground of example image 400 includes live cells 402 and dead cells 406, while the background of example image 400 includes non-cellular elements.
[0049] In some cases, example image 400 is processed to identify cells 402 and 406 and generate example labeled image 410 depicted in Figure 4B. For example, image 410 can be generated by processing example image 400 using a model (e.g., machine learning module 118) trained to classify pixels while preserving identified groupings in the presence of changes (e.g., cell perp, systemic intrinsic cell changes, etc.). For example, the trained model can identify cells and the viability (e.g., live or dead) of each cell. In example labeled image 410, cells highlighted with one color or pattern (e.g., a solid white fill for 412) may represent live cells, while cells highlighted with a different color or pattern (e.g., a diagonal fill for 416) may represent dead cells. In some embodiments, each pixel in image 410 is labeled (e.g., using a binary mask) to indicate whether the pixel is associated with a cell, and in some embodiments, to indicate whether the cell is live or dead. In some implementations, the systems and methods described in PCT / US2021 / 055008 can be used to identify and label cells within an image.
[0050] Figure 4C depicts the following reference. Figure 5 The described process 500 includes an example output image 420, in which a pre-filter is applied to the label image 410 to improve the identification of contact cells, and a circumscribed ellipse 424 is fitted to each identification group of three or more live cells 422. Another circumscribed ellipse 428 is fitted to each identification group of three or more dead cells 426. In some embodiments, the circumscribed ellipse 424 is fitted to each identification group of two or more live cells 422, and the circumscribed ellipse 428 is fitted to each identification group of two or more dead cells 426.
[0051] Example process
[0052] Figure 5 This is a flowchart of example process 500. Process 500 identifies groupings of labeled cells in an image based on both spatial proximity and the probability of a cell joining a group. For clarity, the following description is generally presented in... Figure 1 Example process 500 is described in the context of Figures 4A, 4B, and 4C, and specifically, is described as being derived from the preceding text regarding... Figure 1The imaging system 100 described is implemented in components. However, it should be understood that process 500 can be performed, for example, by any other suitable system, environment, software, and hardware, or suitably by a combination of systems, environments, software, and hardware. In some embodiments, various operations of process 500 can be run in parallel, in combination, in a loop, or in any order. As shown, process 500 includes: a pre-filtering section (at 510) that includes applying a pre-filter to a received labeled image, identifying contact cells among other things; and an circumscribing section (at 530) that includes fitting a circumscribed ellipse to each identified group of cells. The pre-filtering steps typically include steps 512 to 518, and the circumscribing steps typically include steps 522 to 528. These steps are described in detail below.
[0053] At position 502, a labeled image (e.g., example image 410) is received. In some embodiments, the labeled image includes identification information associated with the depicted cells. For example, this information may include the locations of dead and live cells in the image. In some cases, the labeled image is generated from an original image of the collected sample (e.g., example image 400) through processing with a model trained for pixel labeling. The foreground of the labeled image includes the depicted cells (e.g., live or dead cells), while the background includes non-cellular portions of the image.
[0054] Process 500 proceeds from 502 to step 512, in which the histograms of the foreground pixels of the labeled image and the histograms of the background pixels of the labeled image are calculated.
[0055] Process 500 proceeds from 512 to 514. In this step, the histograms are normalized to an empirical probability density function used to compare the number of pixels and pixel intensity in the image. For example, the area under the curve of each histogram is normalized according to a certain value such that the sum of the probabilities on all pixels equals 1, where... f It is possible that a pixel is part of the foreground, and b It is possible that a pixel is part of the background.
[0056] Process 500 proceeds from 514 to 516, in which a morphological operation is applied to erode the labeled image. In some examples, this operation includes probabilities, ranging from zero to one, assigned as values to each pixel and related to whether the assigned pixel is in the foreground. For example, the labeled image is eroded using a "+" shaped structuring element ({{-1,0),(0,-1),(0,0),(1,0),(0,1)}). The structuring element includes a shape used to probe or interact with a given image (e.g., the provided labeled image) to determine how well or poorly that shape fits a shape in the image.
[0057] Process 500 proceeds from 516 to 518. In this step, each pixel whose value has been altered due to a portion of the erosion is processed to determine the probability that the pixel is part of the foreground. For example, the following rule may be applied to each of these pixels: if p(pixel) > 0.9, then the pixel is recovered from the effects of the erosion, where p(pixel) = ( f (pixels) 0.1) / ( f (pixels) 0.1 + b (pixels) 0.9) [Bayesian rule, the prior probability that a pixel is part of the foreground is 0.1]. In such an example, pixels with a probability greater than 0.9 (90%) are recovered. In some cases, the probability threshold can be adjusted depending on the specific application or sample. For example, the probability threshold can be lowered to about 0.75 (75%) or raised to about 0.95 (95%). Other threshold probabilities can be used based on the specific parameters of the experiment or the sample type.
[0058] Process 500 proceeds from 518 to 522, in which an equivalence table dictionary is created. In some examples, the dictionary maps foreground labels to a list of equivalence labels. The equivalence table dictionary lists connectivity labels, where labels are defined by cell number and cell viability (live or dead). For example, processing the image in Figure 4B produces 42 cells, numbered 1 to 42, of which 26 cells and 16 cells are identified as live and dead cells, respectively. Given the existence of 4 groups of connected live cells (group 1 with 5, group 1 with 3, and group 2 with 2) and 2 groups of connected dead cells (group 1 with 3 and group 1 with 2), the equivalence table dictionary contains a total of 16 connectivity labels: (5+3+2) 2) + (3+1) = 16.
[0059] Process 500 proceeds from 522 to 524, in which connectivity between two cells with the same vitality (e.g., dead or alive) in the equivalence table dictionary is recorded. In some examples, connectivity between cells is determined based on a traversal of the pixels associated with the cell (according to the equivalence table dictionary), where 4-connected or 8-connected vertices in two-dimensional (2D) space are recorded. A 4-connected vertex is the neighborhood of every pixel that touches one of its edges or corners and is horizontally and vertically connected. An 8-connected vertex is the neighborhood of every pixel that touches one of its edges or corners and is horizontally, vertically, and diagonally connected.
[0060] Process 500 proceeds from 524 to 526, in which connected components are extracted from the equivalence table dictionary, and each connected component is recorded as a cell group. As used herein, “connectivity” as in “connected component” refers to which pixels are considered neighbors of the pixel of interest. A connected component is a group of pixels with a single value (e.g., a value representing black), where, for example, by traversing only black pixels, a path can be formed from any pixel in the group to any other pixel in the group without leaving the group. Generally, connected components can be “4-connected” or “8-connected”. In the case of 4-connectivity, the path can only move in the horizontal or vertical direction, thus there are four possible directions. Therefore, two diagonally adjacent black pixels are not 4-connected unless there is another horizontally or vertically adjacent black pixel, thus serving as a bridging term between these two black pixels. In the case of 8-connectivity, the path between pixels can also be diagonal. One implementation uses 8-connected components (i.e., runs connected component analysis using 8-connectivity detection), but 4-connected components can also be identified and used.
[0061] Process 500 proceeds from 526 to 528, in which a circumscribed ellipse is fitted to each group of cells. In some implementations, information for each fitted ellipse includes the center coordinates (e.g., XY coordinates), the major radius (major axis), the minor radius (minor axis), the orientation (angle) in degrees, and the viability (live or dead) of the included cells. In some examples, the ellipse information is stored in a file associated with the image, such as, for example, a JSON file.
[0062] Process 500 proceeds from 528 to 530, in which a labeled image and a circumscribed ellipse are provided for further processing. In some examples, the labeled image and circumscribed ellipse (e.g., example image 420) are provided to display 104 or a connected user device. In some embodiments, the total number of cells in the labeled image and the percentage of cells identified as belonging to a particular group are provided to display 104 or a connected user device. In some embodiments, the individual number (count) of cells in the labeled image contained in groups (e.g., clumps or duplexes) or monochords (only one cell not in contact with any other cells) is provided to display 104 or a connected user device. In some examples, the percentage of aggregates (e.g., 50% aggregates, where 50% of the cells are in a group and 50% of the cells are not in a group) is provided to display 104 or a connected user device. In some embodiments, the number (count) of two-cell groups (e.g., duplexes), three-cell groups, four-cell groups, five-cell groups, six-cell groups, etc., is provided to display 104 or a connected user device. In some cases, these cell counts as a percentage of the total number of cells can be provided as output. In some examples, information associated with each identified group (or duplex) is provided to the display 104 or a connected user device, such as, for example, cell number, cell viability, or associated elliptic information.
[0063] As described above, the identified cells and cell groups (identified according to the methods described herein or other methods) can be used to generate various indicators. Figure 6 This is a flowchart of an example process 600 used to generate such metrics. Process 600 identifies metrics of cells within an input image, such as the number (count) of live cells and dead cells, the percentage of cells within a cell group, or a combination thereof. For clarity, the following description typically uses... Figure 1 , Figure 7 and Figure 8 The example process 600 is described in the context of the above reference, and specifically, is described as follows: Figure 1 The imaging system 100 is implemented using components. However, it should be understood that process 600 can be performed, for example, by any other suitable system, environment, software, and hardware, or appropriately by a combination of systems, environments, software, and hardware. In some embodiments, various operations of process 600 can be run in parallel, in combination, in cycles, or in any order. Furthermore, in some embodiments, one or more portions of process 500 described herein can be used with process 600. However, in other embodiments, process 600 can be performed independently of process 500.
[0064] At 602, an image (e.g., example image 410) is received, wherein the image is an image of a sample having multiple cells. In some embodiments, the received image is a labeled image, which includes identification information associated with the depicted multiple cells. For example, this information may include the locations of dead and live cells in the image. In some cases, the labeled image is generated by processing an original image of the collected sample (e.g., example image 400) using a model trained for pixel labeling. The foreground of the labeled image includes the depicted cells (e.g., live or dead cells), while the background includes non-cellular portions of the image.
[0065] In some implementations, the labeled image is an image representing an example result after processing by an AI-assisted autofocus and automatic cell viability counting system. The positions and masks of live and dead cells can be obtained as the output of the artificial neural network. An example AI-assisted autofocus and automatic cell viability counting system is described in the aforementioned international patent application PCT / US2021 / 055008.
[0066] Process 600 proceeds from 602 to step 604, where cell boundary information, such as elliptical markers or parameters, is received. In some examples, the cell boundary information (e.g., elliptical information) is included as part of the received image (e.g., a labeled image). In other examples, the cell boundary information is obtained from a file associated with the image (e.g., a JSON file). For example, the image may be associated with an atlas displaying detected cells, such as, for example, marking the boundaries or ellipses of each individual cell. For example, as... Figure 7 As shown, in some embodiments, the atlas can define markers for cells detected within an image, such as, for example, solid-lined elliptical markers 702 identifying live cells and dashed-lined elliptical markers 704 identifying dead cells. When superimposed on a received image (e.g., a corresponding bright-field image 700 displayed via, for example, a display 104 of an imaging system 100), markers 702 and 704 identify live and dead cells within the image. It should be understood that live and dead cells can be visually distinguished in various ways via markers or other markings. For example, live cells can be outlined, colored, and / or otherwise highlighted with a specific color (e.g., green), while dead cells can be outlined, colored, and / or otherwise highlighted with a different color (e.g., red). Since the atlas defines the boundaries of detected cells, the atlas (in which cell boundary information is represented) represents cell counting information of the image (e.g., the total number of cells (multiple cells depicted in the image), the number of dead cells, the number of live cells, or combinations thereof). If ellipses have not yet been drawn (superimposed) on the image (see, for example...), the atlas can also be used to identify live and dead cells. Figure 7If an ellipse is drawn on the image as part of step 602, then process 600 proceeds from step 604 to step 606, in which a binary mask of the image is created (e.g., generated). The binary mask indicates the pixels representing cell boundaries in the labeled image (including drawn cell boundary markers). Various techniques for generating the binary mask are within the scope of this disclosure, such as using boundary markers drawn on the image to generate the binary mask, thereby setting pixels within and / or included in the markers to a single value (e.g., 1), while setting all other pixels to a different value (e.g., 0). The binary mask can be applied similarly using other information contained in the labeled image (e.g., pixel values). For example, various thresholds can be applied to pixel values to apply the binary mask (e.g., setting pixel values above a predetermined threshold, such as values representing 50% to 90% or higher of the maximum pixel intensity value, to a single value, while setting all other pixels to a different value). Similarly, other information included as part of the labeled image can be used to apply a binary mask, and typically each pixel representing the cell boundary is set to a single value (e.g., 1), while all other pixel values are set to distinct values (e.g., 0). It should also be understood that in some implementations, the mask identifies both the cell boundary and pixels located within the cell boundary (i.e., representing the cell itself).
[0067] The process proceeds from step 606 to step 608, where connected components are extracted from the binary mask and each connected component is recorded. For example, connected components can be identified as described previously with respect to step 526 of process 500, such as by performing connected component analysis (e.g., 8-connectivity detection) on the binary mask to detect connected cell boundaries. Each connected component detected at step 606 may include a cell boundary (representing a monopile or a single cell) or multiple cells with connected boundaries. For example, as... Figure 8 As shown, connected component analysis can detect both individual cells 802 and cell groups 804, where each of 802 and 804 is recorded as a connected component and contributes to the total number of connected components detected.
[0068] Process 600 proceeds from step 608 to step 610, in which cell aggregate data is generated. Specifically, as described above, labeled image and / or cell boundary information (e.g., read from a JSON file) represents the total number (count) of individual cells detected in the image, and the results of connected component analysis include the number (count) of connected components. These values can be used (e.g., compared) to determine an indicator representing the degree of “clustering” of cells detected in the image (i.e., quantifying cell aggregation). For example, aggregate scores can be calculated using Formula 1:
[0069] in: It is the number of connected components (when performing connected component analysis on the image with a binary mask applied); and count It is the total number of individual cells depicted in the labeled image (i.e., the number of multiple cells (count)) (e.g., based on received cell boundary information).
[0070] For example, as a non-limiting example, if cell boundary information (e.g., ellipse information) indicates that 608 individual cells are detected in an image, and connected component analysis identifies 573 connected components, then the image may have an aggregate score (“clustering” value) of approximately 17.908310%. It should be understood that the aggregate score can be generated as a decimal, a percentage, or both.
[0071] The process proceeds from step 610 to step 612, in which cell aggregate data is provided. In some examples, images (with or without drawn elliptical markers) and associated aggregate data are provided to display 104 or a connected user device (see, for example...). Figure 9However, in other embodiments, aggregate data may be provided separately from the image. In some embodiments, aggregate data includes an aggregate score representing the degree to which detected cells are “clustered” (e.g., a higher score indicates a higher percentage of cell groups (clumps) compared to individual cells). In some embodiments, aggregate data (e.g., provided via display 104) also includes cell counting information, such as, for example, the total number of cells in the image, the number of live cells in the image, the number of dead cells in the image, or a combination thereof. These values may be provided based on a received image (which, as described above, may be a labeled image), cell boundary information, or a combination thereof. Cell aggregate data may also include, based on the results of connected component analysis, the number of detected connected components representing multiple cells (i.e., clumps or cell groups), the number of detected connected components representing individual cells (singletons, where the connected component consists of only one cell that is not in contact with any other cell), or a combination thereof. Values associated with clumps and singletons can be determined by analyzing the size, shape, or other properties of each connected component. It should also be understood that aggregate scores (and other cell aggregate data provided) can be determined and provided for all cells represented in an image, cells of a specific category represented in an image, or combinations thereof. For example, aggregate scores can be determined and provided for all cells represented in an image, live cells represented in an image, dead cells represented in an image, or combinations thereof. For example, as described above, information provided through cell boundary information and / or as part of the image itself (as a labeled image) can indicate whether detected cells are identified as live or dead cells, and therefore, this information can be used to determine the total number of live cells and / or the total number of dead cells, and can also be used to perform connected component analysis on cells of a specific category.
[0072] Non-transitory computer-readable storage medium
[0073] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more non-transitory computer-readable storage media encoded with a program including instructions executable by the operating system of an optional networked computer (e.g., imaging system 100). In other embodiments, the computer-readable storage medium is a tangible component of a computer. In some embodiments, the computer-readable storage medium is optionally removable from the computer. In some embodiments, as non-limiting examples, the computer-readable storage medium includes compact disc read-only memory (CD-ROM), digital versatile optical disc (DVD), flash memory devices, solid-state storage, disk drives, magnetic tape drives, optical disc drives, cloud computing systems and services, etc. In some cases, the program and instructions are permanently, substantially permanently, semi-permanently, or non-transitory encoded on the medium.
[0074] Computer program
[0075] In some implementations, the platforms, systems, media, and methods disclosed herein include at least one computer program or its purpose. A computer program includes a sequence of instructions executable in a computer's electronic processor (e.g., processor 112), written to perform a specific task. Computer-readable instructions may be implemented as program modules that perform a specific task or implement a specific abstract data type, such as functions, objects, application programming interfaces (APIs), data structures, etc. In view of the disclosure provided herein, those skilled in the art will recognize that computer programs can be written in various versions of various languages.
[0076] The functionality of computer-readable instructions can be combined or distributed as needed in various environments. In some embodiments, the computer program contains a sequence of instructions. In some embodiments, the computer program contains multiple sequences of instructions. In some embodiments, the computer program is provided from one location. In other embodiments, the computer program is provided from multiple locations. In various embodiments, the computer program includes one or more software modules. In various embodiments, the computer program includes, in part or in whole, one or more web applications, one or more mobile applications, one or more standalone applications, one or more web browser plugins, extensions, add-ons, or combinations thereof.
[0077] Data storage
[0078] In some implementations, the platforms, systems, media, and methods disclosed herein include one or more data stores. Data stores include repositories for persistent storage and management of data collections. Types of data store repositories include, for example, databases and simpler storage types or uses thereof. Simpler storage types include files, emails, etc. In some implementations, a database is a series of bytes managed by a database management system (DBMS). In various implementations, suitable databases, as non-limiting examples, include relational databases, non-relational databases, object-oriented databases, object databases, entity-relational model databases, relational databases, and extensible markup language (XML) databases. Other non-limiting examples include Structured Query Language (SQL), PostgreSQL, MySQL, Oracle, DB2, and Sybase. In some implementations, the database is cloud-based.
[0079] standalone application
[0080] In some implementations, a computer program includes a standalone application, which is a program that runs as an independent computer process, rather than an appendage to an existing process (e.g., not a plugin). Standalone applications are typically compiled. A compiler is a computer program that translates source code written in a programming language into binary object code such as assembly language or machine code. Suitable compiled programming languages include C, C++, Objective-C, COBOL, Delphi, Eiffel, Java™, Lisp, Python™, Visual Basic, and VB .NET, or combinations thereof, as non-limiting examples. Compilation is typically performed at least partially to create an executable program. In some implementations, a computer program includes one or more executable compiled applications.
[0081] Software Module
[0082] In some embodiments, the systems and methods disclosed herein include software, server, or database modules. Software modules are created using machines, software, and languages. In various embodiments, software modules include files, code segments, programming objects, programming constructs, or combinations thereof. In other various embodiments, software modules include multiple files, multiple code segments, multiple programming objects, multiple programming constructs, or combinations thereof. In various embodiments, as a non-limiting example, one or more software modules include web applications, mobile applications, and standalone applications. In some embodiments, the software module resides in a computer program or application. In other embodiments, the software module resides in more than one computer program or application. In some embodiments, the software module is hosted on a single machine. In other embodiments, the software module is hosted on more than one machine. In yet another embodiment, the software module is hosted on a cloud computing platform. In some embodiments, the software module is hosted on one or more machines in one location. In other embodiments, the software module is hosted on one or more machines in more than one location.
[0083] Furthermore, modules, processing systems, and parts can be implemented as a single processor or a distributed processor. It should also be understood that the above steps can be executed on a single processor or a distributed processor (single-core and / or multi-core, or a cloud computing system). Furthermore, the processes, system components, modules, and submodules described in the figures of the above embodiments and used in the above embodiments can be distributed across multiple computers or systems, or can coexist on a single processor or system. Example structural implementation alternatives suitable for implementing the modules, parts, systems, apparatus, or processes described herein are provided below.
[0084] For example, the modules, processors, or systems described above can be implemented as general-purpose computer programs, electronic devices programmed with microcode, hardwired analog logic circuits, software stored on computer-readable media or signals, optical computing devices, networking systems of electronic and / or optical devices, special-purpose computing devices, integrated circuit devices, semiconductor chips, and / or software modules or objects stored on computer-readable media or signals.
[0085] Specific embodiments of the subject matter have been described. It will be apparent to those skilled in the art that other embodiments, variations, and arrangements of the described embodiments are within the scope of the appended claims. Although operations are described in a specific order in the drawings or claims, this should not be construed as requiring such operations to be performed in the specific or sequential order shown, or to perform all illustrated operations (some operations may be considered optional) to achieve the desired result.
[0086] As described in the detailed description above, reference has been made to the accompanying drawings, which form part of this specification, wherein the same numbers consistently denote the same components, and the drawings illustrate illustrative embodiments. It should be understood that other embodiments may be employed, and structural or logical changes may be made without departing from the scope of this disclosure. Therefore, the detailed description above should not be considered a binding interpretation.
[0087] All statements regarding the principles, aspects, and embodiments of this disclosure, as well as specific examples thereof, as described herein are intended to cover both structural and functional equivalents. Furthermore, such equivalents are intended to include both currently known equivalents and those developed in the future (e.g., any element developed that performs the same function regardless of its structure).
[0088] Since many modifications, variations, and changes in detail can be made to the preferred embodiments of the invention described, all content shown in the foregoing description and drawings should be understood as illustrative rather than restrictive. Therefore, the scope of the invention should be determined by the appended claims and their legal equivalents.
[0089] The various operations can be described as multiple discrete actions or operations in a manner most conducive to understanding the subject matter disclosed herein. However, the described order should be interpreted as implying that these operations must depend on the order. Specifically, these operations may not be performed in the order presented. The described operations may be performed in a different order than the specific implementation described. Various other operations may be performed, and / or the described operations may be omitted in other specific implementations.
[0090] Implementation of this disclosure is disclosed in the following terms: Clause 1. A method for an image processing system executed by an electronic processing device, the method comprising: receiving an image of a sample having a plurality of cells captured by an imaging device, wherein the image includes labeling data for each of the plurality of cells; applying a filter determined based on the labeling data to the image; processing the image to identify a plurality of groups of the plurality of cells, wherein each corresponding group of the plurality of groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in the corresponding group; and fitting an ellipse around each group of the groups by determining ellipse data for each ellipse in the ellipse.
[0091] Clause 2. The method according to Clause 1, wherein the ellipse data includes center coordinates, major radius, minor radius, and orientation.
[0092] Clause 3. The method according to Clause 1, wherein the labeled data includes the location and viability of each of the plurality of cells.
[0093] Clause 4. The method according to Clause 1, wherein the plurality of cells are depicted in the foreground of the image.
[0094] Clause 5. The method according to Clause 1, wherein applying the filter to the image comprises: determining a foreground histogram of foreground pixels in the image and a background histogram of background pixels in the image; normalizing the foreground histogram and the background histogram to an empirical probability density function; and applying morphological operations to erode the image.
[0095] Clause 6. The method according to Clause 5, wherein the image comprises a plurality of pixels, wherein applying the filter to the image further comprises: for each of the plurality of pixels whose value changes during erosion of the image, determining the probability that the corresponding pixel is part of the foreground of the image, and recovering each corresponding pixel based on the probability satisfying a threshold.
[0096] Clause 7. The method according to Clause 6, wherein the threshold is greater than 90%.
[0097] Clause 8. The method according to Clause 1, wherein the plurality of groups of cells are identified by traversing a plurality of pixels in the image associated with each of the plurality of cells to determine connected points in a two-dimensional (2D) space represented in the image.
[0098] Clause 9. The method according to Clause 8, wherein the connected points are extracted from an equivalence table dictionary to determine connected cells in each of the plurality of groups.
[0099] Clause 10. The method according to Clause 1, the method further comprising: providing the image and the ellipse data to a display.
[0100] Clause 11. The method according to Clause 1, the method further comprising: determining the total number of the plurality of cells and the percentage of the plurality of cells included in the plurality of groups.
[0101] Clause 12. A cell viability counting system comprising: an electronic processor configured to: receive an image of a sample having a plurality of cells captured by an imaging device, wherein the image includes labeling data for each of the plurality of cells; apply a filter determined based on the labeling data to the image; process the image to identify a plurality of groups of the plurality of cells, wherein each corresponding group of the plurality of groups includes at least two cells of equal viability whose cell membranes are in contact with at least one other cell in the corresponding group; and fit an ellipse around each group of the groups by determining ellipse data for each ellipse in the ellipse.
[0102] Clause 13. The cell viability counting system as described in Clause 12, wherein the ellipse data includes center coordinates, major radius, minor radius, and orientation.
[0103] Clause 14. The cell viability counting system according to Clause 12, wherein the labeled data includes the location and viability of each cell in the plurality of cells.
[0104] Clause 15. The cell viability counting system according to Clause 12, wherein the plurality of cells are depicted in the foreground of the image.
[0105] Clause 16. The cell viability counting system according to Clause 12, wherein, in order to apply the filter to the image, the electronic processor is configured to: determine a foreground histogram of foreground pixels in the image and a background histogram of background pixels in the image; normalize the foreground histogram and the background histogram to an empirical probability density function; and apply morphological operations to erode the image.
[0106] Clause 17. The cell viability counting system according to Clause 16, wherein the image comprises a plurality of pixels, and wherein, in order to apply the filter to the image, the electronic processor is configured to: for each of the plurality of pixels whose value changes during the erosion of the image, determine the probability that the corresponding pixel is part of the foreground of the image, and recover each corresponding pixel based on the probability that satisfies a threshold.
[0107] Clause 18. The cell viability counting system according to Clause 12, wherein the plurality of groups of cells are identified by traversing a plurality of pixels in the image associated with each cell in the plurality of cells to determine connected points in a two-dimensional (2D) space represented in the image.
[0108] Clause 19. The cell viability counting system according to Clause 18, wherein the connected points are extracted from an equivalence table dictionary to determine connected cells in each of the plurality of groups.
[0109] Clause 20. The cell viability counting system according to Clause 12, wherein the electronic processor is configured to: determine the total number of the plurality of cells and the percentage of the plurality of cells included in the plurality of groups.
[0110] Clause 21. A method for an image processing system executed by an electronic processing device, the method comprising: receiving an image of a sample having a plurality of cells captured by an imaging device; receiving cell boundary information of the image; generating a binary mask of the image based on the cell boundary information; performing connected component analysis on the binary mask to detect connected components; generating cell aggregate data based on the image and the detected connected components; and providing the cell aggregate data via a display.
[0111] Clause 22. The method according to Clause 21, wherein the binary mask sets each pixel in the image to a first value in response to the pixel representing a cell boundary, and sets it to a second value in response to the pixel not representing a cell boundary.
[0112] Clause 23. The method according to Clause 21, wherein the connected component analysis performs 8-connectivity detection.
[0113] Clause 24. The method according to Clause 21, wherein generating the cell aggregate data includes dividing the number of detected connected cell boundaries by the number of the plurality of cells.
[0114] Clause 25. The method according to Clause 21, wherein the cells in the plurality of cells represent at least one selected from the group consisting of: the total number of cells in the image, the number of live cells in the image, and the number of dead cells in the image.
[0115] Clause 26. The method according to Clause 21, wherein the aggregate cell data includes at least one selected from the group consisting of: aggregate fractions of all cells in the image, aggregate fractions of live cells in the image, and aggregate fractions of dead cells in the image.
Claims
1. A method for an image processing system executed by an electronic processing device, the method comprising: Receive an image of a sample having multiple cells captured by an imaging device, wherein the image includes labeling data for each of the multiple cells; The filter determined based on the labeled data is applied to the image; The image is processed to identify multiple groups of the plurality of cells, wherein each corresponding group of the plurality of groups comprises at least two cells of the same viability, the cell membrane of which is in contact with at least one other cell in the corresponding group; as well as The ellipse is fitted around each group in the group by determining the ellipse data of each ellipse in the ellipse.
2. The method according to claim 1, wherein the ellipse data includes center coordinates, major radius, minor radius, and orientation.
3. The method of claim 1, wherein the labeling data includes the location and viability of each cell in the plurality of cells.
4. The method of claim 1, wherein the plurality of cells are depicted in the foreground of the image.
5. The method of claim 1, wherein applying the filter to the image comprises: Determine the foreground histogram of the foreground pixels in the image and the background histogram of the background pixels in the image; The foreground histogram and the background histogram are normalized to empirical probability density functions; as well as Morphological operations are applied to erode the image.
6. The method of claim 5, wherein the image comprises a plurality of pixels, wherein applying the filter to the image further comprises: For each of the plurality of pixels whose value changes during the erosion of the image, determine the probability that the corresponding pixel is part of the foreground of the image, and Each corresponding pixel is recovered based on the probability that the threshold is met.
7. The method of claim 6, wherein the threshold is greater than 90%.
8. The method of claim 1, wherein the plurality of groups of cells are identified by traversing a plurality of pixels in the image associated with each cell in the plurality of cells to determine connected points in a two-dimensional (2D) space represented in the image.
9. The method of claim 8, wherein the connected nodes are extracted from an equivalence table dictionary to determine connected cells in each of the plurality of groups.
10. The method according to claim 1, further comprising: The image and the ellipse data are provided to the display.
11. The method according to claim 1, further comprising: Determine the total number of the plurality of cells and the percentage of the plurality of cells included in the plurality of groups.
12. A cell viability counting system, the cell viability counting system comprising: An electronic processor, the electronic processor being configured to: Receive an image of a sample having multiple cells captured by an imaging device, wherein the image includes labeling data for each of the multiple cells; The filter determined based on the labeled data is applied to the image; The image is processed to identify multiple groups of the plurality of cells, wherein each corresponding group of the plurality of groups comprises at least two cells of the same viability, the cell membrane of which is in contact with at least one other cell in the corresponding group; as well as The ellipse is fitted around each group in the group by determining the ellipse data of each ellipse in the ellipse.
13. The cell viability counting system according to claim 12, wherein the ellipse data includes center coordinates, major radius, minor radius, and orientation.
14. The cell viability counting system of claim 12, wherein the labeling data includes the location and viability of each cell in the plurality of cells.
15. The cell viability counting system of claim 12, wherein the plurality of cells are depicted in the foreground of the image.
16. The cell viability counting system of claim 12, wherein, in order to apply the filter to the image, the electronic processor is configured to: Determine the foreground histogram of the foreground pixels in the image and the background histogram of the background pixels in the image; The foreground histogram and the background histogram are normalized to empirical probability density functions; as well as Morphological operations are applied to erode the image.
17. The cell viability counting system of claim 16, wherein the image comprises a plurality of pixels, and wherein, in order to apply the filter to the image, the electronic processor is configured to: For each of the plurality of pixels whose value changes during the erosion of the image, determine the probability that the corresponding pixel is part of the foreground of the image, and Each corresponding pixel is recovered based on the probability that the threshold is met.
18. The cell viability counting system of claim 12, wherein the plurality of groups of cells are identified by traversing a plurality of pixels in the image associated with each cell in the plurality of cells to determine connected points in a two-dimensional (2D) space represented in the image.
19. The cell viability counting system of claim 18, wherein the connected nodes are extracted from an equivalence table dictionary to determine connected cells in each of the plurality of groups.
20. The cell viability counting system of claim 12, wherein the electronic processor is configured to: Determine the total number of the plurality of cells and the percentage of the plurality of cells included in the plurality of groups.
21. A method for an image processing system executed by an electronic processing device, the method comprising: Receive images of a sample containing multiple cells captured by an imaging device; Receive cell boundary information from the image; A binary mask for the image is generated based on the cell boundary information; Perform connected component analysis on the binary mask to detect connected components; Cell aggregate data are generated based on the image and the detected connected components; as well as The cell aggregate data are provided via a display.
22. The method of claim 21, wherein the binary mask sets each pixel in the image to a first value in response to the pixel representing a cell boundary, and sets it to a second value in response to the pixel not representing a cell boundary.
23. The method of claim 21, wherein the connected component analysis performs 8-connectivity detection.
24. The method of claim 21, wherein generating the cell aggregate data comprises dividing the number of detected connected cell boundaries by the number of the plurality of cells.
25. The method of claim 21, wherein the cells in the plurality of cells represent at least one selected from the group consisting of: the total number of cells in the image, the number of live cells in the image, and the number of dead cells in the image.
26. The method of claim 21, wherein the aggregate cell data comprises at least one selected from the group consisting of: aggregate fractions of all cells in the image, aggregate fractions of live cells in the image, and aggregate fractions of dead cells in the image.