Immunohistochemistry (IHC) slide image analysis may involve computational analysis. For example, Multiplexed Immunofluorescence (MIF) staining of tissue sections allows simultaneous detection of multiple biomarkers and their co-expression at single-cell level. MIF enables characterization of the immune context in the tumor microenvironment, which has significant influence on response to immunotherapies. The primary analysis may detect and classify all different types of markers/cell phenotypes. After the initial analysis, the second analysis is a very important step for generating different features, such as density or spatial relationship, to correlate clinical studies or trials to predict prognosis or drug performance. Methods and systems to efficiently generate useful results of secondary analysis are desired. These and other improvements are addressed by embodiments described herein.
Embodiments of the present invention allow for efficiently determining density and spatial relationship features for multiple cell types in regions of tissue. Efficiencies are possible as a result of one or more aspects. The same high magnification used for the image is used for analyzing features (e.g., cell, phenotype, epitumor) in a region of interest (e.g., tumor), avoiding computations to adjust for different magnifications. A feature shape may be complex and describable by a large set of pixel coordinates (e.g., corresponding to each point along a perimeter of the feature or a point at the center of a feature). Performing spatial assessments using the set of pixel coordinates (e.g., to determine whether the feature is within a given region of interest, such as a tumor region) may then involve a large number of computations. To improve computational efficiency, a bounding area having a simpler shape (e.g., a box) can be defined as an area surrounding a feature. The bounding area speeds analysis of whether the feature is within the tumor or another specific region of interest. For example, it may be determined that the feature is sufficiently within a region of interest if the four vertices of a bounding box are all within the region. Hash tables may be used to identify relationships between polygons representing features in a region of interest, tissues, and tumors. Furthermore, parameters for secondary analysis are identified as biomarkers, which may help characterize a tumor or other region of interest.
Embodiments may include a method of identifying a biomarker for a tumor using an image of a biological sample. The method may include identifying a tumor area within the image. The tumor area may depict a boundary of the tumor. The method may further include identifying a plurality of regions of the image. Each region of the plurality of regions corresponds to a tissue block or a biological object (e.g., peritumor, stroma, cell phenotypes, etc.). The method may also include defining, for each region of the plurality of regions, a bounding area (e.g., a bounding box or bounding ellipse) for the region that encompasses the region, where the bounding area includes a polygon or an ellipse. The method may include determining, for each region of a first subset of the plurality of regions, that the region is to be ascribed to the tumor, where the bounding area for each region of the first subset is fully within the tumor area. In addition, the method may include determining, for each region of a second subset of the plurality of regions, that the bounding area for the region is partly within the tumor area. The method may further include determining, for each region of the second subset of the plurality of regions, whether to ascribe the region to the tumor based on an intersection of the region and the tumor area. The method may also include accessing, for each region ascribed to the tumor, a metric characterizing a biological observation. The method may include generating a value of a result based on the accessed metrics. The method may also include comparing the value of the result to a reference value determined by using regions ascribed to another tumor or determined by using regions ascribed to wholly outside the tumor area. Additionally, the method may include determining whether the result is a biomarker based on the comparison
Embodiments may include a method of analyzing an image of a biological sample. The method may include determining a first count or a first density of cell phenotypes within a first region of interest (e.g., tumor). The method may also include determining a second count or a second density of cell phenotypes within a second region of interest (e.g., stroma). The second region of interest may be within the first region of interest. The method may further include generating an output. The output may include the first count or the first density, and the second count or the second density.
Embodiments may include a method of analyzing an image of a biological sample. The method may include identifying a plurality of first cells in a tumor. Each first cell of the plurality of first cells may have a first phenotype. The method may also include identifying a plurality of second cells in the tumor. Each second cell of the plurality of second cells may have a second phenotype. The method may further include calculating, for each first cell of the plurality of first cells, the shortest distance to a second cell of the plurality of second cells using a nearest neighbor search. Additionally, the method may include generating a result based on the calculated shortest distances.
Embodiments may include a method of analyzing an image of a biological sample. The method may include identifying a plurality of first cells in a tumor. Each first cell of the plurality of first cells may have a first phenotype. The method may also include identifying one or more regions in the tumor, where each region of the one or more regions corresponds to a tissue block or a biological object (e.g., peritumor, stroma, etc.). The method may further include calculating, for each first cell of the plurality of first cells, a shortest distance between the first cell and each region of the one or more regions using a nearest neighbor search. In addition, the method may include generating a result based on the calculated shortest distances.
Embodiments may include a method of analyzing an image of a biological sample. The method may include identifying a plurality of regions in a tumor, where each region of the plurality of regions corresponds to a tissue block or a biological object (e.g., peritumor, stroma, etc.). The method may also include determining, for each region of the plurality of regions, a compression level. The method may further include generating a result based on the compression levels.
A better understanding of the nature and advantages of embodiments of the present invention may be gained with reference to the following detailed description and the accompanying drawings.
Certain characteristics of an image of a tissue section, such as density and spatial relationships, may provide useful and important clinical information. These characteristics may be used to understand the clinical status of a subject, including for diagnosis and for monitoring treatment.
A low magnification mask based secondary analysis may be used to conduct secondary analysis of an image to determine characteristics such as density and spatial relationships. However, using a low magnification mask may be computationally intensive.
Accurate and computationally efficient results may be achieved in embodiments of the present invention. The use of a bounding area, such as a box, to surround polygons helps speed analysis.
At block 202, a tumor area within the image may be identified. The tumor area may depict a boundary of a tumor. In some embodiments, an area corresponding to a biological structure other than a tumor may be used. Other biological structures may include tumor, stroma, epitumor, or peritumor. The tumor area may be identified manually or by a computer program.
At block 204, a plurality of regions of the image may be identified. Each region of the plurality of regions may correspond to a tissue block or a biological object. The tissue block or biological object may be stroma, epitumor, peritumor, vessel (e.g., blood), a cell phenotype, tumor, necrosis, tissue fold, staining artifact, or red blood cells. The tissue block or biological object may be identified manually or by a computer program. The plurality of regions may cover the entire tumor area and/or the entire image.
At block 206, a bounding area for the region may be defined for each region of a plurality of regions. The bounding area may encompass the region. In some embodiments, the bounding area may circumscribe the region such that at least one point of the region contacts an edge of the bounding area. The bounding area may have an area that within 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or 100% larger than the region. The bounding area may include a polygon or an ellipse. For example, the bounding area may be a bounding box or bounding circle. The bounding area may include a triangle, a rectangle, a pentagon, a hexagon, a heptagon, an octagon, a nonagon, a decagon, or a polygon with 11 sides or more. In some embodiments, the polygon may be regular.
At block 208, each region of a first subset of the plurality of regions may be determined to be ascribed to the tumor, where the bounding area for each region of the first subset is fully within the tumor area. The bounding area may be determined to be fully within the tumor area when a subset of points of the polygon or ellipse are determined to be within the tumor area. For example, in a 2D coordinate system, points representing the extremes along the two axes may be compared to the tumor area. As examples, the topmost, bottommost, leftmost, and/or rightmost points may be determined to be in the tumor area. In some embodiments, the vertices of the polygon may be determined to be in the tumor area.
In some embodiments, the first subset of the plurality of regions may also be determined to be outside an excluded region. The excluded region may include a biological structure (e.g., tumor, peritumor, stroma, necrosis, red blood cells, staining artifact, or tissue fold). The determination of the region being outside the excluded region would be similar to the determination of a region being within the tumor area. The bounding area may be determined to be outside the excluded region when vertices or extremum points are determined to be outside the excluded region.
At block 210, the bounding area for each region of a second subset of the plurality of regions may be determined to be partly within the tumor area. The bounding area may be determined to be partly within the tumor area when each of at least one of the points representing extremes, but less than all of the points representing extremes, is determined to be outside the tumor area. In some embodiments, one or more vertices of the bounding polygon (but not all vertices) may be determined to be outside the tumor area.
In some embodiments, the bounding area for each region of a third subset of the plurality of regions may be determined to be wholly outside the tumor area. The bounding area may be determined to be wholly outside the tumor area when all points representing the extremes or all vertices of the bounding polygon are determined to be outside the tumor area.
At block 212, whether to ascribe the region to the tumor may be determined for each region of the second subset of the plurality of regions. The determination is based on an intersection/exclusion of the region and the tumor region. In some embodiments, the intersection is calculated as the area of the region overlapping with the tumor area. A new sub-region, representing only the parts of the region within the tumor area, may be used for analysis.
In other embodiments, the intersection may be characterized by an area or a percentage of the region within the tumor. The intersection may be compared to a threshold value (e.g., a minimum area or minimum percentage). When the intersection exceeds the threshold value, then the region is ascribed to the tumor. If the intersection does not exceed the threshold value, then the region is not ascribed to the tumor. The intersection may be calculated using the geometry of the region and the tumor area.
In some embodiments, a proportion of the region may be ascribed to the tumor based on the intersection percentage. For example, the same percentage as the intersection percentage may be ascribed to the tumor. Any metric determined from the region may be scaled by the intersection percentage.
Two hash tables may be used to track the relationship between polygons/regions and tumor/tissue area. A tumor hash table may be updated with information regarding with a region/polygon is ascribed to the tumor or not. In addition, the tumor hash table may also track the information regarding whether a region is partially/fully inside or outside the tumor area; it may also update a region/polygon to which tumor area (the number index of tumor) belongs. Similarly, a tissue hash table may be updated with information regarding a region/polygon is ascribed to the tissue or not. In addition, whether a region is partially/fully inside or outside the tissue area and the region to which tissue area (the number index of tissue) belongs.
At block 214, a metric characterizing a biological observation may be accessed for each region ascribed to the tumor. The metric may be any metric disclosed herein. For example, the metric may be a count or density of a particular type of cell or phenotype within the region. The count or density of the particular type of cell may be the count or density of the regions within the tumor area or of regions wholly outside the tumor. Characterizing the metric may include referencing the hash tables to determine whether the region is ascribed to the tumor/tissue.
As an example, the metric may include positions of different types of regions. The plurality of regions may include a first region corresponding to a first tissue block or a first biological object. The plurality of regions may further include a second region corresponding to a second tissue block or a second biological object. Each of the first and second regions are determined to be ascribed to the tumor. The metric characterizing the biological observation may identify a position associated with the regions.
In some embodiments, the first tissue block or the first biological object may be a cell of a first phenotype, which may be a single biomarker or the co-localization of different biomarkers. The second tissue block or the second biological object may be a cell of a second phenotype. The metric may include positions of the cells/phenotypes.
In some embodiments, the first region may correspond to a cell of a first phenotype, and the second region may correspond to the second tissue block. The metric may include a position of a cell and a position of a tissue or other region.
The metric may include different features of regions or phenotypes, such as the absolute intensity value, intensity percentage and distribution, shape, area, a compression level, and so on. Each region of the plurality of regions may correspond to a tissue block or a biological object. The compression level may be of the region corresponding to a tissue block or a biological object. The compression level is described as a feature example shown later in the document.
At block 216, a value of a result may be generated based on the accessed metrics. The result may be generated for regions ascribed to the tumor. For example, for when the metric includes a position of a region or cell, the result may identify a distance between a first position identified by the metric for a specific region (e.g., the first region) and a second position identified by the metric for another region (e.g., the second region) or cell. The result may include each of the accessed metrics. In some embodiments, the result may include a statistical value of the accessed metrics. For example, the result may include a mean, median, mode, percentile, or standard deviation of the accessed metrics. The result may include the statistical value when one or more accessed metrics exceed a threshold value.
In some embodiments, the count or density of a particular cell in a particular tissue block or biological object may be used as a metric. A subset of the plurality of regions may correspond to a tissue block or a biological object. The method may include accessing, for each region of this subset of the plurality of regions, the metric characterizing the biological observation. Generating the value of the result may include determining a value of a function including the metrics for each region ascribed to the tumor and for each region ascribed to the subset of the plurality of regions. For example, the result may be a ratio of the count or density of a particular type of cell for a tissue block to the count or density of a particular type of cell for the tumor regions. The result may be any of the outputs described with
In some embodiments, distances between types of cells may be used to generate the value of the result. The plurality of regions may include a first region with a plurality of first cells having a first phenotype. The plurality of regions may include a second region with a plurality of second cells having a second phenotype. The first regions and the second regions may be determined to be ascribed to the tumor. The metric characterizing the biological observation may identify a position of each cell of a plurality of cells within the region. The result may be generated by calculating, for each first cell of the plurality of first cells, the shortest distance to a second cell of the plurality of second cells using a nearest neighbor search. The nearest neighbor search may be a K-nearest neighbor (KNN) search. A statistical value of the shortest distances may be calculated. The result may include the statistical value. In some embodiments, the count of first cells with the shortest distance from the second cells with a range may be determined. The result may be the count. The range may be predetermined before identifying the tumor area within the image. The result may be a result described with
In some embodiments, distances between cells and a tissue block or a biological object may be used to generate the value of the result. The plurality of regions may include a first region with a plurality of first cells having a first phenotype. The plurality of regions may include one or more second regions. Each second region may correspond to a tissue block or a biological object. Each of the first region and the one or more second regions may be determined to be ascribed to the tumor. The metric characterizing the biological observation may identify at least one position of each region. The at least one position may be the position of each cell of the plurality of first cells in the first region. The at least one position may be the position of each second region of the one or more second regions. The position of each second region may be the center of the region or a point on the edge of the second region. The point on the edge of the second region may be the point closest to a first cell. The value of the result may be generated by calculating for each cell of the plurality of first cells, the shortest distance to a second region of the one or more regions using a nearest neighbor search. The nearest neighbor search may be a K-nearest neighbor search. The result may include calculating a statistical value of the shortest distances, and the result may be the statistical value. In some embodiments, the method may include determining a count of first cells with the shortest distance within a range. The range may be predetermined before identifying the tumor area within the image. The result may be the count. The result may be a result described with
The distance between a first cell and a second region may be the closest vertical distance or closest horizontal distance. The KNN search may determine the first cell of the plurality of first cells with the closest vertical distance to the given second region. The method may include calculating the distance between the cell with the closest vertical distance and the given second region. The cell with the closest horizontal distance may also be used.
Results may be reported for each image or each biological sample. In other embodiments, results may be aggregated together for multiple images or multiple biological samples. The aggregation may be reporting the results together or providing a statistical value of the metrics for the multiple images or biological samples. Any result or metric described herein may be used as described above.
At block 218, the value of the result may be compared to a reference value determined by using regions ascribed to another tumor or determined by using regions ascribed to wholly outside the tumor area.
The reference value may be determined by using regions that are wholly outside the tumor area. For example, for each region of a third subset of the plurality of regions, the bounding area may be determined to be wholly outside the tumor area. The metric characterizing the biological observation may be accessed for each region ascribed to wholly outside the tumor. The reference value may be generated based on the accessed metrics for each region ascribed to wholly outside the tumor in the same manner as the value of the result is generated.
A tumor or tumors in one or more reference subjects may be used to determine the reference value. The one or more reference subjects may be known to have a tumor or known to have a certain level of cancer.
At block 220, the result may be determined it is a biomarker for a tumor based on the comparison. The metric may be determined to be a biomarker when the value of the result is statistically different from the reference value, when the reference value is obtained from non-tumor areas. The non-tumor areas may be areas from the same subject or from reference subjects. The reference subjects may be known to not have cancer. In embodiments where the reference value is determined from regions ascribed to tumors, the result may be determined to be a biomarker if the result is not statistically different from the reference value(s).
Methods may include determining a classification of a tumor. The method may include determining the value of a biomarker in an image with a tumor area. The biomarker may be determined by method 200. The value of the biomarker may be compared to a threshold value. The threshold value may be determined from images of reference subjects having the same tumor classification. The classification of the tumor may be based on the comparison. For example, the tumor may be classified as a more severe category (e.g., malignant or enlarging) when the value of the biomarker exceeds the threshold value. In some embodiments, the tumor classification may be an existence or a severity of cancer. A more severe tumor classification may result in a classification that cancer exists or that cancer is severe. Examples of classifications of cancer include progressive disease and stable disease.
A classification of the tumor corresponding to the tumor area may be determined using the accessed metrics and/or result. The classification may be any number(s) or other characters(s) that are associated with a particular property of the tumor area or other region of interest. For example, a “+” symbol (or the word “positive”) could signify that that the tumor is malignant or enlarging. The classification can be binary (e.g., positive or negative) or have more levels of classification (e.g., a scale from 1 to 10 or 0 to 1). The classification may be that the tumor is benign, stable, or shrinking.
A subject from whom the biological sample was obtained may be treated based on the determined classification. For example, a tumor with a classification of malignant or enlarging may start or increase a tumor treatment (e.g., drugs, radiation, therapy, or surgery). A tumor with a classification of benign or shrinking may end, reduce, or not start a tumor treatment. Classifications in response to a treatment may include complete response, partial response, and no response. For these classifications, the value of the biomarker may be taken before the treatment and at one or more times after the treatment. A change (increase or decrease) in the value of the biomarker may indicate a response to treatment.
Based on one or more biomarkers and optionally other clinical information, a further action may be determined. The further action may include starting or ending treatment of the tumor, enrolling or unenrolling a subject with the tumor in a clinical trial, or performing additional diagnostics tests on the subject. The value of the biomarker may be compared to threshold values. The threshold values may be determined from reference subjects. The reference subjects may include known healthy individuals. In some embodiments, the reference subjects may include individuals with a tumor of a known stage. The threshold value may be a number to establish a statistical difference from the reference subjects. For example, the threshold value may be one, two, or three standard deviations away from values of results determined from healthy reference subjects.
At block 304, overlapped tumor and exclude regions are computed. Pathologists/users may manually generate/draw the tumor or excluded regions, which may include the overlapped tumor or overlapped exclude regions. Before computing any further steps, a sanity check may be performed to avoid the mistakes of overlapped tumor or excluded regions.
At block 306, automatic detected polygons are loaded. These polygons may represent epitumor or vessel (e.g., a vessel in the tissue that provides nutrition for tumor or immune cells). The polygons may be the plurality of regions in method 200.
At block 308, two hash tables are built to track the spatial relationship and information between polygons and tumor or tissues. The tissue is the largest area, with tumor and polygons as subsets of the tissue block.
At block 310, a bounding box may be generated. The bounding box may be the bounding area in block 206 of method 200. Polygons may be identified using the bounding box as fully inside the tumor or intersecting with the tumor, similar to blocks 208 and 210 of method 200.
At block 312, the intersection and exclusion of polygons may be computed. The polygon itself instead of the bounding box may be used to determine an intersection of the polygon with the tumor or with an excluded region. The hash table may be updated for the identification of the polygon as being fully inside, intersecting, or outside the tumor.
At blocks 314, 316, 318, and 320, different results may be reported, including the count/density of phenotypes within the region of interest (e.g., tumor); the distance between different phenotypes; the count/density of polygons, and the distance between phenotypes and polygons. These results may be evaluated as to their use as biomarkers for tumors or cancer, which may include blocks 218 and 220 of method 200.
Cancers may escape immune surveillance and eradication through the up-regulation of the programmed death 1 (PD-1) and its ligand, programmed death-ligand 1 (PD-L1) pathway on tumor cells and in the tumor microenvironment. Blockade of this pathway with antibodies to PD-1 or PD-L1 has led to remarkable clinical responses in some cancer patients.
The number of T cells visible in images of ovarian cancer tissues is analyzed. The T cells studied include CD3, CD8, GZMB, and GZMK. These cells were analyzed in tumor and stroma regions. Cells were determined to be either in the tumor region or in the stoma region (outside the tumor region). Methods used for determining inside or outside of the tumor region include methods described in
At block 702, a first count or a first density of cell phenotypes with a first region of interest may be determined. The first region of interest may be a tumor or any region of interest described herein. The cell phenotypes may be determined to be within the first region of interest by any method described herein, including method 200.
At block 704, a second count or a second density of cell phenotypes within a second region of interest may be determined. The second region of interest may be within the first region of interest. The second region of interest may include stroma, epitumor, or peritumor. The cell phenotypes may be determined to be within a second region of interest by any method described herein, including method 200.
A third count or a third density of cell phenotypes within a third region of interest may be determined. The third region of interest may be within the first region of interest. The third region of interest may be stroma, epitumor, or peritumor and may be different from the second region of interest.
At block 706, an output may be generated. The output may include the first count or the first density. The output may further include the second count or the second density. The output may also include the third count or the third density.
Method 700 may further include comparing the second count or the second density to a threshold value. A classification of the first region of interest may be determined based on the comparison. For example, if the second count or second density exceeds the threshold value, then the classification of the first region of interest may be that a disorder is present. For example, the classification may be that a tumor is malignant and growing.
Method 700 may include comparing the first count to a first threshold or comparing the second count to a second threshold. When either the first count exceeds the first threshold or the second count exceeds the second threshold, the output generated may include the first density and/or the second density instead of or in addition to counts.
The results may be used as disclosed with method 200.
At block 902, a plurality of first cells in a tumor may be identified. Each first cell of the plurality of first cells may have a first phenotype. The plurality of first cells may be determined to be in the tumor by any method described herein, including method 200.
At block 904, a plurality of second cells in a tumor may be identified. Each second cell of the plurality of second cells may have a second phenotype. The plurality of second cells may be determined to be in the tumor by any method described herein, including method 200.
At block 906, for each first cell of the plurality of cells, the shortest distance to a second cell of the plurality of second cells may be calculated. The shortest distance is between the first cell and any second cell of the plurality of second cells. The calculation may use a nearest neighbor search, including, as examples, K-nearest neighbor (KNN), k-d trees, vantage point trees, and ball trees. A commonly used distance metric by using the Euclidean distance to compute two sets of plurality of cells/phenotypes will cause a hugely complex computation compared to KNN search and other nearest neighbor searches. The brute force method for distances would take a lot of computation. This method could be used to validate whether the KNN search or other nearest neighbor searches obtain accurate results in a small subset examples.
At block 908, a result based on the calculated shortest distances may be generated. The result may be a list of the shortest distances. In some embodiments, a statistical value (e.g., mean, median, mode, percentile, standard deviation) of the statistical value may be calculated. The result may include the statistical value. The results may be used as disclosed with method 200.
In some embodiments, a count of the first cells with the shortest distance within a certain range may be determined. The result may include the count of first cells. In embodiments, counts of first cells with shortest distances in several different ranges may be determined. The result may include these counts. These counts may be presented as a histogram.
The arrangement of phenotypes A and phenotypes B may be more complicated than shown in
Distances from cells of a phenotype to regions may be useful in clinical analysis.
At block 1902, a plurality of first cells in a tumor may be identified. Each first cell of the plurality of first cells may have a first phenotype. The plurality of first cells may be determined to be in the tumor by any method described herein.
At block 1904, one or more regions in the tumor may be identified. Each region of the one or more regions may correspond to a tissue block or a biological object. The one or more regions may be determined to be in the tumor by any method described herein.
At block 1906, a shortest distance between the first cell and each region of the one or more regions may be calculated using a nearest neighbor search. Examples of nearest neighbor searches include K-nearest neighbor (KNN), k-d trees, vantage point trees, and ball trees The KNN search may determine the cells/phenotypes that have the closest vertical distance to a region. In some embodiments, the distance may be the closest horizontal distance or a distance across another dimension. The distance between the cell/phenotype and the regions can be calculated. The calculated distances may be sorted to analyze the distance distributions from the cells/phenotypes to the regions. Other nearest neighbor searches may be used in a similar manner.
At block 1908, a result may be generated based on the calculated shortest distances. The result may be similar to
The KNN search generated the results in
At block 2002, a plurality of regions in a tumor may be identified. Each region of the plurality of regions may correspond to a tissue block or a biological object. Block 2002 may be similar to block 1304.
At block 2004, a compression level for each region of the plurality of regions may be determined. The compression level may be calculated from a ratio of the area to one or more characteristic dimensions. The characteristic dimension may be a width, length, or length of the major axis of the region, or length of the minor axis of the region. The compression level may also include the degree to which the lumen of the vessel is free of CD31 cells, which are a biomarker for vessel walls.
At block 2006, a result based on the compression levels may be generated. The result may include a list of the compression levels. In some embodiments, the result may include a count of regions in a category of a compression level. The different categories of compression levels may be based on the magnitude of the compression (e.g., low, medium, high). The results may include areas of the regions. The results may further include statistical values of the compression levels and/or areas. The results may be used as disclosed with method 200.
The image analysis methods described above may be performed by a computer system, which may include computer system 10 in
The subsystems shown in
A computer system can include a plurality of the same components or subsystems, e.g., connected together by external interface 81, by an internal interface, or via removable storage devices that can be connected and removed from one component to another component. In some embodiments, computer systems, subsystem, or apparatuses can communicate over a network. In such instances, one computer can be considered a client and another computer a server, where each can be part of a same computer system. A client and a server can each include multiple systems, subsystems, or components.
Aspects of embodiments can be implemented in the form of control logic using hardware circuitry (e.g. an application specific integrated circuit or field programmable gate array) and/or using computer software with a generally programmable processor in a modular or integrated manner. As used herein, a processor can include a single-core processor, multi-core processor on a same integrated chip, or multiple processing units on a single circuit board or networked, as well as dedicated hardware. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will know and appreciate other ways and/or methods to implement embodiments of the present invention using hardware and a combination of hardware and software.
Any of the software components or functions described in this application may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C, C++, C#, Objective-C, Swift, or scripting language such as Perl or Python using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions or commands on a computer readable medium for storage and/or transmission. A suitable non-transitory computer readable medium can include random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a compact disk (CD) or DVD (digital versatile disk) or Blu-ray disk, flash memory, and the like. The computer readable medium may be any combination of such storage or transmission devices.
Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet. As such, a computer readable medium may be created using a data signal encoded with such programs. Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download). Any such computer readable medium may reside on or within a single computer product (e.g. a hard drive, a CD, or an entire computer system), and may be present on or within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing any of the results mentioned herein to a user.
Any of the methods described herein may be totally or partially performed with a computer system including one or more processors, which can be configured to perform the steps. Thus, embodiments can be directed to computer systems configured to perform the steps of any of the methods described herein, potentially with different components performing a respective step or a respective group of steps. Although presented as numbered steps, steps of methods herein can be performed at a same time or at different times or in a different order. Additionally, portions of these steps may be used with portions of other steps from other methods. Also, all or portions of a step may be optional. Additionally, any of the steps of any of the methods can be performed with modules, units, circuits, or other means of a system for performing these steps. These steps may be stored as image analysis code in system memory 72 or on storage device(s) 79.
The specific details of particular embodiments may be combined in any suitable manner without departing from the spirit and scope of embodiments of the invention. However, other embodiments of the invention may be directed to specific embodiments relating to each individual aspect, or specific combinations of these individual aspects.
The above description of example embodiments of the present disclosure has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form described, and many modifications and variations are possible in light of the teaching above.
A recitation of “a”, “an”, or “the” is intended to mean “one or more” unless specifically indicated to the contrary. The use of “or” is intended to mean an “inclusive or,” and not an “exclusive or” unless specifically indicated to the contrary. Reference to a “first” component does not necessarily require that a second component be provided. Moreover, reference to a “first” or a “second” component does not limit the referenced component to a particular location unless expressly stated. The term “based on” is intended to mean “based at least in part on.”
All patents, patent applications, publications, and descriptions mentioned herein are incorporated by reference in their entirety for all purposes. None is admitted to be prior art.
This application claims the benefit of priority to U.S. Application No. 63/016,004, filed Apr. 27, 2020, the entire contents of which are incorporated herein by reference for all purposes.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/028577 | 4/22/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63016004 | Apr 2020 | US |