Systems and methods for the functional compression of imaging data
The method addresses inefficiencies in biological image compression by segmenting and transforming images to retain key features, allowing direct data analysis and reducing computational costs.
Patent Information
- Application Number
- PCT/US2025/029382
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-16
- Filing Date
- 2025-05-14
- Publication Date
- 2025-11-20
AI Technical Summary
Existing image compression techniques for biological systems are inefficient as they do not retain information directly amenable to data analysis, requiring decompression and recompression for analysis, which is computationally expensive for large datasets.
A method for functional compression of images by segmenting into objects, determining parameters, selecting representative segments, and applying transformations to store key features, enabling direct data analysis without decompression.
Enables efficient storage and analysis of large biological image datasets by retaining key features in a format directly applicable to data analysis, reducing computational overhead and storage requirements.
Smart Images

Figure US2025029382_20112025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR THE FUNCTIONAL COMPRESSION OF IMAGINGDATACROSS REFERENCE
[0001] This application claims benefit of U. S. Provisional Patent Application No. 63 / 648 ,515, filed on May 16, 2024, which is incorporated herein by reference in its entirety.BACKGROUND
[0002] Large scale optical screening of biological systems can generate huge amounts of data. This data can be challenging to store and analyze. Compression algorithms that provide a route to alternative representations of the essential information of images of biological systems are desired. Existing image compression techniques are not tailored to the screening of biological systems as they do not retain information directly amenable to data analysis. That is, with existing image compression techniques, to analyze an image for a particular feature, the image mustbe uncompressed, the image analyzed, one or more parameter extracted from the analysis and then be re-compressed. While this may not be much of a challenge for a single image or a handful of images, when dealing with thousands, millions, or billions of images, this process can be slow and compute intensive.SUMMARY
[0003] In one aspect disclosed herein is a method for obtaining a functional compression of an image of a plurality of objects comprising: providing said image of said plurality of objects; segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises an object of said plurality of objects; determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said object; selecting a representative segment of said subset of image segments, wherein said representative segment comprises a representative value of said parameter; applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and storing at least said representative segment and said one or more transformation value to obtain said functional compression of said image of said plurality of objects. In some embodiments, said plurality of objects are cells. In some embodiments, said cells comprise one or more of a mammalian cell, plant cell, bacterium, or fungal cell. In some embodiments, said plurality of objects are faces. In some embodiments, saidplurality of objects comprise a plurality of object classes. In further embodiments, a clustering algorithm is used to determine the plurality of object classes. In further embodiments, the segmenting through the storing operations are performed for at least a portion of said plurality of object classes. In some embodiments, said plurality of objects are highly similar objects. In some embodiments, a difference between two objects of said highly similar objects is from one or more of lighting, a 2D rotation, or a 3D rotation. In some embodiments, said one or more transformation values are used in one or both of a mathematical or a software function to reverse said transformation. In some embodiments, said storing further comprises storing a residual pixel by pixel difference between each of said subset of image segments. In some embodiments, said residual pixel by pixel difference is further compressed. In some embodiments, said residual pixel by pixel difference is discarded. In some embodiments, said one or more transformation comprises one or more of a rotation operation, a scaling operation, a pixel intensity shift, a pixel intensity scale operation, an affine transformation, a translation operation, or a Zernike transform operation. In some embodiments, said parameter comprises an object width, an object height, an object diameter, or an object circularity. In some embodiments, said method further comprises performing whole field of view compensation on said image, removing a non -relevant pixel of said image, and aligning a centroid of said image segment of said subset of said plurality of image segments to a centroid of said representative segment. In some embodiments, said segmenting operation is performed by an image segmentation algorithm. In some embodiments, said image segmentation algorithm comprises a computer vision algorithm. In further embodiments, said computer vision algorithm comprises one or more of a watershed algorithm or a machine learning algorithm. In still further embodiments, said machine learning algorithm comprises a semantic segmentation algorithm, an instance segmentation algorithm, or a panoptic segmentation algorithm. In some embodiments, said segmenting said image comprises panoptic segmentation. In some embodiments, said plurality of objects comprises at least about 10,000 objects, at least about 100,000 objects, at least about 1,000,000 objects, or at least about 100,000,000 objects. In some embodiments, a size of said functional compression is at most about 1%, at most about 10%, at most about 20%, at most about 30%, at most about 40%, or at most about 50% of a size of said image. In some embodiments, said functional compression is lossless. In some embodiments, said functional compression is lossy. In some embodiments, saidlossy compression retains at least about 95% of information of said plurality of image segments. In some embodiments, said lossy compression retains at least about 90% of information of said plurality of image segments. In some embodiments, said method further comprises applying a data analysis model to said functional compression. In some embodiments, said data analysis model comprises a machine learning model or a statistical model. In someembodiments, said functional compression is used as input into said data analysis model without decompressing said functional compression. In further embodiments, wherein said input comprises one or both of said representative segment or said one or more transformation. In some embodiments, said one or more transformation comprises: determining a translation for said image segment of said plurality of image segments, wherein said translation aligns a centroid of said image segment to a centroid of said representative segment, determining a rotation for said image segment of said plurality of image segments, wherein said rotation maximizes overlap between said image segment and said representative segment, and determining a pixel difference for said image segment of said plurality of image segments and said representative segment. In some embodiments, said functional compression can be decompressed to form a reconstructed image that comprises a portion of said image that is substantially the same as one or more portion of said image comprising said plurality of objects. In some embodiments, said parameter is a positional index.
[0004] In one aspect disclosed herein is a method for obtaining a functional compression of an image of a plurality of cells comprising: providing said image of said plurality of cells; segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises a cell of said plurality of cells; determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said cell; selecting a representative segment of said subset of image segments, wherein said representative segment comprises a representative value of said parameter; applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and storing at least said representative segment and said one or more transformation values to obtain said functional compression of said image of said plurality of cells. In some embodiments, said plurality of cells are highly similar cells. In some embodiments, said plurality of cells comprise a plurality of cell classes. In further embodiments, a clustering algorithm is used to determine the plurality of cell classes. In further embodiments, the segmenting through the storing operations are performed for at least a portion of said plurality of cell classes. In some embodiments, a difference between two cells of said highly similar cells is from lighting, a 2D rotation, or a 3D rotation. In some embodiments, said one or more transformation values are used in one or both of a mathematical or a software function to reverse said transformation. In some embodiments, said storing further comprises storing a residual pixel by pixel difference between each of said subset of image segments. Insome embodiments, said residual pixel by pixel difference is further compressed. In some embodiments, said residual pixel by pixel difference is discarded. In some embodiments, said one or more transformation comprises one or more of a rotation operation, a scaling operation, a pixel intensity shift, a pixel intensity scale operation, an affine transformation, a translation operation, or a Zernike transform operation. In some embodiments, said parameter comprises a cell width, a cell height, a cell diameter, or a cell circularity. In some embodiments, said method further comprises performing whole field of view compensation on said image, removing a non- relevant pixel of said image, and aligning a centroid of said image segment of said subset of said plurality of image segments to a centroid of said representative segment. In some embodiments, said segmenting operation is performed by an image segmentation algorithm. In some embodiments, said image segmentation algorithm comprises a computer vision algorithm. In further embodiments, said computer vision algorithm comprises one or more of a watershed algorithm or a machine learning algorithm. In still further embodiments, said machine learning algorithm comprises a semantic segmentation, an instance segmentation algorithm, or a panoptic segmentation algorithm. Said method, wherein said plurality of cells comprises at least about 10,000 cells, at least about 100,000 cells, at least about 1,000,000 cells, or at least about 100,000,000 cells. In some embodiments, a size of said functional compression is at most about 1%, atmost about 10%, at most about 20%, at most about 30%, at most about 40%, or at most about 50% of a size of said image. In some embodiments, said functional compression is lossless. In some embodiments, said functional compression is lossy. In some embodiments, said lossy compression retains at least 95% of information of said plurality of image segments. In some embodiments, said lossy compression retains atleast 90% of information of said plurality of image segments. In some embodiments, said method further comprises applying a data analysis model to said functional compression. In some embodiments, said data analysis model comprises a machine learning model or a statistical model. In some embodiments, said functional compression is used as input into said data analysis model without decompressing said functional compression. In further embodiments, said input comprises one or both of said representative segment or said one or more transformation. In some embodiments, said one or more transformation includes: determining a translation for said image segment of said plurality of image segments, wherein said translation aligns a centroid of said image segment to a centroid of said representative segment, determining a rotation for said image segment of said plurality of image segments, wherein said rotation maximizes overlap between said image segment and said representative segment, and determining a pixel difference for said image segment of said plurality of image segments and said representative segment. In some embodiments, said functional compression can be decompressed to form a reconstructed imagethat comprises a portion of said image that is substantially the same as one or more portion of said image comprising said plurality of cells. In some embodiments, said parameter is a positional index. In some embodiments, said plurality of cells comprise one or more of a mammalian cell, plant cell, bacterium, or fungal cell.
[0005] In one aspect disclosed herein is a method for obtaining a functional compression of an image of a plurality of objects comprising: providing said image of said plurality of objects; segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises an object of said plurality of objects; providing a representative model object for the object with a representative value of at least one parameter; determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said object; applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and storing said one or more transformation valuesto obtain said functional compression of said image of said plurality of objects.
[0006] Another aspect of the present disclosure provides a non -transitory computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements any of the methods above or elsewhere herein.
[0007] Another aspect of the present disclosure provides a system comprising one or more computer processors and computer memory coupled thereto. The computer memory comprises machine executable code that, upon execution by the one or more computer processors, implements any of the methods above or elsewhere herein.INCORPORATION BY REFERENCE
[0008] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. To the extent publications and patents and patent applications incorporated by reference contradict the disclosure contained in the specification, the specification is intended to supersede or take precedence over any such contradictory material.BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The novel features of the inventive concepts are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present inventive concepts will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the inventive concepts are utilized, and the accompanying drawings (also “Figure” and “FIG.” herein), of which:
[0010] FIG. 1 shows an example of a computer system for use with functional compression of image data;
[0011] FIG. 2 shows an example of a computer-implemented method for functional compression of image data;
[0012] FIG. 3 shows an example of a high data image of a biological system;
[0013] FIG. 4 shows an example of an image of a plurality of objects;
[0014] FIG. 5 shows an example of a computing device with one or more processors, memory, storage, and a network interface;
[0015] FIG. 6 shows an example of a web / mobile application provision system providing browser-based or native mobile user interfaces;
[0016] FIG. 7 shows an example of a cloud-based web / mobile application provision system comprising an elastically load balanced, auto -scaling web server and application server resources as well synchronously replicated databases;
[0017] FIG. 8 A shows an example of a frame of a video of a plurality of objects;
[0018] FIG. 8B shows an example of a frame of a video of a plurality of objects;
[0019] FIG. 9 A shows an example of an encoder-decoder model;
[0020] FIG. 9B shows performance of a functional compression using the encoder-decoder model of FIG. 9A; and
[0021] FIG. 9C shows pixel difference visualizations at different thresholds of difference magnitude.DETAILED DESCRIPTIONOverview
[0022] The platforms, systems, media, and methods disclosed herein may be used to obtain a functional compression of an image. The techniques disclosed herein may be of particular utilityfor images of biological samples. In some cases, images of biological samples may be highly visually redundant (e.g., images of cloned cells). In various aspects of biology, biochemistry, etc., images are frequently taken of biological samples containing thousands - if not millions or more - cells or other biological specimens. In many instances, the images are taken over time as cells change (e.g., phenotype expression is altered) or proliferate such that the image data obtained becomes massive (e.g., terabyte file size). Disclosed herein are methods for functionally compressing images of biological samples based on a set of operations including, but not limited to, (i) providing an image of cells, (ii) performing image segmentation to identify and extract the relevant pixels comprising the cells, (iii), determining a parameter for each of the cells, (iv) determining one or more transformation for all of the cells, where a transformation alters a parameter of a cell to align with a parameter of a representative cell (e.g., scale a cell horizontally to match the width of the representative cell), (v) and storing the one or more transformation and the representative cell. In some cases, the transformations may be stored by storing transformation values. Transformation values may be values or parameters that may be used in one or both of a mathematical function or software function to reverse a transformation (e.g., return an image back to its original value upon decompression). By storing the representative cell and the one or more transformation values, a restoration of the original image can be achieved with varying degrees of fidelity to the original image, but with the key features of the cells retained. Further, given the manner of compression, the stored transformation values of the compression may be directly applied to data analysis algorithms. That is, unlike existing compression algorithms, a multitude of parameters of each cell image may be incorporated as an integral component of the functional compression (e.g., via the transformation values), therefore, a new data analysis may be run directly on or as a function of one or more value of the functional compression, rather than uncompressing the image, analyzing the image, extracting the parameters of or analyzing cells of the image, and then recompressing the image. As such, the image compressions disclosed herein comprise a rich set of features (e.g., latent or parameterized as described herein) describing the various cells of the original image.
[0023] The platforms, systems, media, and methods disclosed herein address a long felt need in the field of biological image storage and analysis. The techniques disclosed herein are amenable to both single images and series of images or videos. While the efficient storage and analysis of a single large image is itself valuable, the techniques provided herein provide particular utility for studying biological systems over time. Currently, large biological image datasets may be very computationally expensive to analyze due to one or both of their size or complexity. In some cases, the images may comprise millions or billions of individual cells (or more) of one or more class of cells taken periodically as the cells proliferate or change over time or acrossmultiple plates or experiments. Especially, in the case of frequently acquired images (e.g. image 10M cells every 30 mins for hours to days), the rate of large image generation for biological systems may render both storing and analyzing the image data intractable or very expensive due to computational limitations in storage and throughput using other techniques. Additionally, typical image compression approaches are not tailored to images of biological systems and do not retain a representation of the image that is directly amenable to data analysis. Further, extant compression techniques may not account for the unique case of biological systems that contain image data that is not valuable to store (e.g., non-cellular data). This may render extant techniques of image compression of biological systems inefficient as they encode image data that is only necessary for a lossless reconstruction of the initial image containing superfluous details. Depending on the use case, the complete reconstruction of an original image may not be necessary. Certain embodiments disclosed herein may account for this consideration. The platforms, systems, media, and methods disclosed herein enable image compression while retaining key features of the image in a format that is directly applicable to data analysis without the need for image decompression or reconstruction, yet do not sacrifice the ability to decompress the image into its original or approximately original form. These information rich, compact representations of complex biological systems may enable reconstruction of original images or direct analysis via machine learning or non -machine learning algorithms. This provides a significant improvement to the field of biological data analysis by enabling high throughput studies of biological systems and rendering the image data itself much more manageable in a data storage sense. It is noted that other focused image capture and large scale data analysis, sorting, and retrieval systems could benefit from this approach as well. For example, by compressing and encoding human facial features or compressing and encoding other common, highly repeatable image components (road signs, cars and trucks, animals, and the like), significant reductions in file size and computation can be realized. Accordingly, the compression techniques disclosed herein provide particular utility in increasing the performance of computer systems in both image storage and computational (e.g., data analysis) overhead.
[0024] Description and examples directed to the compression or analysis of cells or images of cells herein are for illustrative purposes only and are not intended to limit the scope of the inventive concepts. The image compression or analysis techniques disclosed herein may provide at least the same benefits to images of non-cellular objects (e.g., people, cars, materials, stars, etc.) as is described for cellular imaging.Systems for Data Compression
[0025] In one aspect, the present disclosure provides systems for data compression. Systems for data compression may take as input complex or large images of biological systems that may be intractable or expensive for storage or analysis. Machine-readable instructions may be disposed on systems for converting such large images to a size tractable for storage. The systems may densify the information so as to render the image compressions amenable to data analysis or image reconstruction.
[0026] FIG. 1 depicts an example of a computing system 100 for the compression of images of biological systems, in accordance with some embodiments described herein. Computer system 100 comprises a computing device 105, an input component 110, a compression component 115, and a storage component 120. The computing device 105 may receive input data 130 and provide output data 135.
[0027] In some embodiments, computing system 100 comprises at least one processor, a memory, and a computer program including instructions executable by the computing system 100 to create an application configured to: provide an image of a plurality of objects; segment the image to obtain a plurality of image segments, wherein at least one image segment of the plurality of image segments comprises an object of the plurality of objects; determine a parameter for each of at least a subset of image segments of the plurality of image segments, wherein an image segment of the subset of image segments comprises the object; select a representative segment of the subset of image segments, wherein the representative segment comprises a representative value of the parameter; apply one or more transformation to an image segment of the subset of image segments, wherein a transformation of the one or more transformation comprises one or more transformation value used to convert at least the parameter of the image segment to the representative value or the representative value to the parameter of the image segment; and store at least the representative segment and the one or more transformation value to obtain the functional compression of the image of the plurality of objects. In some embodiments, the instructions executable by the computing system 100 are stored on a non-transitory computer-readable storage medium.
[0028] The input component 110 may accept input data 130 or other parameters desired by a user. The input component 110 may comprise one or more of a user interface (e.g., a GUI of a software application) for receiving input data 130, machine-readable instructions for automatically taking in input data 130, or a device to obtain input data 130. In some embodiments, the device may comprise one or more optical imaging instruments. In some embodiments, the one or more optical imaging instruments may implement one or moremicroscopy techniques such as bright-field microscopy, fluorescence microscopy, conventional or spinning disk confocal microscopy, super resolution microscopy, atomic force microscopy, scanning electron microscopy, transmission electron microscopy, scanning transmission electron microscopy, phase contrast-microscopy, or other methods of imaging microscopic or nanoscopic systems.
[0029] The compression component 115 of the computing device 105 may implement the compression techniques disclosed herein. The compression component 115 may comprise a set of machine-readable instructions disposed on the computing device 105. The compression component 115 may comprise a web -application or other interface with remote computing (e.g., cloud computing). For example, the compression component 115 may interface with a remote server to compress input data 130. The operations to compress input data 130 may be implemented using the compression component 115. In some embodiments, the input data may comprise an image. The operations may comprise (i) segmenting the image to identify and obtain the cells of the image by their pixels, (ii) determining a parameter for at least a portion of the cells, (iii) selecting a representative value of the parameter, (iv) identifying a cell associated with the representative value, (v) determining one or more transformation of each of the other cells of the portion of the cells to convert the other cells into the cell associated with the representative value, and (vi) storing a compression of the input data 130 comprising the cell associated with the representative value and the one or more transformation of each of the other cells. In some cases, storing the one or more transformation comprises storing transformation values as disclosed herein.
[0030] A compression resultant (e.g., output) from the compression component 115 may be stored in a storage component 120. The storage component 120 may comprise a local storage. Alternatively, or in addition, the storage component may comprise a remote form of storage. In either local or remote storage, the compression may be stored on Hard Disk Drives (HDDs), Solid State Drives (SSDs) volatile, random-access memory (RAM), non-volatile, read-only memory (ROM) memory, or the like.
[0031] The output data 135 may comprise a compressed form of the input data 130. In some embodiments, the output data 135 may be retrieved from the storage component 120. In some embodiments, the output data 135 may be an output of the compression component 115.Methods of Data Compression
[0032] Provided herein are computer-implemented methods for the functional compression of an image of a plurality of cells. FIG. 2 depicts an example of such a method 200 for functional compression.
[0033] The method may comprise providing an image 210. The image may comprise an image of a plurality of cells (or other biological specimen or sample). The image may be provided to a computing system (e.g., computing system 100 of FIG. 1). The image may be derived from one or more imaging techniques. The imaging techniques may comprise one or more microscopy techniques (e.g., confocal microscopy, SEM, TEM, fluorescence microscopy, etc.). The image may be a frame of a video. In some embodiments, one or more pre-processing operations may be performed on the image. In some embodiments, one or more pre-processing operations may comprise whole field of view compensation. In some embodiments, whole field of view compensation may comprise flat fielding or chromatic aberration corrections or other optical corrections. In some embodiments, pre-processing may comprise a comparison of a preexperiment fixed structure to the same structure during active experimentation. For example, a structured microfluidic chip containing fixed structures (e.g., walls, port opening, channels, etc.) may be imaged (or known) prior to exposure to objects of interest (e.g., cells). In some embodiments, the determination of fixed structures may be performed automatically via macroscopic feature detection algorithms. For example, a segmentation algorithm may be used to determine foreground and background pixels corresponding to objects of interest and static structures, respectively. The extraction of static, background, or macroscopic features may optionally be performed prior to extraction of object-containing image data. Later images of the structured microfluidic chip may be compared to the pre-experimentation image (e.g., by pixel intensity values). The comparison may be used for the subtraction of non-relevant pixels prior to subsequent compression operations. For example, pixels with changes in intensity values below a threshold may be subtracted. Low (or high) intensity shifts may be indicative of fixed structures or background features. Additionally, or alternatively, a similar operation may be performed after segmentation. For example, segmentation of objects may be performed and the non-object pixels dropped (e.g., set to 0 or other pre-selected value or values) prior to subsequent compression operations.
[0034] The method may comprise segmenting the image 220. For example, the plurality of cells of the image may be segmented from the image. The segmentation of the cells may be performed by one or both of a machine learning or non -machine learning algorithm. In some embodiments, the machine learning segmentation may comprise image segmentation, semanticsegmentation, instance segmentation, or panoptic segmentation. In some embodiments, the nonmachine learning segmentation may comprise a watershed algorithm, an optimal spanning forest algorithm, Meyer’s flood algorithm, or masking (e.g., Otsu’s method) and optional filtering followed by segmentation. The segmentation of the image may provide associations between pixels of the original image and the plurality of cells of the image. These associations may provide the ability to compare a plurality of image segments (e.g., the cells) in a manner accessible to the compression techniques discussed herein.
[0035] The method may comprise determining a parameter for each image segment 230. At least a portion of the plurality of image segments may be used to calculate one or more parameters defining each image segment of the portion of the plurality of image segments. The parameters may include, for example, a width, a height, a rotation angle, Zernike coefficients, an affine transformation, or a number of pixel values. Each image segment of the portion of the image segments may correspond to a similar group. For example, objects may be identified by image segmentation. Or a class of image segments may be identified by semantic segmentation. The parameters determined to define each image segment may be used to establish parameter distributions describing the group. For example, there may be a collection of widths, heights, rotations, or other parameter for each of the image segments.
[0036] The method may comprise selecting a representative image segment 240. The representative image segment may be selected from the plurality of image segments. Alternatively, the representative image segment may be selected from a portion or subset of the plurality of image segments. In some embodiments, the representative segment may be provided (e.g., a model of a cell, a simulation of a cell, a likeness of a cell, etc.). A representative segment may be selected based on the parameter distributions established for the portion of segments. In some embodiments, more than one parameter may be used to select the representative segment. In some embodiments, the representative segment may comprise a cell with a representative value (e.g., median, average, minimum, maximum, random value) of a parameter describing the plurality of cells (or a portion thereof) contained in an image. For example, a representative segment may be chosen based on width, height, or other parameter obtained, where the cell embodied by the representative segment has a representative value of said parameter.
[0037] The method may comprise determining a transformation 250. The transformation may comprise one or more transformation and the representative segment may be used as the basis to establish one or more transformation of the other image segments. The one or more transformation may be selected from a group of possible transformations. For example, the transformations selected may comprise one or more of a width scaling, a height scaling, or arotation. These transformations may be selected from a larger group of possible transformations. The larger group of transformations may comprise, for example, Zemike transforms, pixel intensity shifts, or translations. In some embodiments, additions or subtractions may also be performed. By way of example, a cell image might be larger than the representative cell and have three additional mitochondria than the representative cell. Rather than store the full image of this cell, one could store the X scale, the Y scale from the representative cell and the positions and sizes of the 3 additional mitochondria. In this case, the few parameters that are stored for the cell are far less than the image of the cell and thus the size of storage is greatly reduced. This is of course, highly simplified as other parameters and other organelles are likely to be stored to build a full cell image. In some embodiments, the selection of transformations may change the degree of loss of a compression of the image. For example, the method may comprise choosing a transformation from a class of transformations based on a degree of acceptable loss during compression. In some embodiments, using all possible transformations may be used to obtain a lossless or near lossless compression of the image. The one or more transformation for a given embodiment may be relative to the representative segment identified in 240. In some embodiments, the compression component stores the representative segment and the transformations necessary to convert the other segments into the representative segment. In some embodiments, the segments maybe the identified cells of an image. In some embodiments, the segments may be aligned based on a centroid of each segment. In some embodiments, the centroid of each segment may form a starting position from which to establish the one or more transformation. As an example, a transformation may include aligning a first image segment (e.g., first cell) with the representative image segment (e.g., representative cell). The first image segments (e.g., first cell) may be rotated around a centroid. The centroid may correspond to a centroid of the representative image segment (e.g., representative cell). The first image segment (e.g., first cell) may be rotated until a minimum difference between the first image segment (e.g, first cell) and the representative image segment (e.g., representative cell) is determined. The difference between the first image segment (e.g., first cell) and the representative image segment (e.g., representative cell) and the rotation of the first image segment (e.g., first cell) may be stored as a first transformation specific to the first image segment (e.g., first cell). The method may comprise additional transformations for each image segment of the plurality of image segments.
[0038] Storing a transformation may comprise storing one or more value representative of the transformation. For example, a height scaling factor may be stored to represent transformation of the height of a stored representative image segment to that of another segment (or vice versa). More generally, this may be a scaling factor of one object to another (e.g., a value to scale aheight of one cell to another). In some embodiments, the scaling factor may ultimately be used in a mathematical or software function to perform a decompression. For example, a transformation operation (e.g., a mathematical operation) may be stored on computer-readable media as software code. Accordingly, transformation values stored in a functional compression may be used as variables in transformation operations executed by the software . In some embodiments, both the transformation values and the transformation operations (e.g., equations of software functions representing rotation, scaling, pixel intensity adjustments, etc.) may be stored in the functional compression. The storage of a scaling factor is intended for illustrative purposes only. Stored transformation values may be arbitrarily complex. For example, multidimensional matrices, lists, dictionaries, maps, objects, or arrays of values may be stored as transformation values. Generally, transformation values may be used to transform one image segment to another image segment.
[0039] In some embodiments, a functional compression may comprise a residual difference between pixels. A residual difference between pixels may comprise storing the differences between pixels of image segments after one or more transformation. For example, the one or more transformation may convert a spatial representation of an image segment to that of a representative image segment. For example, the shape, orientation, spatial arrangement of subcomponents (e.g., organelles in a cell), or other spatial parameter of the image segment may be aligned with those of the representative image segment after the one or more transformation. In some embodiments, the pixel values of the transformed image segment may be different than those of the representative segment. For example, a nearly black pixel of the transformed segment may align with a nearly white pixel of a representative image segment. Accordingly, the difference between the pixel intensities for two aligned pixels may be stored as a portion of the functional compression. In some embodiments, the difference in pixel intensity is only stored if it is above a certain threshold. For example, storing the difference between an ostensibly white pixel and a marginally whiter pixel may only increase the size of the functional compression with little or no information gain. In some embodiments, the threshold may be determined by a degree of desired loss. For example, the threshold for pixel intensity difference may be near zero for lossless compression. In some embodiments, the threshold may be different for different colors. For example, a subtle variation in green pixel values may indicate experimentally relevant differences in green fluorescent protein fluorescence activation, while subtle variations in red pixel values may be considered less relevant.
[0040] Operations 220, 230, 240 or 250 may be performed for two or more different classes of objects in an image. In some embodiments, there may be more than one type of cell or otherbiological specimen in an image. In such a case, the operations may be performed for each of the classes. The compression may comprise a representative image segment representative for each of the classes contained in an image. The compression may further comprise transformations (e.g., transformation values) for the other segments of each class. In this way, each class contained in an image may be reconstructed from the representative segments and the transformations stored for each class of segment.
[0041] The method 200 may comprise storing the representative segment and the transformation 260. The compression, which may be generated in operations 210-250, may be stored (e.g., in storage 120). The compression stored as a representative segment and one or more transformation for the plurality of image segments 260 may be used to reconstruct the original image. In some embodiments, the reconstruction may be lossy. As used herein, “lossy” may refer generally to a restored image, or quality of a method of restoring an image, from a compressed state (e.g., a functional compression), in which the restored image does not retain the exact data of the original image. In some embodiments, the reconstruction may be lossless. As used herein, the term “lossless” may refer generally to a restored image, or quality of a method of restoring an image, from a compressed state (e.g., a compression), in which the restored image is substantially or completely equivalentto the original image. The compression may comprise sufficient information that it may be used directly in data analysis algorithms. An output of the method described herein maybe one or more statistical outputs or determinations based on one or more compressions. In some embodiments, the compression may be evaluated by statistical algorithms to obtain individual or aggregate statistics of the one or more classes of cells or biological specimens contained in the original image. In some embodiments, the compression may be used as features to train a machine learning algorithm.
[0042] In some embodiments, the representative value or values may be a median value, a maximum value, a minimum value, an average value, or other representative value. In some embodiments, the representative value or values may be selected randomly or any combination of these.Cell Images
[0043] Images of biological systems may contain millions or billions of cells. For example, FIG. 3 shows a sample image of a chip containing a high degree of redundant visual information. The image shows approximately one quarter of a chip used in studying a biological system. The quarter of the chip shown contains approximately 128,000 wells or chambers, each well or chamber containing roughly five cells. In total, the image data of the full chip contains the visual information of approximately 2,560,000 cells. In some cases, systems such as thoseshown in FIG. 3 may be imaged on one or more occasions over a period of time. In some cases, these systems may be imaged using one or more imaging modalities. For example, an image may comprise data measured for a variety of wavelengths. For example, a single field of view might capture images in a red, a green and a blue wavelength or more wavelengths. Continuing the example, visual data of a system may be captured through various filters or after various excitations and comprise multiple representations of a system in various layers of data comprising an image. For example, imaging may comprise hyperspectral imaging. For example, a visible light image and an infrared image may be captured for a system and combined into one image with multiple channels. Generally, any combination of imaging modalities or image types may be used or combined to obtain one image representing a state of a system. Further, images of biological systems, including the images described herein, may be of high resolution and highly magnified as in the case of modern microscopy techniques. For example, a resolution of the image described herein may be better than or equal to about 500 nm / px, 250 nm / px or 100 nm / px. For the range of images, from low magnification to super resolution images and the range of wavelengths used, the resolution of the images could be as low as 4 pm / px and as high as 70 nm / px. Note that resolution can be defined in a few different ways (e.g., Sparrow criterion, Rayleigh criterion and others known to those skilled in the art and thus may change these resolution numbers somewhat). These large, complex, highly magnified, time-dependent systems may generate an exorbitant amount of image data. For example, optical pooled screening of biological systems may generate data on the order of terabytes per day. In some cases, the method described herein may comprise providing one or more images where a total raw data of the one or more images is greater than or equal to about 10 MB, 10 GB or 10TB. In some cases, the amount of data in a plurality of images provided maybe quantified in a form of data per time unit. For example, the amount of raw data collected may be greater than or equal to about lOMB / day, lOGB / day or lOTB / day. This quantity of data results in both storage and analysis challenges.
[0044] In some embodiments, the systems and methods disclosed herein may address limitations of large-scale or high throughput biological imaging. An example of large-scale biological imaging is optical pooled screening. In optical pooled screening, image-based assays of biological systems may be used to establish links between genes and phenotypes. Imaging may capture many phenotypes at scale. The imaging may include time-dependent imaging. Timedependent imaging may allow a user to monitor the evolution of systems oscillatory or transitory behaviors. In pooled screens, a library of genetic perturbations may be introduced. These perturbations may cause phenotypic changes in cells using modern microscopy techniques (e.g., fluorescence microscopy), high-content imaging assays may be used to extract richspatiotemporal information from a sample. This information may, for example, enable the establishment of a linkage between phenotype and a genotype perturbation.
[0045] In such cases as optical pooled screening, the spatiotemporal images gathered for a single system under study may demand substantial computational resources for both storage and analysis. This may greatly limit the study of these systems and the amenability of large-scale image-based assays to modem data analysis tools. As the complexity, diversity, resolution, magnification, and rate of data acquisition, among other factors, increase, the storage and analysis challenges discussed may be exacerbated. Complexity may be further increased with the number of channels used per image. It is commonplace to capture 3 or 4 or 5 fluorescent channels in a single image and possible through a variety of techniques to capture 20, 40 or even 100 or more channels of information per image (e.g., this can be done with hyperspectral imaging and multiple dyes, with FRET and similar dyes that have same excitation and multiple emissions, with multiple sequential rounds of fluorescent imaging, with barcoded tags, and others well known to those in the art). Diversity may increase with the number of unique classes of objects or cells (e.g., image segments) in an image. The one or more images provided herein may be of high resolution or super resolution. Often a single image or Field of View (FOV) will be a small fraction of the overall sample, so that to image the entire sample, many pictures or FOVs must be taken, and in some cases combined or stitched together before processing. For example, the FOV for an image may be 10% of a full sample (or less). In some cases, the field of view for an image of the one or more images provided herein may be less than or equal to about 100%, 50%, 25%, 10%, 5%, 1%, l / 500th, l / 1000th, l / 2000th, l / 5000th, 1 / 10, 000th, or 1 / 100,000thor less of the full sample. In a case where an image is equal to 1% or less of the full sample, at least 100 images may be gathered for a single composite image of the entire sample. Additionally, the rate of image acquisition may greatly increase the amount of image data gathered for a biological system. The methods described herein may be incorporated into, or enable, an analysis of the phenotypic evolution of a cell. Given the desire to study phenotypic evolution of a cell (or other specimen) over time, the ability to remove limitations pertaining to data storage and analysis may greatly improve the ability to study dynamic biological systems.
[0046] The systems and methods disclosed herein are not limited by the type of imaging performed. Image compression via the techniques taught herein are compatible with a wide array of imaging technologies. While the imagining technologies may significantly influence the visual information acquired, the principles used to generate functional compressions discussed herein are agnostic to the type imaging technology used. In some embodiments, the images may be acquired with a variety of imaging technologies such as bright-field microscopy, fluorescencemicroscopy, confocal microscopy, atomic force microscopy, scanning electron microscopy, transmission electron microscopy, scanning transmission electron microscopy, phase contrastmicroscopy, super resolution microscopy, or other means of imaging microscopic or nanoscopic systems.
[0047] The systems and methods disclosed herein are exemplified via cellular imaging for illustrative purposes only. The systems and methods disclosed herein are not limited by the subject of the image (e.g., the type of object in the image). Accordingly, the functional compression techniques herein may be applied in a similar manner to faces, cars, or other object or objects appearing in an image.Image Segmentation
[0048] In some embodiments, an image comprising a plurality of cells may be evaluated using a computer vision algorithm. Computer vision may enable the automated processing and analysis of images of cells such that various aggregate or individual cell descriptors may be calculated based on machine learning or non-machine learning (traditional) computer vision algorithms. In some embodiments disclosed herein, computer vision techniques may be used to rapidly analyze the plurality of cells of an image. The analysis of a plurality of cells may comprise a comparison against one another or clustering analysis. The comparison of cells among a class of cells may enable the establishment of one or more transformation to convert a given cell into an image likeness of another representative cell. Such transformations may be used to provide a reduced representation of the original image. In some embodiments, a reduced representation, or compression, may comprise parameters representative of transformations (e.g., transformation values) of a plurality of cells stored in the compression. For example, during compression, each of a plurality of cells in an image may be transformed to a representative cell also identified in the image such that parameters describing the transformation (e.g., scaling factors, matrices) are stored. In another example, during compression, an extrinsic representative cell (e.g., a provided image or likeness of a cell) is provided such that parameters describing transformations of the extrinsic representative cell to obtain each of a plurality of cells in an image may be stored in a compression of the image. Generally, the directionality of transformation is a selectable parameter. For example, regardless of the provenance of the representative cell (e.g., segmented from the image or provided to a compression implementation), parameters may be stored representing transformations of the representative cell to or from the other cells of the image.
[0049] In some cases, the one or more transformation may simplify a data representation of an image. This approach may provide particular utility in images containing, for example, millions of highly similar cells. In some cases, images of similar cells may comprise highly redundantvisual information. For instance, two cells may differ by only a rotation transformation. In such a case, storing all of the visual data of both cells would comprise storing a high degree of redundant information. Computer vision may enable the extraction of parameters describing the cells such that determination of the one or more transformation to convert the cells to a representative cell is possible. In some embodiments, the one or more transformation comprises at least one operation for converting a cell into a representative cell. For example, the one or more transformation may align the parameters of the cell and the representative cell. In some embodiments, the aligning of parameters may comprise one or more of a scaling, a rotation, a pixel shift, a translation, an affine transformation or a Zemike transformation. This enables the storage of the one representative cell comprising a full complement of pixel data and the one or more transformation of each of the other cells such that the other cells of the original image can be reconstructed by applying each cell’s stored transformations to the one representative cell. In some embodiments, the representative pixel data comprises positional information and full bit depth brightness values for each channel that was acquired. In some embodiments, the positional information may be used during image decompression to place a cell in its original relative location in an image. In some embodiments, each other cell may contain a set of channel values may comprise a value (e.g., 0 to 255 or 0 to 65535) indicating a relative contribution of a color channel (or fluorescent dye) relative to the intensity in the representative cell. For example, the representative cell may have a DAPI stain for the nucleus and a second stain for mitochondria. Each other cell may contain a value for the intensity of the nuclear DAPI stain (in one channel) and a second value for the intensity of the mitochondria stain (in the second channel). In this example, a value of 1 may represent the same intensity as the representative cell, a value of 0.1 may indicate a value 1 / 10ththe representative cell and a value of 10 may represent an intensity value 10 times greater than the representative cell. Besides being an efficient means to compress very similar images with small differences, this can also be a way to efficiently facilitate analyses of a cell or a sample of cells (e.g., all cells of the image). Alternatively, if a researcher using a traditional compression algorithm hypothesizes that the intensity of one stain is inversely correlated to that of a second - for example the intensity of the DAPI stain is inversely correlated to that of the mitochondrial stain - the researcher must decompress the images, perform a parameter extraction (in this case the median intensity of each stain in each cell) and then compress the images again for return to storage. However, with functional compression as disclosed herein, these parameters may be stored as part of the compression, in which case, the images are not necessarily decompressed prior to analyzing the compression parameters for the relative intensity of each stain or channel representing staining intensity data.
[0050] In some embodiments, cells or image segments may be grouped or clustered. Grouping or clustering may be a pre-processing operation performed on an image to determine the unique groups of objects in an image. In some cases, a group itself may be sub -grouped or clustered. For example, a cell type may have distinct sub-groups. Furthering the example, a cell type may comprise a group of phenotypically normal cells and others comprising a unique phenotype resulting from some mutation, stimulus, etc. In some embodiments, a group or cluster (e.g., a broad group or a sub-group) may be represented in a functional compression by one set of transformations and a set of indices. Accordingly, upon decompression, the cells may be reconstructed and distributed spatially based on the stored indices associated with the cells. This may provide particular utility in compressing cells that are of lower importance to a data analysis or that are exceptionally redundant. For example, if the transformations performed on millions of cells would be largely the same, the index of the cells may be the most unique information for a given cell when reconstructing the original image. As such, indices may be stored for cells along with a shared set of transformations. In some cases, there may be a mix of shared transformations and individual transformations. For example, if a large number of cells are each rotated by 90 degrees relative to a representative cell, this information may be stored once and later applied to the appropriate cells upon decompression. Additionally, or alternatively, a cell of the large number of cells may have its own set of transformations (e.g., translation, scaling, pixel shifts, etc.). Index -based techniques may additionally provide utility where simple metrics such as count or existence are valued. For example, an experiment to simply evaluate the rate of a bacterial colony growth may require a bacteria count. Accordingly, storing complex functional compressions may be unnecessary for data analysis performed on the compressions or for visual reconstruction of images. For example, if details of individual bacterium are not desired, indexing of bacterial positions and group-level transformations may provide for sufficiently high fidelity visual reconstructions upon decompression (e.g., minor differences among bacteria are less important than their spatial distribution) while also storing sufficient information for data analysis.
[0051] Grouping or clustering of cell types or cell subtypes may be performed by clustering algorithms For example, clustering algorithms may comprise K-means clustering, mean-shift clustering, affinity propagation clustering, BIRCH clustering, Gaussian mixture clustering, agglomerative clustering, or other clustering algorithm. In some embodiments groups or clusters may also be formed based on Phasor analysis. For example, an image may comprise multiple channels of information (e.g., hyperspectral imaging). Accordingly, multiple spectra or types of images may be collected for a single sample. In some embodiments, groups or clusters may be based on one or more of the spectra and their similarities or parameters extracted from theimage. In some embodiments, for n cells of a class of cells, there may be anywhere from 1 to n groups generated for the cell. The loss of the compression may be dependent on the number of subgroups generated for a specific cell type. For example, each cell may comprise its own group (e.g., receive its own set of transformation values). In this example, there may be very little or no loss as each cell of a group of cells may be explicitly stored in the functional compression as its own “group.”
[0052] In some embodiments, the image of the original cells may be obtained by transforming the pixels of the representative cell. The storing of one complete cell and the one or more transformation may comprise a functional compression of the image of the cells, as the transformations may require substantially less storage than the raw image data due to the highly redundant (e.g., highly repetitive cells) or low information density (e.g., non-cell data) nature of an unprocessed image. In some cases, each other cell after transformation from the representative cell may be compared to the actual image pixels. If the transformation is not perfect, there may still be some differences between the actual image pixels and the transformed and compressed pixels. In some embodiments, the pixel by pixel difference between these two can be stored so that the complete image cell can be completely restored in a lossless manner. For example, following transformation and alignment of one cell with a representative cell, the pixel by pixel intensity differences (e.g., residual difference) may be stored. In some embodiments, the pixel by pixel intensity differences maybe stored if the difference is above a certain threshold. This may provide particular utility in reducing redundant storage of pixels that contain a similar color, brightness, etc. Further, storage of the pixel by pixel differences allows for high fidelity reconstruction of the original image by providing the information necessary for color and brightness restorations of transformed, compressed cells. In some embodiments, the differences between each of the transformations and the actual image may be incomplete and the difference mapping may be reduced in bit depth, only recorded above certain thresholds or otherwise reduced and compressed. In this manner, the reconstructed images would not be perfect representations of the original image and would therefore be considered a lossy compression, which would enable even greater storage space reductions. Generally, the more transformations that are allowed or used for each image, the greater the fidelity of the reconstruction on a pixel by pixel basis. Conversely, storing only one or a few parameters or transformations will generally result in larger pixel by pixel differences. In some embodiments, the number and type of parameters or transformations to maximize storage space savings (not too little and not too many) may be configured. Computer vision techniques enable the automation of these processes by providing rapid image analysis and parameter extraction for millions or more cells of an image.
[0053] In some embodiments, non-machine learning based algorithms may extract the relevant pixels comprising cells from an image of cells. The segmentation of images generally involves separating an image into one or more segments based on one or more segmentation rules such that each generated segment is likely to contain a cell. In the case of cells, a plurality of the segments are likely to contain the pixel data constituting at least one cell. In some embodiments, the segmentation of cells in an image may be accomplished using a non-machine learning algorithm (e.g., an algorithm not requiring training data). In some embodiments, the non- machine learning algorithm may be a watershed algorithm. A watershed algorithm may provide a means for separating images based on pixel intensity. For a grayscale image, a pixel with a value close to one (almost white) may indicate a point of initialization for segmentation. In a watershed algorithm, a bright pixel may be used as a starting point for a searching algorithm (e.g., BFS, DFS) such that the searching algorithm finds the neighboring pixels and associates them with the starting pixel until a pixel-based phenomenon is encountered. In some cases, this phenomenon may indicate an edge of the object being segmented. In some embodiments, the pixel-based phenomenon may be a large change in pixel value (e.g., from white, 1 , to black, 0 , or vice versa). One skilled in the art will understand that various rules or algorithms may be applied to define a given segmentation task, such as those implemented in the Meyer’s flood algorithm, watershed by flooding, watershed by topographic distance, watershed by the drop of water principle, inter-pixel watershed, graph cuts, shortest-path forests, random walks, or optimal spanning forest algorithms. Upon iteration of the process, pixels belonging to the same object may be grouped together while any pixels not grouped to an object may indicate the border lines between the objects of the image. Generally, each non-machine learning approach to image segmentation may be used to identify cells (or other objects) in an image in a manner amenable to the compression platforms, systems, media, and methods taught herein.
[0054] In some embodiments, machine learning based algorithms may extract the relevant pixels of cells from an image of cells. In a machine learning approach to image segmentation, a set of training data is used to obtain an optimally weighted architecture for a given image segmentation task. In some embodiments, a given specific image segmentation task may be general (e.g., trained on a generic dataset to provide segments likely containing objects) or specific (e.g., trained to segment specific objects), and may have one or more output steps. Image segmentation may comprise simple object-based image segmentation where an image is broken into segments likely to contain an object, similar to many non-machine learning image segmentation approaches. In some cases, the image segmentation task may be more specifically a semantic segmentation task, where a machine learning algorithm learns to assign pixels of an image to one or more classes, ultimately enabling the extraction of pixels assigned to a class (orclasses) of interest (e.g., cells). In some cases, the image segmentation task may be more specifically an instance segmentation task, where a machine learning algorithm learns to assign pixels to one or more objects, such that for each object, the assignment is unique to each instance of an object in an image (e.g., two cells are each segmented and identified as unique instances of the object). In some cases, the image segmentation task may be more specifically a panoptic segmentation task, which may be considered the combination of the semantic segmentation and the instance segmentation tasks. In panoptic segmentation, each object in an image will be assigned a specific class (e.g., cell type, organelle type) and subsequently segmented on an instance-by-instance basis (e.g., cell one, cell two). Machine learning based image segmentation may leverage neural network -based architectures for image segmentation. In some embodiments, a neural network architecture may comprise an encoder-decoder architecture. In some embodiments, a neural network architecture may comprise a transformer architecture. In some embodiments, the machine learning approach to image segmentation may include the operations of training a machine learning algorithm to encode images into an information dense vector embedding and decode images into a mask of the original image, where the mask comprises a representation of the image tuned to the segmentation task (e.g., all black pixels for background, all white pixels for segmented objects). In some instances, some of the encoder parameters may be “pre-selected” parameters of interest as was noted above, for example, size or scaling factors of the cell and or certain organelles, relative intensity of certain organelles, and the like. In some embodiments, the encoder values (both pre-selected ones and auto-determined ones) themselves may be used directly for analysis as described herein. Generally, each machine learning approach to image segmentation may be used to identify objects in an image in a manner amenable to the compression platforms, systems, media, and methods taught elsewhere herein.
[0055] In some embodiments, a machine learning or non-machine learning approach to image segmentation may be applied to an image of a plurality of cells. Either approach may be used to extract the pixels corresponding to at least a subset of the plurality of cells. FIG. 4 shows an example of a cell segmented from a micro-well containing chip. In some embodiments, the pixels corresponding to the cell may be identified such that a mask may be overlaid on the image to identify the cells contained in the image. In some instances, the output of the segmented image may be stored (e.g., in local or remote databases) directly such that data analysis or compression of the image may be conducted. In some embodiments, the data comprising the segmented image may include the pixels associated with billions of cells. The data comprising the segmented image may be highly redundant, as the cells may be rough equivalents of one another. Often the differences in the cells of an image over time is the target for analysis (e.g.,which cells are responding to a stimulus). The functional compression techniques disclosed herein may provide particular utility in enabling the efficient storage of these differences (e.g., residual differences) for a plurality of subsequent analyses.Cell Parameters and Transformation
[0056] The compression of images as discussed herein may depend on one or more parameters or functions representative of a transformation of an object of interest (e.g., a cell) in the image. In some embodiments, there are multiple unique classes of objects in an image. In some embodiments, an object of interest may be a cell. When compressing an image comprising a plurality of cells, one cell may be selected as a representative cell such that at least a portion of the remaining cells of the image may be compared to the representative cell. In some embodiments, the comparison of the remaining cells to the representative cell may allow a compression of the image to be generated. The compression of the image may reduce redundant visual information of the image. In some embodiments, the redundant visual information maybe a function of the highly repetitive nature of images of cells resulting from some optical imaging techniques (e.g., confocal images of a large field of view containing millions of microbes of a single species). In some embodiments, the compression may also remove information that does not pertain to the objects of interest (e.g., fixed structures, background). The platforms, systems, media, and methods disclosed herein may store a compressed representation of the original image. In some embodiments, the compressed representation may be used to obtain a reconstruction of the original image. In some embodiments, the reconstruction may comprise applying one or more transformation to the representative cell stored in the compression. The application of the one or more transformation may enable the reconstruction of other cells of the image. In the instance where positional information is stored in the compression, the original image (e.g., lossless) or an approximation thereof (e.g., lossy) may be generated. While the generation of the image may be desired in some applications, other applications may interrogate the compression parameters (e.g., transformation values) directly. The compression techniques discussed herein may comprise sufficient information to analyze aspects of the image directly from the compression. In some embodiments the sufficient information may comprise one or more of a representative cell, one or more transformation, or one or more parameters, or one or more transformation values. In some embodiments, the aspects of the image may comprise individual or aggregate statistics describing a cell population.
[0057] In some instances, an image may be segmented by panoptic segmentation recursively. That is, in a given field of view, it may be that there are several clusters of cells, as well as other features (walls, inlet ports, fiducials, etc.). In the first round of panoptic segmentation, thesefeatures may be distinguished. In a second round of panoptic segmentation, individual cells may be distinguished and segmented. In a third round of panoptic segmentation, organelles inside the cell may be distinguished and segmented. The second and third round of segmentation can be used as the starting point for functional compression. For example, the outer membrane of a cell wall, its relative scaling and shape result in a set of transformation values, as does the nucleus size, shape and position, as does the Golgi Apparatus, the mitochondria and other organelles in each cell. All these parameters or transformation values may be stored and thus enable the image of the original cell to be restored from the compressed representation. As described herein, the method of recording the difference in the resorted and reconstructed image versus the original image pixel by pixel differences may also be stored in a lossless or lossy manner for each cell.
[0058] A single image may comprise millions of cells, where each cell can be described by a number of parameters. In some embodiments, the parameters may comprise a width, a height, a horizontal scale, a vertical scale, a rotation angle, a cell coordinate (e.g., Cartesian coordinates, polar coordinates), or a plurality of pixel values corresponding to the cell (e.g., values from 0 to 1 or 0 to 255 (8 bit) or 0 to 4095 (12 bit) or 0 to 65535 (16 bit) indicating pixel intensities). In some embodiments, the parameters may further comprise one or more Zernike coefficients (e.g., Zo°, Zi1, Zf1, Z02, Z4°, and others), or Haralick texture features or other imaging metrics. The parameters used to describe the cells of an image may form the basis of one or more transformation. For example, the parameters stored (e.g., transformation values) representing a cell may be used to execute the one or more transformation (e.g., parameters provided as variables to function). In some embodiments, the stored transformation values may comprise a solution to a function. The one or more transformation may be considered relative to a representative cell. In some embodiments, the representative cell may comprise a phenotype that is largely shared among the various cells of the image. The shared phenotype may indicate a highly redundant visual nature of the cells such that the cells may be described by the one or more parameters and simple transformations thereof. In some embodiments, the representative cell is one of the cells of the image. In some embodiments, the representative cell is provided from an external source (e.g., image, simulation, model, likeness of cell).
[0059] In some embodiments, one or more parameter may be determined for at least a portion of a plurality of cells visible in an image. For the cells in the portion, one of the one or more parameter may include, for example, a height of the cell, a width of the cell, a rotation of the cell, an intensity value of the cell, or other imaging-based metric such as a Zernike coefficient. Upon determining the height for each of the portion of cells, a representative value (e.g., median value, minimum value, average value, random value) may be readily determined and a cellrepresentative of the representative value may be selected as a representative cell. In some embodiments, one or more of the one or more parameter may be used to select the representative cell. Once a representative cell is chosen, one or more transformation can be established for the rest of the cells. In some embodiments, a transformation of the one or more transformation may be a mathematical function that can be applied to the parameter of the representative cell to obtain the parameter corresponding to each of the other cells. In some embodiments, transformation values may be stored such that transformation values may be used to reverse a transformation upon decompression. For example, transformation values may comprise variables, coefficients, matrices, exponents, or other components of or solutions to equations that can be applied to a mathematical or software function to return a compressed representation of a cell to its original representation. For example, matrices representing rotations, translations, or scaling may be stored such that they may be applied to a representative cell stored in a functional compression to obtain each of the other cells of the image. In some embodiments, a centroid of each cell may be used to align the cells prior to establishing the one or more transformation. Regardless of the directionality of the transformation, the transformation can be stored such that non-representative cells can be directly compared or converted to the representative cell. Repeating this general operation for a number of transformations results in a means to simplify the representations of each of the cells in the image. In some embodiments, this enables the storing of the differences between the other cells and the representative cell. The storing of these differences may result in a dramatic decrease in the amount of data necessary to retain from an image to fully represent it. In addition to storing the differences (e.g., the parameters, transformations, pixel by pixel values), the pixels corresponding to a representative cell may be stored in full. In some embodiments, the residual difference among pixels of an image may be stored. For example, a pixel intensity value shift above a threshold shift value may result in storage of the residual difference between the shifted pixel and the earlier pixel. The storing of the combination of the original pixels of the representative cell and the necessary transformation of various parameters of the representative cell may result in an efficient data representation of a massive (e.g., gigabyte(s), terabyte(s)) image. In some embodiments, the image may be a frame of a video of the cells or even a video itself in which a single frame of the video is functionally compressed as described herein and each other frame of the video is compressed using only the differences (or changes) in each of the cells’ parameters from the stored original frame.
[0060] In some embodiments parameters of cells may be stored. In some embodiments, the parameters may comprise a simple scaled value of a parameter of a representative cell. In some embodiments, the scaled value may be of a parameter comprising a width, a height, a rotationangle, a horizontal scale, a vertical scale, a cell coordinate, a plurality of pixel values corresponding to the cell, affine transformation, orZernike coefficient, or other imaging metric. For example, a representative cell has a length (e.g., height, width) of 0.8 pm and another cell has a length of 1.2 pm. A length scaling factor may be stored for the representative cell of 1.5, where the scaling factor may be multiplied by the length of the representative cell to obtain the length of the other cell (e.g., 1.5 pm x 0.8 = 1.2 pm). Alternatively, a scaling factor for the representative cell could be stored. In such a case the scaling factor of the other cell may be 0.67 (e.g., 0.8 pm / 0.67 = 1.2 pm). In some embodiments, the directionality of the scaling for the various parameters is standardized such that the parameter of the representative cell is either multiplied or divided by a factor. In some embodiments, the conversion from the parameter of the representative cell to the other cell requires a more complex operation. In some embodiments, a matrix or vector of parameters may be stored. In some embodiments, the matrix of parameters may be compared (e.g., dot or cross product) with a matrix of the representative cell. In some embodiments, the matrix of parameters may comprise pixel intensity shift values. For example, the transformation of a representative cell may include lightening or darkening pixels of the representative cell (e.g., decreasing grayscale value to darken pixel). In some embodiments, a matrix may comprise a series of coefficients to be used in, for example, a polynomial mathematical operation to transform the other cell to the representative cell. In some embodiments, the polynomial mathematical operation may comprise a Zemike polynomial.
[0061] In some embodiments, rather than use a representative cell or image from the image set, a pure, “perfect” cell or image can be used instead. In associated embodiments, the representative cell may instead be a model of a cell. For example, a model E. coli cell may be tubular in shape with rounded ends. This illustrative perfect cell could then be scaled and adjusted for each other cell in the image, for example adjusting for length, diameter and centroid X, and centroid Y position. Furthermore, an imaging emulator could take this perfect image and send it through an optical transform to pixelate it and blur it consistent with the hardware imaging that is beingused to take the actual pictures. At this point, the modeled image may be compared to the other cell image, pixel by pixel and the difference between the modeled image and the actual image could be stored for a lossless compression. By adding additional parameters and encoding to the perfect cell model (in the same manner as was described above), the representative cell model canbe made to fit each of the other cells in the image and only (1) the parameters required to transform the representative cell to each of the other cells, (2) the perfect representative cell model, and (3) the pixel by pixel difference between each of the other cell images and the modeled, transformed, and digital imaged cells need be stored for a lossless image compression and reconstruction. In the case of a lossy compression or reconstruction, thepixel by pixel difference can be reduced by one or more of pixel depth (e.g., 4 bit or 8 bit vs 12 bit), complete elimination of the differences, or only storing pixel differences of a particular magnitude or threshold or other similar technique. It should be noted that one major benefit of functional compression is the ability to perform analysis on the parameters or transforms themselves rather than the images. Additionally, or alternatively, there may be a powerful second advantage in which the analysis compares the residual differences (the pixel by pixel differences) between the images as a basis for comparison and analysis. In yet a third and related analysis technique, an implementation may consider a hybrid comparison of the parameters and the residual differences, for example, by comparing the pixel by pixel differences and in effect “undoing” one or more parameters (but not all) of the functional compression.
[0062] In some embodiments, a representative cell may be a “model” cell. In some embodiments, the application of a model cell in the compression techniques disclosed herein may be the same or similar to those disclosed for a representative cell. The model cell may be an image or other likeness of a cell, real or simulated, provided to a computer system herein for parameter extraction. The model cell may be an idealized or “perfect” cell representing, for example, a fibroblast, red blood cell, neuronal cell, a leukocyte, granulocyte, or other type of cell. The model cell may be transformed into each of a plurality of cells identified in an image. As such, transformed parameters of the model cell (e.g., width or height scaling factors) may be stored in a compression to represent the plurality of cells identified in an image. In such a case, transformations of the model cell may be shown in a reconstruction of an image that was compressed using the model cell as a basis for transformation.
[0063] In addition to the illustrative transformations disclosed herein, multi-dimensional complex operations or transforms may be performed on image data as disclosed herein. For example, 2D operations such as translation, scaling, or rotation may be performed to align a cell with a representative cell. As such, matrices or vectors for use in such transformations may be stored as parameters in a compression as disclosed herein. Similarly, 3D transformations may be represented in compressions, as with the stacked 2D images representative of a plurality of imaging channels (e.g., multiple fluorescence channels). Further, 4D transformations may be represented in compressions, as with, for example, time dependent 3D representations. For example, incubation of a system comprising a plurality of cells and fluorescent tags may have time dependent fluorescence. Generally, any mathematical transform that may be represented by values (e.g., matrices, coefficients, exponents, etc.) maybe usedin a functional compression as disclosed herein.Compression and Post Compression
[0064] The compression of images may retain all of the original data of the image (e.g., extant lossless compression techniques such as Izip, gzip) or may result in the loss of some information (e.g., JPEG, WebP, JPEG-2000, HVEC). In the platforms, systems, media, and methods, the degree of loss or lack thereof may be dependent on the type and number of parameters and their requisite transformations used for compressing an image. Additionally, some degree of loss may be intentional and may not indicate a loss of information of the objects of interest in an image. For example, an image of cells as shown in FIG. 4 may include information that is not informative for any purpose other than a perfect reconstruction of an input image. In FIG. 4 this information may include the material comprising the chip containing the wells within which the objects of interest, the cells, are shown. In performing a post-compression task (e.g., data analysis, decompression) on a compression of an image, there may be no reason to retain information other than that necessary to reconstruct the cells themselves and their relative positions. In this way, non-cellular image data may be foregone during compression. In some embodiments, the non-cellular image data may comprise one or more segment from a segmentation of the image. In some embodiments, the non-cellular image data may not be assigned to any segment and therefore the pixels corresponding to non-cellular image data may not be included in later steps of compression.
[0065] The platforms, systems, media, and methods disclosed herein may be used as a lossless compression technique. In some embodiments, the lossless compression may comprise compressing an original image so as to retain all of the information of the original data. In some embodiments, portions of the original image comprising objects of interest (e.g., cells) may be compressed using the parameter and transformation techniques discussed elsewhere herein.
[0066] The platforms, systems, media, and methods disclosed herein may be used as a lossy compression technique. In some embodiments, the information not retained during compression comprise irrelevant details. Irrelevant details can indicate aspects of the original image that are notinformative, for example blank space or structural elements that do not comprise the objects of interest. Structural elements may include, for example, a micro -structured chip that may organize the objects of interest (e.g., walls of a microfluidic chip, fiducials for machine registration, etc.). In some embodiments, the micro-structured chip may contain one or more regions that contain objects of interest. Lossy compression may only retain relevant details of an image. In some embodiments, lossy compression may reduce some information content at the cellular level that may be useful for analysis. In some embodiments, the degree of loss may be inversely proportional to the number or complexity of parameters and transformations stored inthe compression. In some embodiments, lossy compression may provide a higher fidelity image than the original image because the reconstructed model exceeds the fidelity of the actual image. For example, if the Golgi apparatus was barely identified in an image of a cell, but the outline and some striations were barely discernible in the original image, since the Golgi apparatus has been imaged at much higher resolution, the reconstructed, parameterized model of the Golgi could exceed the fidelity of the original image. Another example could be an image from a selfdriving car, in which a camera takes an image of the scene in front of it and a small number of pixels identify a distant red blur raised slightly off the road. Segmentation and or panoptic segmentation could identify this as a stop sign and replace and reconstruct those pixels in the image with a “perfect” known model of a stop sign - this method can therefore provide both a lossy compression and higher fidelity reconstruction. As discussed elsewhere herein, compression of images of cells may include storing an image of a representative cell and transformations of the representative cell. When a greater number of transformations are stored for each of the other cells of the original image, a higher fidelity representation of the original image may be reconstructed. In some embodiments, only certain aspects of the objects of interest of the original image may be of experimental value. In these instances, the compression may only comprise relevant information for a specific experimental goal.
[0067] In some embodiments, the lossy compression of images using the techniques discussed herein may retain about 5%, about 10%, about 15%, about 20%, about 25%, about 30%, about 35%, about 40%, about 45%, about 50%, about 55%, about 60%, about 65%, about 70%, about 75%, about 80%, about 85%, about 90%, about 95%, about 99%, or more of the data of the original image.
[0068] In some embodiments, the number of unique classes of objects of interest (e.g., cell types, microbe species) may be about 1, about 2, about 3, about 4, about 5, about 6, about 7, about 8, about 9, about 10, about 15, about 20, about 25, about 30, about 35, about 40, about 45, about 50, or more.
[0069] In some embodiments, a size of a functional compression may be about 0.001% to about 50% of a size of an image. In some embodiments, a size of a functional compression may be about 0.001%to about 0.01%, about 0.001%to about 0.1%, about 0.001% to about 1% , about 0.001% to about2%, about 0.001%to about 3%, about 0.001% to about 4%, about 0.001% to about 5%, about 0.001% to about 6%, about 0.001% to about 7%, about 0.001% to about 8%, about 0.001% to about 9%, about 0.001% to about 10%, about 0.001% to about 20%, about 0.001% to about 30%, about 0.001% to about 40%, about 0.001% to about 50%, about 0.01% to about 0.1%, about 0.01% to about 1%, about 0.01% to about 2%, about 0.01% to about 3%,about 0.01% to about 4%, about 0.01% to about 5%, about 0.01% to about 6%, about 0.01% to about 7%, about 0.01% to about 8%, about 0.01% to about 9%, about 0.01% to about 10%, about 0.01% to about 20%, about 0.01% to about 30%, about 0.01% to about 40%, about 0.01% to about 50%, about 0.1% to about 1%, about 0.1% to about 2%, about 0.1% to about 3%, about 0.1% to about 4%, about 0.1% to about 5%, about 0.1% to about 6%, about 0.1% to about 7%, about 0.1% to about 8%, about 0.1% to about 9%, about 0.1% to ab out 10%, about 0.1% to about 20%, about 0.1% to about 30%, about 0.1% to about 40%, about 0.1% to about 50%, about 1% to about 2%, about 1% to about 3%, about 1% to about 4%, about 1% to about 5%, about 1% to about 6%, about 1% to about 7%, about 1% to about 8%, about 1% to about 9%, about 1% to about 10%, about 1% to about 20%, about 1% to about 30%, about 1% to about 40%, about 1% to about 50%, about 2% to about 3%, about 2% to about 4%, about 2% to about 5%, about 2% to about 6%, about 2% to about 7%, about 2% to about 8%, about 2% to about 9%, about 2% to about 10%, about2% to about 20%, about 2% to about 30%, about 2% to about 40%, about 2% to about 50%, about 3% to about 4%, about 3% to about 5%, about 3% to about 6%, about 3% to about 7%, about 3% to about 8%, about 3% to about 9%, about 3% to about 10%, about 3% to about 20%, about 3% to about 30%, about 3% to about 40%, about 3% to about 50%, about 4% to about 5%, about 4% to about 6%, about 4% to about 7%, about 4% to about 8%, about 4% to about 9%, about 4% to about 10%, about 4% to about 20%, about 4% to about 30%, about 4% to about 40%, about 4% to about 50%, about 5% to about 6%, about 5% to about 7%, about 5% to about 8%, about 5% to about 9%, about 5% to about 10%, about 5% to about 20%, about 5% to about 30%, about 5% to about 40%, about 5% to about 50%, about 6% to about 7%, about 6% to about 8%, about 6% to about 9%, about 6% to about 10%, about 6% to about 20%, about 6% to about 30%, about 6% to about 40%, about 6% to about 50%, about 7% to about 8%, about 7% to about 9%, about 7% to about 10%, about 7% to about 20%, about 7% to about 30%, about 7% to about 40%, about 7% to about 50%, about 8% to about 9%, about 8% to about 10%, about 8% to about 20%, about 8% to about 30%, about 8% to about 40%, about 8% to about 50%, about 9% to about 10%, about 9% to about 20%, about 9% to about 30%, about 9% to about40%, about 9% to about 50%, about 10% to about 20%, about 10% to about 30%, about 10% to about 40%, about 10% to about 50%, about20% to about 30%, about 20% to about 40%, about 20% to about 50%, about 30% to about 40%, about 30% to about 50%, about 40% to about 50% of a size of an image. In some embodiments, a size of a functional compression may be atmost about O.001%, 0.01%, 0.1%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 20%, 30%, 40%, 50%, or less of a size of an image.
[0070] In some embodiments, the number objects of interest in an image may be about 10, about 20, about 30, about 40, about 50, about 60, about 70, about 80, about 90, about 100, about 200,about 300, about 400, about 500, about 600, about 700, about 800, about 900, about 1,000, about 2,000, about 3,000, about 4,000, about 5,000, about 6,000, about 7,000, about 8,000, about 9,000, about 10,000, about 20,000, about 30,000, about 40,000, about 50,000, about 60,000, about 70,000, about 80,000, about 90,000, about 100,000, about 200,000, about 300,000, about 400,000, about 500,000, about 600,000, about 700,000, about 800,000, about 900,000, about 1,000,000, about 2,000,000, about 3,000,000, about 4,000,000, about 5,000,000, about 6,000,000, about 7,000,000, about 8,000,000, about 9,000,000, about 10,000,000, about 20,000,000, about 30,000,000, about 40,000,000, about 50,000,000, about 60,000,000, about 70,000,000, about 80,000,000, about 90,000,000, about 100,000,000, about 200,000,000, about 300,000,000, about 400,000,000, about 500,000,000, about 600,000,000, about 700,000,000, about 800,000,000, about 900,000,000, about 1,000,000,000, or more.
[0071] In some embodiments, the platforms, systems, media, and methods disclosed herein may be applied to file sizes of up to about 10 MB, about 20 MB, about 30 MB, about 40 MB, about 50 MB, about 60 MB, about 70 MB, about 80 MB, about 90 MB, about 100 MB, about 200MB, about 300 MB, about 400 MB, about 500 MB, about 600 MB, about 700 MB, about 800 MB, about 900 MB, 1 about GB, 10 about GB, about 20 GB, about 30 GB, about 40 GB, about 50 GB, about 60 GB, about 70 GB, about 80 GB, about 90 GB, about 100 GB, about 200 GB, about 300 GB, about400 GB, about 500 GB, about 600 GB, about 700 GB, about 800 GB, about 900 GB, about 1 TB, about 10 TB, about20 TB, about 30 TB, about 40 TB, about 50 TB, about 60 TB, about 70 TB, about 80 TB, about 90 TB, about 100 TB or more. In some embodiments, the file may comprise multiple images (e.g., frames of a video). In some embodiments, the multiple images may comprise about 1, about 10, about 100, about 1,000, about 10,000, about 100,000, about 1,000,000, about 10,000,000 or more images.
[0072] The compressed version of an image resultant from the platforms, systems, media, and methods disclosed herein maybe subject to one or more post-compression operations. An image may be decompressed (or reconstructed). In some embodiments, the decompression may comprise performing for each cell subjected to the compression one or more transformation of a representative cell stored in the compression. On a single cell level, decompression may comprise transforming a copy of the representative cell (e.g., the image data of a cell which was stored in its entirety with the compression) into another cell that was stored in the compression and represented by parameters or transformations necessary to convert the representative cell into the other cell. For example, a rotation, a scaling, and a pixel intensity shift (e.g., pixel lightening or darkening) may be applied to the representative cell to obtain a reconstruction of another cell of the image from which the compression was generated. Additionally, toreconstruct positional information of the original image, a centroid of the other cell may be repositioned (e.g., translated) on a reconstructed plane corresponding to the plane of the original image. In some embodiments, the only image data contained in the reconstructed image is that of the cells (or other object of interest). In some embodiments, all information of the original image is retained such that a lossless reconstruction of the original image results from decompression. In some embodiments, the residual difference between images may be retained. For example, in a series of images of a system (e.g., during cell growth and proliferation), a small number of pixels may change between each image of the series. As such, the compression techniques disclosed herein may prioritize the storage of the residual difference (e.g., pixel by pixel) between images or portions of images (e.g., the cells themselves or portions of the cells). As such, a sequence of images may be reconstructed based on their differences (e.g., apply transformations to first image to obtain second image) rather than storing redundant information in a second or later image each time. In some embodiments, the residual difference may be cell to cell within one image. For example, the residual difference between a first cell and second cell may be determined, the second cell and a third cell, the third cell and a fourth cell, etc., and the differences stored. In some embodiments, the residual differences may be stored in addition to transformation values. In some embodiments, more than one cell may be used as a representative cell. For example, if cells have two major phenotypes or states, e.g. - an immature state and a mature state, both cells may be stored as a representative cell and other cells may be transformed along a spectrum between one representative cell and another. For example, a cell might be stored as 0.4 or 40% of the way along the transition for immature cell to mature cell as well as applying other transformations like size, shape and optionally storing the pixel by pixel residual differences. This spectrum encoding can also be applied to three or more cells or variants to encode cell types.
[0073] In some embodiments, the compression may be applied directly to one or more data analysis algorithms. In some embodiments, the data analysis algorithm may be a machine learning algorithm. In some embodiments, the machine learning algorithm may be one or more of a deep learning or non-deep learning algorithm. In some embodiments, the compression may comprise one or more parameters that may comprise features necessary for training a machine learning algorithm. In some embodiments, the features may be associated with one or more labels and used to train a supervised machine learning algorithm. In some embodiments, the features may be used to train an unsupervised machine learning algorithm. In some embodiments, the objects (e.g., cells) may be contained in multiple images. The multiple images may be images of the same experimental system overtime. In the case of multiple images of the same system, the compressed versions of the images may be analyzed directly to obtain one ormore metrics and their evolutions or changes overtime. In some embodiments, the compressed versions of the images may be used to obtain one or more metrics describing aggregate statistics (e.g., cell counts for proliferating or dying cells). In practice, the quantity of data obtained for a large, temporally evolving experimenting system may be challenging to study without a compression of the initial data. In some embodiments, the platforms, systems, media, and methods render such systems easier and less costly to study.
[0074] In some embodiments, the compression techniques disclosed herein may enable large- scale visual assays of biological systems. In some embodiments, these assays may evaluate one or more phenotypic expressions of cells over time. These assays may be useful in optical pooled screening of biological systems. For example, the large-scale visual screening of the phenotypic expression of biological systems may provide a means to evaluate the influence of a genetic alteration on the phenotype of a cell type. In some embodiments, these expressions may be time dependent and require multiple images of a system. For example, a fluorescent tag may only be activated upon a change in gene expression which may be temporally dependent.Latent Representations
[0075] The functional compression techniques disclosed herein may leverage machine learning encoder, decoder, or encoder-decoder architectures or foundational models. Machine learning encoding may comprise the training of a machine learning algorithm to learn a lower dimensional latent representation of an image. In some embodiments, the machine learning algorithm may be a neural network (e.g., FCN, CNN). The size of a learned latent representation of an input image subject to an encoder may depend on a degree of dimensionality reduction of the encoder. For example, a higher dimensional latent representation of an input image may be learned for near lossless or relatively less lossy compression. Alternatively, a lower dimensional latent representation of an input may be learned for relatively more lossy compressions at the benefit of greater data compression. The complexity of a latent representation may be selected for a specific task. For example, lower dimensionality latent representations may be desired for the most extreme input sizes (e.g., hundreds of TB). In another example, higher dimensionality latent representations may be desired where lossless image reconstructions are desired.
[0076] In some embodiments, an encoder model may be used to parameterize a cell and store any corrections (e.g., lossless) or a limited amount of corrections (e.g., lossy) of the cell. The corrections may be in comparison to a model cell or cells or representative cell or cells as disclosed herein. In this way, both explicit (e.g., pre-selected) and implicit (e.g., latent representation) features of an image may be represented in a functional compression. In some embodiments, features may comprise parameters as disclosed herein or learned features that mayor may not correspond to parameters as disclosed herein. For example, the features contained in a latent representation of an image may be combinations of low level features (e.g., horizontal lines, vertical lines) that are learned to represent important features (e.g., as determined by the encoder during training) of an image. For example, in an encoder trained with the intention of use for lossless or near lossless compression, background features of an image (e.g., non-cell, fixed structures) maybe considered important by an encoder trained to produce a high fidelity decoding of a latent representation.
[0077] In some embodiments, the latent representation may be used as input into a machine learning model for parameter extraction. In an illustrative compression, some parameters may be calculated explicitly (e.g., directly, pre-selected) from a segmented object (e.g., width, height, pixel intensities, etc.) while other variables may be calculated or derived using a model (e.g., machine learning classifier or regressor) trained on one or both of the explicitly calculated parameters or the latent representation. In some embodiments, a foundational model may be used and trained with some parameters calculated or given to the model explicitly.
[0078] Latent representations may be used in combination with pre-selected parameters extracted from objects of an image. For example, parameters of one or more objects of interest may be extracted explicitly in an implementation of the functional compression disclosed herein. In this example, the learned latent representation may be used for the extraction of non-pre- selected parameters or, in addition or separately, to generate a latent representation of the preselected parameters themselves. This may be valuable for the reconstruction of aspects of an image that are of less direct interest to data analysis (e.g., background, fixed structures, or nonobject of interest data). Additionally, or alternatively, the latent representation may be used for data analysis. Latent representations output by a trained encoder or foundational model of an input are generally feature rich vectorized representations of an input. As such, they may be applied to secondary machine learning algorithms trained to determine another metric of interest. The extraction of pre-selected parameters in combination with a latent representation may provide particular utility in producing highly compressed images (e.g., 1 / 10, 1 / 100, 1 / 1000, 1 / 10000 of original size) with mixed representation (e.g., latent and parameterized) amenable to both direct (e.g., in compressed form) parameter-based or latent representation-based analysis or for high fidelity reconstruction.
[0079] In some embodiments, a latent representation may be decoded by trained decoder model (e.g., FCN, CNN). The trained decoder model may use one or both of the latent representation or the parameterized representation to reconstruct an image. In some embodiments, the fidelity of the reconstructed image to the original image may be dependent on a complexity ordimensionality of one or both of the latent or parameterized representations. In some embodiments, the fidelity of the reconstructed image may be dependent on the complexity or architecture of the decoder model. For example, a deeper or wider decoder model may provide higher fidelity reconstructions than a narrow or shallow decoder model. In some cases, the decoder may increase the fidelity of the reconstruction through de-noising or interpolation or by identification and fitting of known pretrained models or objects.
[0080] In some embodiments, the encoder is trained separately. In some embodiments, the decoder is trained separately. In some embodiments, the encoder and decoder are trained end-to- end together. In some embodiments, an encoder-decoder is a variational autoencoder. In some embodiments, an encoder, decoder, or encoder-decoder are trained using supervised learning, unsupervised learning, semi-supervised learning, or self-supervised learning. In some embodiments, an encoder, decoder, or encoder-decoder are trained on a foundation or pretrained machine learning model and fine-tuned for the compression techniques disclosed herein.Illustrative Computer Implementations
[0081] Referring to FIG. 5, a block diagram is shown depicting a representative machine that includes a computer system 500 (e.g., a processing or computing system, computing device 105) within which a set of instructions can execute for causing a device to perform or execute any one or more of the aspects or methodologies for static code scheduling of the present disclosure. The components in FIG. 5 are examples only and do not limit the scope of use or functionality of any hardware, software, embedded logic component, or a combination of two or more such components implementing particular embodiments.
[0082] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly on computer system 500, in a software module executed by one or more processor(s), or in a combination of the two. In some embodiments, the computing system 100 may be in communication with the computer system 500 (e.g., via network 530) or be otherwise incorporated into computer system 500.
[0083] In some embodiments, the functional compression and decompression may comprise a stand-alone application, a web application, an add-in to another application, a part of a database, a part of a file storage and retrieval system, an embedded application, incorporated as part of an embedded application (e.g. in a FPGA or ASIC), a part of an image storage and retrieval systems, a mobile application or part of a mobile application or other incorporations.
[0084] Computer system 500 may include one or more processors 501, a memory 503, and a storage 508 that communicate with each other, and with other components, via a bus 540. Thebus 540 may also link a display 532, one or more input devices 533 (which may, for example, include a keypad, a keyboard, a mouse, a stylus, etc.), one or more output devices 534, one or more storage devices 535, and various tangible storage media 536. All of these elements may interface directly or via one or more interfaces or adaptors to the bus 540. For instance, the various tangible storage media 536 can interface with the bus 540 via storage medium interface 526. Computer system 500 may have any suitable physical form, including but not limited to one or more integrated circuits (ICs), printed circuit boards (PCBs), mobile handheld devices (such as mobile telephones or PDAs), laptop or notebook computers, distributed computer systems, computing grids, or servers.
[0085] Computer system 500 includes one or more processor(s) 501 (e.g., central processing units (CPUs), general purpose graphics processing units (GPGPUs), or quantum processing units (QPUs)) that carry out functions. Processor(s) 501 optionally contains a cache memory unit 502 for temporary local storage of instructions, data, or computer addresses. Processor(s) 501 are configured to assist in execution of computer readable instructions. Computer system 500 may provide functionality for the components depicted in FIG. 5 as a result of the processor(s) 501 executing non -transitory, processor-executable instructions embodied in one or more tangible computer-readable storage media, such as memory 503, storage 508, storage devices 535, or storage medium 536. The computer-readable media may store software that implements particular embodiments, and processor(s) 501 may execute the software. Memory 503 may read the software from one or more other computer-readable media (such as mass storage device(s) 535, 536) or from one or more other sources through a suitable interface, such as network interface 520. The software may cause processor(s) 501 to carry out one or more processes or one or more steps of one or more processes described or illustrated herein. Carrying out such processes or steps may include defining data structures stored in memory 503 and modifying the data structures as directed by the software.
[0086] The memory 503 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component (e.g., RAM 504) (e.g., static RAM (SRAM), dynamic RAM (DRAM), ferroelectric random access memory (FRAM), phase - change random access memory (PRAM), etc.), a read-only memory component (e.g., ROM 505), and any combinations thereof. ROM 505 may act to communicate data and instructions unidirectionally to processor(s) 501, and RAM 504 may act to communicate data and instructions bidirectionally with processor(s) 501. ROM 505 and RAM 504 may include any suitable tangible computer-readable media described below. In one example, a basic input / output system 506 (BIOS), including basic routines that help to transfer informationbetween elements within computer system 500, such as during start-up, may be stored in the memory 503.
[0087] Fixed storage 508 is connected bidirectionally to processor(s) 501, optionally through storage control unit 507. Fixed storage 508 provides additional data storage capacity and may also include any suitable tangible computer-readable media described herein. Storage 508 may be used to store operating system 509, executable(s) 510, data 511, applications 512 (application programs), and the like. Storage 508 can also include an optical disk drive, a solid -state memory device (e.g., flash-based systems), or a combination of any of the above. Information in storage 508 may, in appropriate cases, be incorporated as virtual memory in memory 503.
[0088] In one example, storage device(s) 535 may be removably interfaced with computer system 500 (e.g., via an external port connector (not shown)) via a storage device interface 525. Particularly, storage device(s) 535 and an associated machine-readable medium may provide non-volatile or volatile storage of machine-readable instructions, data structures, program modules, or other data for the computer system 500. In one example, software may reside, completely or partially, within a machine-readable medium on storage device(s) 535. In another example, software may reside, completely or partially, within processor(s) 501.
[0089] Bus 540 connects a wide variety of subsystems. Herein, reference to a bus may encompass one or more digital signal lines serving a common function, where appropriate. Bus 540 may be any of several types of bus structures including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combinations thereof, using any of a variety of bus architectures. As an example and not by way of limitation, such architectures include an Industry Standard Architecture (ISA) bus, an Enhanced ISA (EISA) bus, a Micro Channel Architecture (MCA) bus, a Video Electronics Standards Association local bus (VLB), a Peripheral Component Interconnect (PCI) bus, a PCI -Express (PCLX) bus, an Accelerated Graphics Port (AGP) bus, HyperTransport (HTX) bus, serial advanced technology attachment (SATA) bus, and any combinations thereof.
[0090] Computer system 500 may also include an input device 533. In one example, a user of computer system 500 may enter commands or other information into computer system 500 via input device(s) 533. Examples of an input device(s) 533 include, but are not limited to, an alphanumeric input device (e.g., a keyboard), a pointing device (e.g., a mouse or touchpad), a touchpad, a touch screen, a multi-touch screen, a joystick, a stylus, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), an optical scanner, a video or still image capture device (e.g., a camera), multiple image capture devices and any combinations thereof. In some embodiments, the input device is a Kinect, Leap Motion, or the like. Inputdevice(s) 533 may be interfaced to bus 540 via any of a variety of input interfaces 523 (e.g., input interface 523) including, but not limited to, serial, parallel, game port, USB, FIREWIRE, THUNDERBOLT, or any combination of the above.
[0091] In particular embodiments, when computer system 500 is connected to network 530, computer system 500 may communicate with other devices, specifically mobile devices and enterprise systems, distributed computing systems, cloud storage systems, cloud computing systems, and the like, connected to network 530. Communications to and from computer system 500 may be sent through network interface 520. For example, network interface 520 may receive incoming communications (such as requests or responses from other devices) in the form of one or more packets (such as Internet Protocol (IP) packets) from network 530, and computer system 500 may store the incoming communications in memory 503 for processing. Computer system 500 may similarly store outgoing communications (such as requests or responses to other devices) in the form of one or more packets in memory 503 and communicated to network 530 from network interface 520. Processor(s) 501 may access these communication packets stored in memory 503 for processing.
[0092] Examples of the network interface 520 include, but are not limited to, a network interface card, a modem, and any combination thereof. Examples of a network 530 or network segment 530 include, but are not limited to, a distributed computing system, a cloud computing system, a wide area network (WAN) (e.g., the Internet, an enterprise network), a local area network (LAN) (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a direct connection between two computing devices, a peer-to-peer network, and any combinations thereof. A network, such as network 530, may employ a wired or a wireless mode of communication. In general, any network topology may be used.
[0093] Information and data can be displayed through a display 532. Examples of a display 532 include, but are not limited to, a cathode ray tube (CRT), a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT-LCD), an organic liquid crystal display (OLED) such as a passive-matrix OLED (PMOLED) or active-matrix OLED (AMOLED) display, a plasma display, and any combinations thereof. The display 532 can interface to the processor(s) 501, memory 503, and fixed storage 508, as well as other devices, such as input device(s) 533, via the bus 540. The display 532 is linked to the bus 540 via a video interface 522, and transport of data between the display 532 and the bus 540 can be controlled via the graphics control 521. In some embodiments, the display is a video projector. In some embodiments, the display is a head- mounted display (HMD) such as a VR headset. In further embodiments, suitable VR headsetsinclude, by way of examples, HTC Vive, OculusRift, Samsung Gear VR, Microsoft HoloLens, Razer OSVR, FOVE VR, Zeiss VR One, Avegant Glyph, Freefly VR headset, and the like. In still further embodiments, the display is a combination of devices such as those disclosed herein.
[0094] In addition to a display 532, computer system 500 may include one or more other peripheral output devices 534 including, but not limited to, an audio speaker, a printer, a storage device, and any combinations thereof. Such peripheral output devices may be connected to the bus 540 via an output interface 524. Examples of an output interface 524 include, but are not limited to, a serial port, a parallel connection, a USB port, a FIREWIRE port, a THUNDERBOLT port, and any combinations thereof.
[0095] In addition or as an alternative, computer system 500 may provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which may operate in place of or together with software to execute one or more processes or one or more steps of one or more processes described or illustrated herein. Reference to software in this disclosure may encompass logic, and reference to logic may encompass software. Moreover, reference to a computer-readable medium may encompass a circuit (such as an IC, a FPGA, an ASIC or the like) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware, software, or both.
[0096] Those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
[0097] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0098] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by one or more processor(s), or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0099] In accordance with the description herein, suitable computing devices include, by way of examples, server computers, desktop computers, laptop computers, notebook computers, sub - notebook computers, netbook computers, netpad computers, set -top computers, media streaming devices, handheld computers, Internet appliances, mobile smartphones, tablet computers, personal digital assistants, video game consoles, and vehicles. Those of skill in the art will also recognize that select televisions, video players, and digital music players with optional computer network connectivity are suitable for use in the system described herein. Suitable tablet computers, in various embodiments, include those with booklet, slate, and convertible configurations, known to those of skill in the art.
[0100] In some embodiments, the computing device includes an operating system configured to perform executable instructions. The operating system is, for example, software, including programs and data, which manages the device’s hardware and provides services for execution of applications. Those of skill in the art will recognize that suitable server operating systems include, by way of examples, FreeBSD, OpenBSD, NetBSD®, Linux, Apple® Mac OS X Server®, Oracle® Solaris®, Windows Server®, and Novell® NetWare®. Those of skill in the art will recognize that suitable personal computer operating systems include, by way of examples, Microsoft® Windows®, Apple® Mac OS X®, UNIX®, and UNIX-like operating systems such as GNU / Linux®. In some embodiments, the operating system is provided by cloud computing. Those of skill in the art will also recognize that suitable mobile smartphone operating systems include, by way of examples, Nokia® Symbian® OS, Apple® iOS®, Research In Motion® BlackBerry OS®, Google® Android®, Microsoft® Windows Phone® OS, Microsoft® Windows Mobile® OS, Linux®, and Palm® WebOS®. Those of skill in the art will also recognize thatsuitable media streaming device operating systems include, by way of examples, Apple TV®, Roku®, Boxee®, Google TV®, Google Chromecast®, Amazon Fire®, and Samsung® HomeSync®. Those of skill in the art will also recognize that suitable video game console operating systems include, by way of examples, Sony® PS3®, Sony® PS4®, Sony® PS5®, Microsoft® Xbox 360®, Microsoft® Xbox One, Microsoft® Xbox Series X, Microsoft® Xbox Series S, Nintendo® Wii®, Nintendo® Wii U®, Nintendo® Switch™, and Ouya®. Those of skill in the art will also recognize the applicability to self -driving car software and hardware, eg in Tesla, Google and other self-driving car applications.
[0101] Another aspect of the disclosure herein describes a non -transitory, computer-readable medium comprising executable instructions, wherein when a processor, when executing the executable instructions, performs a method as described herein.Web application
[0102] In some embodiments, a computer program includes a web application. In light of the disclosure provided herein, those of skill in the art will recognize that a web application, in various embodiments, utilizes one or more software frameworks and one or more database systems. In some embodiments, a web application is created upon a software framework such as Microsoft® .NET or Ruby on Rails (RoR). In some embodiments, a web application utilizes one or more database systems including, by way of examples, relational, non-relational, object oriented, associative, XML, and document oriented database systems. In further embodiments, suitable relational database systems include, by way of examples, Microsoft® SQL Server, mySQL™, and Oracle®. A database may also comprise key-value stores such as lightning memory -mapped database (LMDB), Berkeley DB, and DBM. Those of skill in the art will also recognize that a web application, in various embodiments, is written in one or more versions of one or more languages. A web application may be written in one or more markup languages, presentation definition languages, client-side scripting languages, server-side coding languages, database query languages, or combinations thereof. In some embodiments, a web application is written to some extent in a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or extensible Markup Language (XML). In some embodiments, a web application is written to some extent in a presentation definition language such as Cascading Style Sheets (CSS). In some embodiments, a web application is written to some extent in a client-side scripting language such as Asynchronous JavaScript and XML (AJAX), Flash® ActionScript, JavaScript, or Silverlight®. In some embodiments, a web application is written to some extent in a server-side coding language such as Active Server Pages (ASP), ColdFusion®, Perl, Java™, JavaServer Pages (JSP), Hypertext Preprocessor(PHP), Python™, Ruby, Tel, Smalltalk, WebDNA®, or Groovy. In some embodiments, a web application is written to some extent in a database query language such as Structured Query Language (SQL). In some embodiments, a web application integrates enterprise server products such as IBM® Lotus Domino®. In some embodiments, a web application includes a media player element. In various further embodiments, a media player element utilizes one or more of many suitable multimedia technologies including, by way of examples, Adobe® Flash®, HTML 5, Apple® QuickTime®, Microsoft® Silverlight®, Java™, and Unity®.
[0103] Referring to FIG. 6, in a particular embodiment, an application provision system comprises one or more databases 600 accessed by a relational database management system (RDBMS) 610. Suitable RDBMSs include Firebird, MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, IBMDB2, IBM Informix, SAP Sybase, Teradata, and the like. In this embodiment, the application provision system further comprises one or more application severs 620 (such as Java servers, .NET servers, PHP servers, and the like) and one or more web servers 630 (such as Apache, IIS, GWS and the like). The web server(s) optionally expose one or more web services via app application programming interfaces (APIs) 640. Via a network, such as the Internet, the system provides browser-based or mobile native user interfaces.
[0104] Referring to FIG. 7, in a particular embodiment, an application provision system alternatively has a distributed, cloud-based architecture 700 and comprises elastically load balanced, auto-scaling web server resources 710 and application server resources 720 as well synchronously replicated databases 730.Mobile application
[0105] In some embodiments, a computer program includes a mobile application provided to a mobile computing device. In some embodiments, the mobile application is provided to a mobile computing device at the time it is manufactured. In other embodiments, the mobile application is provided to a mobile computing device via the computer network described herein.
[0106] In view of the disclosure provided herein, a mobile application is created by techniques known to those of skill in the art using hardware, languages, and development environments known to the art. Those of skill in the art will recognize that mobile applications are written in several languages. Suitable programming languages include, by way of examples, C, C++, C#, Objective-C, Java™, JavaScript, Pascal, Object Pascal, Python™, Ruby, Rust, Go, Rails, VB.NET, WML, and XHTML / HTML with or without CSS, or combinations thereof.
[0107] Suitable mobile application development environments are available from several sources. Commercially available development environments include, by way of examples,AirplaySDK, alcheMo, Appcelerator®, Celsius, Bedrock, Flash Lite, .NET Compact Framework, Rhomobile, and WorkLight Mobile Platform. Other development environments are available without cost including, by way of examples, Lazarus, MobiFlex,MoSync, and Phonegap. Also, mobile device manufacturers distribute software developer kits including, by way of examples, iPhone and iPad (iOS) SDK, Android™ SDK, BlackBerry® SDK, BREW SDK, Palm® OS SDK, Symbian SDK, webOS SDK, and Windows® Mobile SDK.
[0108] Those of skill in the art will recognize that several commercial forums are available for distribution of mobile applications including, by way of examples, Apple® App Store, Google® Play, Chrome WebStore, BlackBerry® App World, App Store for Palm devices, App Catalog for webOS, Windows® Marketplace for Mobile, Ovi Store for Nokia® devices, Samsung® Apps, and Nintendo® DSi Shop.Standalone application
[0109] In some embodiments, a computer program includes a standalone application, which is a program that is run as an independent computer process, not an add-on to an existing process, e.g., not a plug-in. Those of skill in the art will recognize that standalone applications are often compiled. A compiler is a computer program(s) that transforms source code written in a programming language into binary object code such as assembly language or machine code. Suitable compiled programming languages include, by way of examples, C, C++, Objective-C, C#, COBOL, Delphi, Eiffel, Java™, Lisp, Python™, Rust, Go, Visual Basic, and VB .NET, or combinations thereof. Compilation is often performed, at least in part, to create an executable program. In some embodiments, a computer program includes one or more executable compiled applications.Web browser plug-in
[0110] In some embodiments, the computer program includes a web browser plug-in (e.g., extension, etc.). In computing, a plug-in is one or more software components that add specific functionality to a larger software application. Makers of software applications support plug-ins to enable third-party developers to create abilities which extend an application, to support easily adding new features, and to reduce the size of an application. When supported, plug-ins enable customizing the functionality of a software application. For example, plug-ins are commonly used in web browsers to play video, generate interactivity, scan for viruses, and display particular file types. Those of skill in the art will be familiar with several web browser plug-ins including, Adobe® Flash® Player, Microsoft® Silverlight®, and Apple® QuickTime®. In some embodiments, the toolbar comprises one or more web browser extensions, add-ins, or add-ons.In some embodiments, the toolbar comprises one or more explorer bars, tool bands, or desk bands.
[0111] In view of the disclosure provided herein, those of skill in the art will recognize that several plug-in frameworks are available that enable development of plug-ins in various programming languages, including, by way of examples, C++, Delphi, Java™, PHP, Python™, and VB .NET, or combinations thereof.
[0112] Web browsers (also called Internet browsers) are software applications, designed for use with network-connected computing devices, for retrieving, presenting, and traversing information resources on the World Wide Web. Suitable web browsers include, by way of examples, Microsoft® Internet Explorer®, Mozilla® Firefox®, Google® Chrome, Apple® Safari®, Opera Software® Opera®, and KDE Konqueror. In some embodiments, the web browser is a mobile web browser. Mobile web browsers (also called microbrowsers, mini -browsers, and wireless browsers) are designed for use on mobile computing devices including, by way of examples, handheld computers, tablet computers, netbook computers, subnotebook computers, smartphones, music players, personal digital assistants (PDAs), and handheld video game systems. Suitable mobile web browsers include, by way of examples, Google® Android® browser, RIM BlackBerry® Browser, Apple® Safari®, Palm® Blazer, Palm® WebOS® Browser, Mozilla® Firefox® for mobile, Microsoft® Internet Explorer® Mobile, Amazon® Kindle® Basic Web, Nokia® Browser, Opera Software® Opera® Mobile, and Sony® PSP™ browser.Software modules
[0113] In some embodiments, the platforms, systems, media, and methods disclosed herein include software, server, or database modules, or use of the same. In view of the disclosure provided herein, software modules are created by techniques known to those of skill in the art using machines, software, and languages known to the art. The software modules disclosed herein are implemented in a multitude of ways. In various embodiments, a software module comprises a file, a section of code, a programming object, a programming structure, a distributed computing resource, a cloud computing resource, or combinations thereof. In further various embodiments, a software module comprises a plurality of files, a plurality of sections of code, a plurality of programming objects, a plurality of programming structures, a plurality of distributed computing resources, a plurality of cloud computing resources, or combinations thereof. In various embodiments, the one or more software modules comprise, by way of examples, a web application, a mobile application, a standalone application, and a distributed or cloud computing application. In some embodiments, software modules are in one computer program or application. In other embodiments, software modules are in more than one computerprogram or application. In some embodiments, software modules are hosted on one machine. In other embodiments, software modules are hosted on more than one machine. In further embodiments, software modules are hosted on a distributed computing platform such as a cloud computing platform. In some embodiments, software modules are hosted on one or more machines in one location. In other embodiments, software modules are hosted on one or more machines in more than one location.Databases
[0114] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more databases, or use of the same. In view of the disclosure provided herein, those of skill in the art will recognize that many databases are suitable for storage and retrieval of an image of a plurality of cells or a compression of said image, or any combination thereof. In various embodiments, suitable databases include, by way of examples, relational databases, nonrelational databases, object oriented databases, object databases, entity -relationship model databases, associative databases, XML databases, document oriented databases, and graph databases. Further examples include SQL, PostgreSQL, MySQL, Oracle, DB2, Sybase, LMDB, and MongoDB. In some embodiments, a database is Internet-based. In further embodiments, a database is web-based. In still further embodiments, a database is cloud computing-based. In a particular embodiment, a database is a distributed database. In other embodiments, a database is based on one or more local computer storage devices.Data transmission
[0115] The subject matter described herein, including methods and systems as described herein and may be configured to be performed in one or more facilities at one or more locations . Facility locations are not limited by country and include any country or territory. In some instances, one or more steps are performed in a different country than another step of the method. In some embodiments, one or more method steps involving a computer system are performed in a different country than another step of the methods provided herein. In some embodiments, data processing and storage are performed in a different country or location than one or more steps of the methods described herein. In some embodiments, one or more products or data are transferred from one or more of the facilities to one or more different facilities for analysis or further analysis. Data includes, but is not limited to, information regarding the stratification of a subject, and any data produced by the methods disclosed herein. In some embodiments of the methods and systems described herein, the subject information is compiled, and a subsequent data transmission step will transmit or store the subject information. It is noted here that in some embodiments, the amount of data transfer can be reduced significantly or evenencoded in a fashion that may be hard to decipher if intercepted. For example, if transformation values, representative cells, and latent space encodings are shared between sender and receiver, but no mechanism for decoding (e.g., decoder, software function, mathematical function) is shared during data transmission, then at least two benefits are conferred. . For the first of the at least two benefits, the amount of data transmitted is reduced as the model and encoding may not be transmitted. Without sharing all details and mechanisms for decompression or compression and only the transformation-value based functional compressions themselves, the data transmission savings for this can be large. This may be especially true if a large number of models or representatives are utilized in the complete model during compression. Secondly, the contents of the image are not able to be reconstructed if intercepted unless the interceptor also has the representative models and decoding functions. Accordingly, the techniques disclosed herein may provide particular utility in data security.
[0116] In some embodiments, any step of any method described herein is performed by a software program or module on a computer. In additional or further embodiments, data from any step of any method described herein is transferred to and from facilities located within the same or different countries, including analysis performed in one facility in a particular location and the data shipped to another location or directly to an individual in the same or a different country. In additional or further embodiments, data from any step of any method described herein is transferred to or received from a facility located within the same or different countries, including analysis of a data input, such as queries, objects, properties, types, filters, tables, or any combination thereof, performed in one facility in a particular location and corresponding data transmitted to another location.
[0117] Although certain embodiments and examples are disclosed herein, inventive subject matter extends beyond the specifically disclosed embodiments to other alternative embodiments, uses, and to modifications and equivalents thereof. Thus, the scope of the claims appended hereto is not limited by any of the particular embodiments described herein. For example, in any method or process disclosed herein, the acts or operations of the method or process may be performed in any suitable sequence and are not necessarily limited to any particular disclosed sequence. Various operations may be described as multiple discrete operations in turn, in a manner that may be helpful in understanding certain embodiments, however, the order of description should not be construed to imply that these operations are order dependent. Additionally, the structures, systems, devices, methods, or combinations thereof described herein may be embodied as integrated components or as separate components.DEFINITIONS
[0118] Unless defined otherwise, all terms of art, notations and other technical and scientific terms or terminology used herein are intended to have the same meaning as is commonly understood by one of ordinary skill in the art to which the claimed subject matter pertains. In some cases, terms with commonly understood meanings are defined herein for clarity or for ready reference, and the inclusion of such definitions herein should not necessarily be construed to represent a substantial difference over what is generally understood in the art.
[0119] As used herein, the singular forms "a", "an", and "the" include plural references unless the context clearly dictates otherwise.
[0120] As used herein, the term “about,” “substantially,” or “approximately” in reference to an amount indicates that the amount can be greater or less the stated amount by 10%, 5%, or 1%, including increments therein, relative to the amount.
[0121] As used herein, the term “including increments therein” refers to the addition of values between two listed amounts in 1%, 2%, 3%, 4%, 5%, or 10% increments.
[0122] Throughout this specification and the claims which follow, unless the context requires otherwise, the word "comprise", and variations such as "comprises" and "comprising" means various components can be co jointly employed in the methods and articles (e.g. , compositions and apparatuses including device and methods). For example, the term "comprising" will be understood to imply the inclusion of any stated elements, operations, or steps but not the exclusion of any other elements or steps.EXAMPLES
[0123] The following examples are included for illustrative purposes only and are not intended to limit the scope of the inventive concepts.Example 1: Compression of Evolving Biological System
[0124] Optical pooled screening of a biological system is performed using microscopy. FIG. 8A depicts a cropped 16-bit image at time point one and FIG. 8B depicts the same system at time point two, twenty hours later. In between these two time points, fifty-eight other images are taken (one image every 20 minutes). The cropped portion represents less than 1% of the chip shown in FIG. 8 A and FIG. 8B. This screening takes place over the full area of the chip, which contains 1 million wells (45 shown in the figures). This screening results in 400 GB of image data per day in grayscale.
[0125] In the optical pooled screening, there is one unique class of cell. A segmentation algorithm segments the image and identifies the pixels corresponding to each of the cells of the image. One cell (e.g., as shown in FIG. 4) is chosen as it contains a median value of a parameter (e.g., width) taken for each cell of the image. The one cell is stored in its entirety in a compression of the image. Each of the other cells are represented by one or more transformation of their parameters such that the transformations maybe used to convert the one cell to each of the other cells. In storing this compressed representation of the image, the data stored is reduced to 1 / 1000thof its original size.Example 2: Compression Using Model Cells
[0126] A model cell of each of a neutrophil, an eosinophil, and a basophil is provided to a computer system implementing the functional compression techniques disclosed herein. Additionally, a plurality of images of a sample containing a plurality of experimental cells is provided.
[0127] For each image and each identified cell of an image, a number of pre-selected parameters are determined for use in establishing transformations of the image cells to the model cells. Each identified cell has parameters extracted including cell type, outer membrane X size, outer membrane Y size, outer membrane circularity, outer membrane pixel intensity, outer membrane thickness, cell X position, cell Y position, cell centroid, angle, size, and shape (e.g., rod-like, circular, elongated). Additionally, components of each cell (e.g., organelles) are identified and their parameters extracted. In this example, nucleus X size, Y size, X position relative to cell centroid, Y position relative to cell centroid, circularity, and DAPI intensity are determined. Further, for each mitochondria of each cell, mitochondria X size, Y size, X position relative to cell centroid, Y position relative to cell centroid, circularity, and GFP intensity are determined. Other organelles are similarly classified and stored.
[0128] The parameters extracted for each cell and each cell component are stored in a functional compression. The functional compression is analyzed directly for average mitochondria size for each type of cell. The functional compression is further directly analyzed for DAPI and GFP signal intensity. Later, the compression is decompressed using a plurality of transformations of the stored parameters to provide a reconstruction of each image for visual inspection by a researcher.Example 3: Compression of a Face
[0129] An image of a human face is provided to a computer system implementing the functional compression techniques disclosed herein. The human face is compared to a model of a human face for parameter extraction. Extracted parameters of the human face include gender, ethnicity,apparent age, face width, face height, face roundness vertical, face roundness horizontal, face centroid, nose height, nose width, noise pointedness, skin hue, skin smoothness. Additional features of the face are extracted and compressed. In this example, a plurality of moles are identified and features extracted. Mole features include X position relative to face centroid, Y position relative to face centroid, mole width, mole height, mole hue, and mole smoothness.
[0130] In addition to the pre-selected parameters, a latent representation of the face resulting from an encoder model is determined. The pre-selected and the latent representation of the face are stored as a functional compression. The segmentation and extraction of parameters may utilize a recursive panoptic segmentation technique. A scene with three human faces is first segmented panoptically . Each face is then panoptically segmented for key facial features: nose, ears, etc. and parameterized.Example 4: A Complex Driving Scene
[0131] A complex scene as may be encountered in a typical driving environment is captured. The system has several known representative models: cars, trucks, road signs, trees, humans, and buildings. The image is segmented and objects of the image are fit and transformed to the various models in the computer memory, recording at a minimum the position in space and the scaling factors. Based on known true sizes, and the fitting (the scaling amount that was required) the distances to each object can quickly be calculated and steering and guidance algorithms can use the functionally compressed image to quickly and efficiently make decisions. Functionally compressed images may be stored for later recall and for further processing.Example 5: Illustrative Encoder-Decoder Compression Model
[0132] Shown in FIGs. 9A-9C is an encoder-decoder model for functional compression and characterizations thereof. Illustrated in FIG. 9A is an encoder that takes as input an image subject to functional compression. The encoder, having a number of convolutional layers, learns a latent representation of the input image. The encoder provides a strong dimensionality reduction by generating a latent representation comprising a plurality of learned parameters from the input image. As further shown, the latent representation is readily decoded by a decoder (also having a number of convolutional layers) to arrive at a nearly identical image to the input image. In this example, the decoder is further fed a number of interpretable parameters that were extracted from the input image. Typically, these interpretable parameters will be stored as a portion of the compression alongside the latent representation. In this example, these interpretable parameters (parameters of image segments as described elsewhere herein) include length, width, and angle. In this example, use of interpretable parameters in combination with an encoder provided superior compression versus using encoders alone (e.g., as with“0 knownparameters” as shown in FIG. 9B) or interpretable parameters alone (e.g., as with “8 known parameters” as shown in FIG. 9B). In this example, providing 6 known or interpretable parameters and 2 auto-encoder parameters resulted in a latent representation that is a feature rich, compressed representation of the image that offers an approximately 1 OOx compression of the input image.
[0133] In the case where a higher fidelity reconstruction of the input image is desired, the approach shown in FIG. 9A offers a second approach to functional compression. As shown, the decompressed images can be compared to the input image to determine a residual difference between each pixel of the decompressed image and the input image. These differences can be stored and used to correct residual pixel differences above some threshold upon restoration of the input image. For example, a representative segment as described elsewhere can be adjusted based on the residual differences to arrive at a reconstruction of the subject of the input image. In some cases, each of the interpretable parameters, the latent representation, and the residual pixel differences (or a reduced representation thereof) may be stored and used for decompression. For example, a lossy compression may include the interpretable parameters and the learned parameters of the latent representation. In another example, a near loss-less compression may include the interpretable parameters and the residual pixel differences stored as an image with a lower bit-resolution along the parameter vector.
[0134] As indicated in FIG. 9A, a subset of the interpretable parameters may be compared to a subset of the learned parameters of the latent representation. This comparison provides a correlation between the interpretable parameters and the learned parameters - or a cell-likeness indicator - that can be used as a loss in training the encoder-decoder model. Additionally, the residual pixel differences described previously in this example can be used in training the encoder-decoder model. For example, the model may be trained to minimize an average residual pixel difference.
[0135] FIG. 9B shows five curves that compare compression percentage and fidelity of compression (% of pixels that are not recreated within a particular threshold of the original brightness, e.g. - a 12% fidelity would mean 12% of the image pixels were not within plus or minus 5%, for example, of the original image pixel’s intensity) for a particular example set, and all five curves are given 8 parameters to use to compress the image. The worst performing one is 0 known or interpretable parameters and 8 auto-encoded / leamed parameters, the next worst is 8 known parameters, 0 auto-encoded / learned parameters. All hybrids (some auto-encoded parameters 2, 4, or 6) and some interpretable or known parameters (6, 4 or 2 respectively) outperform these all interpretable parameters or all auto -encoded parameters scenarios.
[0136] The functional compression algorithm implementing the encoder-decoder model was tested with varying compositions of interpretable and learned parameters, with eight parameters stored in aggregate for each evaluation. As generally shown, some combination of interpretable and learned parameters provides a better compression for the same fidelity as compared with all interpretable or all auto-encoded / leamed parameters. For example, at point “a” shown in FIG. 9B, the case with 6 interpretable parameters and 2 learned parameters had fewer pixels above the threshold relative to the instance with 0 known parameters or 8 known parameters.Specifically, the combination of 6 interpretable parameters and 2 learned parameters was found to have 1 pixel above the threshold per image at a fidelity of 12%, while the instance with 8 interpretable parameters had 5 pixels above the threshold and the instance with 8 learned parameters had several hundred. Similarly, at point “b,” the case with 4 interpretable and 4 learned parameters had 5 pixels above the threshold at a fidelity of 10%, whereas the instance with 8 interpretable parameters had about 10 pixels above the threshold and the instance with 8 learned parameters had several hundred .
[0137] FIG. 9C illustrates threshold differences in pixel values. As shown, when the threshold is set at 0% (e.g., model fidelity % of 0% in FIG. 9B), almost all pixels are above the threshold. As the threshold is increased, fewer and fewer pixels are outside the threshold. This provides a handle by which the functional compression approach can be tuned as a user can balance the accuracy of decompressed images versus gains in storage.
Claims
CLAIMSWHAT IS CLAIMED IS:1 . A method for obtaining a functional compression of an image of a plurality of objects comprising: a) providing said image of said plurality of objects; b) segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises an object of said plurality of objects; c) determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said object; d) selecting a representative segment of said subset of image segments, wherein said representative segment comprises a representative value of said parameter; e) applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and f) storing at least said representative segment and said one or more transformation value to obtain said functional compression of said image of said plurality of objects.
2. The method of claim 1, wherein said plurality of objects are cells.
3. The method of claim 2, wherein said cells comprise one or more of a mammalian cell, plant cell, bacterium, or fungal cell.
4. The method of claim 1, wherein said plurality of objects are faces.
5. The method of claim 1, wherein said plurality of objects comprise a plurality of object classes.
6. The method of claim 5, wherein a clustering algorithm is used to determine said plurality of object classes.
7. The method of claim 5, wherein (b) - (f) are performed for at least a portion of said plurality of object classes.
8. The method of claim 1, wherein said plurality of objects are highly similar objects.
9. The method of claim 8, wherein a difference between two objects of said highly similar objects is from one or more of lighting, a 2D rotation, or a 3D rotation.
10. The method of claim 1, wherein said one or more transformation value are used in one or both of a mathematical or a software function to reverse said transformation.11 . The method of claim 1 , wherein said storing further comprises storing a residual pixel by pixel difference between each of said subset of image segments.
12. The method of claim 11, wherein said residual pixel by pixel difference is further compressed.
13. The method of claim 11, wherein said residual pixel by pixel difference is discarded.
14. The method of claim 1, wherein said one or more transformation comprises one or more of a rotation operation, a scaling operation, a pixel intensity shift, a pixel intensity scale operation, an affine transformation, a translation operation, or a Zernike transform operation.
15. The method of claim 1, wherein said parameter comprises an object width, an object height, an object diameter, or an object circularity.
16. The method of claim 1, wherein said parameter is a positional index.
17. The method of claim 1, further comprising one or more of: i) performing whole field of view compensation on said image, ii) removing a non-relevant pixel of said image, or iii) aligning a centroid of said image segment of said subset of said plurality of image segments to a centroid of said representative segment.
18. The method of claim 1, wherein said segmenting operation is performed by an image segmentation algorithm.
19. The method of claim 18, wherein said image segmentation algorithm comprises a computer vision algorithm.
20. The method of claim 19, wherein said computer vision algorithm comprises one or more of a watershed algorithm or a machine learning algorithm.
21. The method of claim 20, said machine learning algorithm comprises a semantic segmentation algorithm, an instance segmentation algorithm, or a panoptic segmentation algorithm.
22. The method of claim 1, wherein said segmenting said image comprises panoptic segmentation.
23. The method of claim 1 , wherein said plurality of objects comprises at least about 10,000 objects, atleast about 100,000 objects, at least about 1,000,000 objects, or at least about 100,000,000 objects.
24. The method of claim 1, wherein a size of said functional compression is at most about 1%, at most about 10%, at most about 20%, at most about 30%, at most about 40%, or at most about 50% of a size of said image.
25. The method of claim 1, wherein said functional compression is lossless.
26. The method of claim 1, wherein said functional compression is lossy.
27. The method of claim 26, wherein said lossy compression retains at least about 95% of information of said plurality of image segments.
28. The method of claim 26, wherein said lossy compression retains at least about 90% of information of said plurality of image segments.
29. The method of claim 1, further comprising applying a data analysis model to said functional compression.
30. The method of claim 29, wherein said data analysis model comprises a machine learning model or a statistical model.31 . The method of claim 29, wherein said functional compression is used as input into said data analysis model without decompressing said functional compression.
32. The method of claim 31 , wherein said input comprises one or both of said representative segment or said one or more transformation.
33. The method of claim 1, wherein said one or more transformation comprises: a) determining a translation for said image segment of said plurality of image segments, wherein said translation aligns a centroid of said image segment to a centroid of said representative segment, b) determining a rotation for said image segment of said plurality of image segments, wherein said rotation maximizes overlap between said image segment and said representative segment, and c) determining a pixel difference for said image segment of said plurality of image segments and said representative segment.
34. The method of claim 1, wherein said functional compression can be decompressed to form a reconstructed image that comprises a portion of said image that is substantially the same as one or more portion of said image comprising said plurality of objects.
35. A method for obtaining a functional compression of an image of a plurality of cells comprising: a) providing said image of said plurality of cells; b) segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises a cell of said plurality of cells;c) determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said cell; d) selecting a representative segment of said subset of image segments, wherein said representative segment comprises a representative value of said parameter; e) applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and f) storing at least said representative segment and said one or more transformation values to obtain said functional compression of said image of said plurality of cells.
36. The method of claim 35, wherein said plurality of cells are highly similar cells.
37. The method of claim 36, wherein a difference between two cells of said highly similar cells is from lighting, a 2D rotation, or a 3D rotation.
38. The method of claim 35, wherein said plurality of cells comprise one or more of a mammalian cell, plant cell, bacterium, or fungal cell.
39. The method of claim 35, wherein said plurality of cells comprise a plurality of cell classes.
40. The method of claim 39, wherein a clustering algorithm is used to determine the plurality of cell classes.41 . The method of claim 39, wherein (b) - (f) are performed for at least a portion of said plurality of cell classes.
42. The method of claim 35, wherein said one or more transformation value are used in one or both of a mathematical or a software function to reverse said transformation.
43. The method of claim 35, wherein said storing further comprises storing a residual pixel by pixel difference between each of said subset of image segments.
44. The method of claim 43, wherein said residual pixel by pixel difference is further compressed.
45. The method of claim 43, wherein said residual pixel by pixel difference is discarded.
46. The method of claim 35, wherein said one or more transformation comprises one or more of a rotation operation, a scaling operation, a pixel intensity shift, a pixel intensity scale operation, an affine transformation, a translation operation, or a Zernike transform operation.
47. The method of claim 35, wherein said parameter comprises a cell width, a cell height, a cell diameter, or a cell circularity.
48. The method of claim 35, wherein said parameter is a positional index.
49. The method of claim 35, further comprising: i) performing whole field of view compensation on said image, ii) removing a non-relevant pixel of said image, or iii) aligning a centroid of said image segment of said subset of said plurality of image segments to a centroid of said representative segment.
50. The method of claim 35, wherein said segmenting operation is performed by an image segmentation algorithm.
51. The method of claim 50, wherein said image segmentation algorithm comprises a computer vision algorithm.
52. The method of claim 51, wherein said computer vision algorithm comprises one or more of a watershed algorithm or a machine learning algorithm.
53. The method of claim 52, wherein said machine learning algorithm comprises a semantic segmentation, an instance segmentation algorithm, or a panoptic segmentation algorithm.
54. Said method, wherein said plurality of cells comprises at least about 10,000 cells, at least about 100,000 cells, at least about 1,000,000 cells, or at least about 100,000,000 cells.
55. The method of claim 35, wherein a size of said functional compression is at most about 1%, at most about 10%, at most about 20%, at most about 30%, at most about 40%, or at most about 50% of a size of said image.
56. The method of claim 35, wherein said functional compression is lossless.
57. The method of claim 35, wherein said functional compression is lossy.
58. The method of claim 57, wherein said lossy compression retains at least 95% of information of said plurality of image segments.
59. The method of claim 57, wherein said lossy compression retains at least 90% of information of said plurality of image segments.
60. The method of claim 35, further comprising applying a data analysis model to said functional compression.61 . The method of claim 60, wherein said data analysis model comprises a machine learning model or a statistical model.
62. The method of claim 60, wherein said functional compression is used as input into said data analysis model without decompressing said functional compression.
63. The method of claim 62, wherein said input comprises one or both of said representative segment or said one or more transformation.
64. The method of claim 35, wherein said one or more transformation includes: a) determining a translation for said image segment of said plurality of image segments, wherein said translation aligns a centroid of said image segment to a centroid of said representative segment, b) determining a rotation for said image segment of said plurality of image segments, wherein said rotation maximizes overlap between said image segment and said representative segment, and c) determining a pixel difference for said image segment of said plurality of image segments and said representative segment.
65. The method of claim 35, wherein said functional compression can be decompressed to form a reconstructed image that comprises a portion of said image that is substantially the same as one or more portion of said image comprising said plurality of cells.
66. A method for obtaining a functional compression of an image of a plurality of objects comprising: a) providing said image of said plurality of objects; b) segmenting said image to obtain a plurality of image segments, wherein at least one image segment of said plurality of image segments comprises an object of said plurality of objects; c) providing a representative model objectforthe object with a representative value of at least one parameter; d) determining a parameter for each of at least a subset of image segments of said plurality of image segments, wherein an image segment of said subset of image segments comprises said object; e) applying one or more transformation to an image segment of said subset of image segments, wherein a transformation of said one or more transformation comprises one or more transformation value used to convert at least said parameter of said image segment to said representative value or said representative value to said parameter of said image segment; and f) storing said one or more transformation values to obtain said functional compression of said image of said plurality of objects.
67. A non-transitory computer-readable storage medium encoded with a computer program including instructions executable by one or more processors to perform operations comprising any one of the methods of claims 1 -66.
68. A computer-implemented system comprising a computing device comprising at least one processor, a memory, and a computer program including instructions executable by saidcomputing device to create an application configured to perform any one of the methods of claims 1-66.
Citation Information
Patent Citations
Methods and Systems for Assessing Cell Morphology
US20200098105A1
Ai-based object classification method and apparatus, and medical imaging device and storage medium
US20220189142A1
Cited By
JPEG compression verification method and device and storage medium
CN122053850A