Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND SYSTEMS FOR DATA COMPRESSION
Document Type and Number:
WIPO Patent Application WO/2018/064116
Kind Code:
A1
Abstract:
A system or device, computer readable medium and computer-implemented method of compressing data can include: receiving k-bit data strings that represent input values from signal data, the input values being within a designated value range; mapping a first set of the input values of the k-bit data strings to output values according to a first relationship; mapping a second set of the input values of the k-bit data strings to output values according to a second relationship that constrains relative quantization errors (RQEs) between the input values and the output values within an absolute error limit, wherein the RQEs of the second set of input values is greater than the RQEs of the first set of input values; converting the data strings to (k-n)-bit code strings by applying the output values of the mappings; and outputting the converted code strings.

Inventors:
NORTON KIRKPATRICK W (US)
Application Number:
PCT/US2017/053623
Publication Date:
April 05, 2018
Filing Date:
September 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ILLUMINA INC (US)
International Classes:
H03M7/30
Domestic Patent References:
WO2007149234A22007-12-27
WO2009137435A12009-11-12
WO2000063437A22000-10-26
WO2005033681A12005-04-14
WO2004024328A12004-03-25
WO2009042862A12009-04-02
WO2004018497A22004-03-04
WO1991006678A11991-05-16
WO2007123744A22007-11-01
WO2005010145A22005-02-03
WO1998059066A11998-12-30
Foreign References:
DE10336596A12005-02-24
US201562205336P2015-08-14
US7329860B22008-02-12
US8951781B22015-02-10
US8748789B22014-06-10
US7769548B22010-08-03
US8481903B22013-07-09
US20130260372A12013-10-03
US66123403A2003-09-12
US66183603A2003-09-12
US7164533B22007-01-16
USPP95830404P
USPP61091004P2004-09-17
US6266459B12001-07-24
US6355431B12002-03-12
US6770441B22004-08-03
US6859570B22005-02-22
US7622294B22009-11-24
US20050227252A12005-10-13
US5324633A1994-06-28
US5744305A1998-04-28
US5451683A1995-09-19
US5482867A1996-01-09
US5491074A1996-02-13
US5624711A1997-04-29
US5795716A1998-08-18
US5831070A1998-11-03
US5856101A1999-01-05
US5858659A1999-01-12
US5874219A1999-02-23
US5968740A1999-10-19
US5974164A1999-10-26
US5981185A1999-11-09
US5981956A1999-11-09
US6025601A2000-02-15
US6033860A2000-03-07
US6090555A2000-07-18
US6136269A2000-10-24
US6022963A2000-02-08
US6083697A2000-07-04
US6291183B12001-09-18
US6309831B12001-10-30
US6416949B12002-07-09
US6428752B12002-08-06
US6482591B22002-11-19
US20030108867A12003-06-12
US20030108900A12003-06-12
US20030170684A12003-09-11
US20030207295A12003-11-06
US20050181394A12005-08-18
US63877009A2009-12-15
US7057026B22006-06-06
US7329492B22008-02-12
US7211414B22007-05-01
US7315019B22008-01-01
US7405281B22008-07-29
US20080108082A12008-05-08
US5641658A1997-06-24
US20020055100A12002-05-09
US7115400B12006-10-03
US20040096853A12004-05-20
US20040002090A12004-01-01
US20070128624A12007-06-07
US20080009420A12008-01-10
US20070099208A12007-05-03
US6210891B12001-04-03
US6258568B12001-07-10
US6274320B12001-08-14
US7001792B22006-02-21
US20050042648A12005-02-24
US20050079510A12005-04-14
US20050130173A12005-06-16
US56560609A2009-09-23
Other References:
ANONYMOUS: "Quantization (signal processing)", WIKIPEDIA, 14 September 2016 (2016-09-14), XP055437597, Retrieved from the Internet [retrieved on 20171222]
LEONID P. YAROSLAVSKY: "Theoretical Foundations of Digital Imaging Using Matlab", 26 November 2012 (2012-11-26), pages 102 - 105, XP055438254, Retrieved from the Internet [retrieved on 20180104]
ZAHIR M. HUSSAIN ET AL: "Digital Signal Processing: An Introduction with MATLAB and Applications", 31 December 2011 (2011-12-31), pages 190, XP055438260, Retrieved from the Internet [retrieved on 20180104]
JOACHIM KEINERT; JIIRGEN TEICH: "Design of Image Processing Embedded Systems Using Multidimensional Data Flow", 2010, SPRINGER SCIENCE & BUSINESS MEDIA
JOHN L. SEMMLOW: "Biosignal and Medical Image Processing", 2011, CRC PRESS
"Electronic and Optical Materials", 2014, WOODHEAD PUBLISHING, article "Smart Sensors and MEMS: Intelligent Devices and Microsystems for Industrial Applications"
JAYARAMAN: "Digital Image Processing", 2011, TATA MCGRAW-HILL EDUCATION
BENTLEY ET AL., NATURE, vol. 456, 2008, pages 53 - 59
LIZARDI ET AL., NAT. GENET., vol. 19, 1998, pages 225 - 232
DRESSMAN ET AL., PROC. NATL. ACAD. SCI. USA, vol. 100, 2003, pages 8817 - 8822
RONAGHI, GENOME RESEARCH, vol. 11, 2001, pages 3 - 11
DEAMER ET AL., ACC. CHEM. RES., vol. 35, 2002, pages 817 - 825
LI ET AL., NAT. MATER., vol. 2, 2003, pages 611 - 615
SONI ET AL., CLIN CHEM., vol. 53, 2007, pages 1996 - 2001
HEALY ET AL., NANOMED., vol. 2, 2007, pages 459 - 481
COCKROFT ET AL., J. AM. CHEM. SOC., vol. 130, pages 818 - 820
HAUGLAND: "Molecular Probes Handbook. 6th ed.", EUGENE OREG
LAKOWICZ: "Principles of Fluorescence Spectroscopy", 1999, PLENUM PRESS, article "The Synthegen catalog (Houston, Tex.)"
Attorney, Agent or Firm:
OSTLER, Trenton B. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A computer- implemented method of compressing data, the method comprising: receiving, onto a memory, k-bit data strings that represent input values from signal data, the input values being within a designated value range; and

mapping, using at least one processor, a first set of the input values of the k-bit data strings to output values according to a first relationship, the output values corresponding to the first set of input values being within the designated value range;

mapping, using the at least one processor, a second set of the input values of the k-bit data strings to output values according to a second relationship that constrains relative quantization errors (RQEs) between the input values and the output values within an absolute error limit, the output values corresponding to the second set of input values being within the designated value range, wherein the RQEs of the second set of input values is greater than the RQEs of the first set of input values;

converting the data strings to (fc-n)-bit code strings by applying, using the at least one processor, the output values of the mappings; and

outputting the converted (fc-n)-bit code strings.

2. The method of claim 1, wherein each and every RQE is constrained within the absolute error limit.

3. The method of claim 1, wherein:

the mapping the first set operation maps the input values to the output values based on a first relationship for the input values below a breakpoint value within the value range; and the mapping the second set operation maps the input values to the corresponding output values in accordance with a different second relationship for the input values above the breakpoint value, the second relationship defining RQEs between the input values and the corresponding output values to be constrained within the absolute error limit.

4. The method of claim 1, wherein the RQEs are substantially constrained within the absolute error limit when at least 95% of absolute values of the RQEs are less than the absolute error limit.

5. The method of claim 1, wherein the signal data represents optical signals and the code strings are used to form image data.

6. The method of claim 5, wherein the image data includes images of an array of reaction sites for a biological or chemical assay, the optical signals being detected from corresponding reaction sites.

7. The method of claim 6, further comprising analyzing the images to distinguish the reaction sites from other reaction sites.

8. The method of claim 7, wherein each reaction site has a known probe molecule or a plurality of common probe molecules.

9. The method of claim 7, wherein each reaction site has a colony of nucleic acids having a common sequence.

10. The method of claim 5, wherein the input values correlate to light intensities detected by corresponding pixels of an image sensor.

11. The method of claim 1, wherein at least some of the output values change in a step-like manner.

12. The method of claim 1, wherein converting the data strings to the code strings includes utilizing a look-up table.

13. The method of claim 1, wherein the output values are defined within a range- of-interest that is a sub-range of the designated value range, the range-of-interest being defined between a start value and a designated end value.

14. The method of claim 13, wherein the start value is non-zero and the designated end value is less than the final value of the designated value range.

15. The method of claim 13, wherein the range-of-interest is at least 75% of the designated value range.

16. A tangible and non-transitory computer readable medium that includes instructions for commanding a processing unit to:

receive k-bit data strings that represent input values from signal data, the input values being within a designated value range;

map a first set of the input values of the k-bit data strings to output values according to a first function, the output values corresponding to the first set of input values being within the designated value range; map a second set of the input values of the k-bit data strings to output values according to a second function that constrains relative quantization errors (RQEs) between the input values and the output values within an absolute error limit, the output values corresponding to the second set of input values being within the designated value range, wherein the RQEs of the second set of input values is greater than the RQEs of the first set of input values;

convert the data strings to (fc-n)-bit code strings by applying the output values of the mappings; and

output the converted (fc-n)-bit code strings.

17. A system or device comprising:

an encoder comprising at least one processor, the encoder being configured to receive signal data from a detector, the signal data including k-bit data strings that represent input values of the detector, the input values being within a designated value range, the encoder being configured to convert the data strings;

a memory storing instruction that, when executed by the at least one processor, cause the encoder to:

convert the data strings to (fc-n)-bit code strings by:

mapping a first set of the input values of the k-bit data strings to output values according to a first function, the output values corresponding to the first set of input values being within the designated value range;

mapping a second set of the input values of the k-bit data strings to output values according to a second function that constrains relative quantization errors (RQEs) between the input values and the output values within an absolute error limit, the output values corresponding to the second set of input values being within the designated value range, wherein the RQEs of the second set of input values is greater than the RQEs of the first set of input values; and

apply the output values of the mappings to the code strings; and outputting the converted (fc-n)-bit code strings.

18. The system or device of claim 17, further comprising the detector configured to detect signals and provide the signal data that represents the detected signals.

19. The system or device of claim 18, wherein the system or device is an image sensor.

20. The system or device of claim 17, further comprising an image sensor configured to detect light signals and generate image data based on the light signals, the image data including the k-bit data strings that represent the input values within the designated value range.

Description:
METHODS AND SYSTEMS FOR DATA COMPRESSION

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Patent Application No. 62/400,674, filed Sep 28, 2016, and U.S. Provisional Patent Application No. 62/409,647, filed Oct 18, 2016, the contents of which are hereby incorporated by reference in their entirety.

TECHNICAL FIELD

[0002] The current invention relates to digital compression and data reduction techniques where the original information can be represented by a subset or similar information, e.g. lossy compression and/or conversion of a code where information is represented by a given sequence or number of digits to a code where the same information or similar information or a subset of information can be represented by a different sequence or number of digits.

BACKGROUND

[0003] Embodiments described herein relate generally to data compression and, in particular embodiments, to systems and methods that compress image data.

[0004] It is often necessary to communicate large amounts of data between different systems or devices or to store the data. The data may be used, for example, to analyze events or other phenomena to obtain useful information regarding the events. For instance, sensors may detect signals (e.g., optical signals, audio signals, temperature, pressure, etc.) and convert the signals into digital data. It is often desirable to reduce the amount of data and/or change the data format to facilitate transmission, storage, or processing of the data. The data may be reduced by removing the less useful data and transmitting data that is useful. As one example, an image sensor may provide 12-bit data, but the communication link that transmits the data or the software that analyzes the data may be configured for 8-bit data. Thus, it may be necessary to compress the 12-bit data to 8-bit data.

[0005] Current methods may not be suitable for applications in which it is desirable to process or analyze a larger range or spectrum of input values. Accordingly, a need exists for a data compression method that may be applied to a larger range of input values than known data compression methods.

SUMMARY [0006] Additional features, advantages, and embodiments of the invention are set forth or apparent from consideration of the following detailed description, drawings and claims. Moreover, it is to be understood that both the foregoing summary of the invention and the following detailed description are examples and intended to provide further explanation without limiting the scope of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 is a block diagram of a system for compressing data in accordance with an embodiment.

[0008] Figure 2 illustrates an encoding table that is constructed in accordance with an embodiment.

[0009] Figure 3 is a graph illustrating a relationship between input values and relative quantization errors in accordance with an embodiment.

[0010] Figure 4 is a graph illustrating a relationship between input values and output values in accordance with an embodiment.

[0011] Figure 5 is a flowchart illustrating a method in accordance with an embodiment.

[0012] Figure 6A illustrates a trial table generated in accordance with the method of Figure 5.

[0013] Figure 6B illustrates another trial table generated in accordance with the method of Figure 5.

[0014] Figure 7 illustrates a modified table that is based on at least one of the trial tables in Figures 6 A and 6B in accordance with the method of Figure 5.

[0015] Figure 8 is an encoding table in which the output values have been populated with floating point values.

[0016] Figure 9 is another encoding table in which the output values have been optimized to minimize the RQEs by biasing them around zero.

[0017] Figure 10 is a flowchart illustrating a method of further reducing an absolute error limit of an encoding table.

[0018] Figure 11 is graph illustrating a relationship between input values and relative quantization errors in accordance with an embodiment. [0019] Figure 12 is a graph illustrating a relationship between input values and output values in accordance with an embodiment.

[0020] Figure 13 is a block diagram of an assay system for biological or chemical analysis formed in accordance with one embodiment.

[0021] Figure 14 illustrates an optical substrate having biological components attached to interior surfaces of the optical substrate as the optical substrate is imaged.

[0022] Figure 15 is a side view of the optical substrate of Figure 14 illustrating the interior surfaces being imaged.

[0023] Figure 16 shows an image in accordance with one embodiment.

[0024] Figure 17 is an enlarged view of the image of Figure 16 showing light emissions from reaction sites.

DETAILED DESCRIPTION

[0025] Data compression may include effectively converting sub-ranges of input values (e.g., 1 -10, 11 -20, 21 -30) to respective output values (e.g., 1 , 2, 3). For example, data compression may be performed using encoding or look-up tables in which multiple input values are quantized to a corresponding output value. The difference between an input value and the assigned output value is called a quantization error. A relative quantization error (or RQE) may be defined as:

(Output Value - Input Value)

RQE = — — X 100%

Input Value

[0026] As one example, if an input value of 100 is quantized to an output value of 102, the relative quantization error is 2%. It is noted that the above equation may be modified based on other factors, such as constant offsets (possibly due to sensor biasing) and nonlinearities (possibly due to non-ideal circuitry). After quantization, each of the output values may be encoded into a data string that comprises a set of bits (e.g., 00110101) representing the output value. The data strings may be subsequently decoded for a desired purpose.

[0027] Data compression methods, however, typically include one or more drawbacks or tradeoffs in order to reduce the size of the data. At least some known image compression methods use prior knowledge of the subj ect or environment where the image is captured in order to process the image data in a designated manner. For example, known image compression methods may remove one or more least significant bits of the data string, if the expected brightness is high, or one or more most significant bits of the data string, if the expected brightness is low. Such data compression methods effectively reduce the spectrum of possible signal values that may be acquired and processed/analyzed. Using such image compression methods, the RQEs may be high for dimmer images and low for brighter images. As such, these image compression methods may be suitable for applications in which bright images are acquired, but less suitable for applications that utilize dimmer images.

[0028] Embodiments described herein include various methods and apparatuses (e.g., systems, image processors, image sensors, computer-readable media, and devices) that may be used for data compression and/or subsequent decoding of the compressed data. The signal data may be based on signals detected in an environment. By way of example, the signal data may include or correspond to optical signals, audio signals, signals indicative of temperature, signals indicative of pressure, or signals indicative of electrical properties. The detector, or other device that is communicatively coupled to the detector, may digitize the signals (e.g., sample, map or quantize, and encode the signals) into a designated data form. The data form may include, for example, k-bit data strings (e.g., 0101...k) that represent the signals at designated spatial locations and/or times. Data strings may also be referred to as packets, words, or vectors in some embodiments. Embodiments described herein may be configured to compress the data by changing the k-bit data strings into (fc-n)-bit data strings (e.g., 0101...k-n), which are referred to as (fc-n)-bit code strings (or packets, words, or vectors). By way of example, embodiments may transform 12-bit data strings into 8-bit code strings. Smaller data strings may be easier and/or quicker to communicate, process, and/or store within memory than data strings of a larger size.

[0029] In some embodiments, the data strings are digitized representations of pixels from an image sensor and/or from an image processor. For example, the image sensor may transmit a plurality of data strings in which each data string represents a signal intensity detected by a corresponding pixel from an array of pixels of the image sensor. The plurality of data strings may be grouped in a designated manner, such as for each frame or image that is detected by the array of pixels. Although embodiments are described with specific reference to compressing and analyzing image data, it should be understood that embodiments may be applied to other forms of signal data. For example, the signals may represent optical (or light) properties, sound, electrical properties (e.g., voltage, current, capacitance), magnetic properties, temperature, or pressure that is/are detected by a detector. Examples for which the signals may represent optical, electrical, and/or magnetic properties are described in U.S. Provisional Patent Application No. 62/205,336, which is incorporated herein by reference in its entirety.

[0030] Embodiments may be particularly suitable for applications in which it is desirable to use an entire value range or a significant portion of the entire value range. For example, an image sensor that is configured to generate 12-bit data may assign a value to each pixel for each image that is between 0 and 4095. The assigned value may be based on a number of photons detected by the pixel. It may be desirable to use the entire value range or a significant portion of the value range, such as greater than 50%. The desired range may be referred to as the range-of-interest.

[0031] Unlike at least some known image compression methods, a technical effect of one or more embodiments is that larger range-of-interests may be utilized so that data with smaller or weaker signals and data with larger or stronger signals may both be utilized in data compression methodologies of some embodiments. For instance, for imaging applications, both dimmer images and brighter images may be analyzed for useful information. The dimmer and brighter images may be acquired during the same imaging session and, in particular embodiments, the dimmer and brighter images may be acquired using a common optical arrangement or setting. In addition to utilizing both dimmer images and brighter images, embodiments may enable analysis of a single image that includes both low pixel values and high pixel values. For example, image data, which may include a single image or a set of images, may have pixel values from the first 10% of the range-of-interest (e.g., 0-410) and pixel values from the last 10% of the range-of-interest (3690-4095). Such incidents may occur when the image data scans or captures an area that allows for large changes in pixel values. For example, a single area may be imaged through multiple "point-and-shoot" images, wherein the images capture adjacent sub-areas that collectively form the single area, or the single area may be imaged through line-scanning or raster scanning. In such instances, the likelihood that the image data will include a greater range in pixel values increases. Particular examples may include imaging biological and/or chemical reaction sites across a large area (e.g., surfaces of flow channels or beadarrays). More specifically, the imaged area may be significantly larger (e.g., 10X, 100X, 1000X, or more) than the field-of-view or focal region of the objective lens.

[0032] Another technical effect of one or more embodiments is that a maximum allowable relative quantization error may be reduced across the range-of-interest. Yet another technical effect of one or more embodiments is that the relative quantization errors may be constrained across the entire range-of-interest. This may be particularly applicable to protocols in which data analysis is based on the differences between adjacent data points. For example, at least some image analysis protocols distinguish objects-of-interest (e.g., reaction sites) based on analyzing or comparing light intensities of adjacent pixels. Again, although the above technical effects are directed toward image data, other types of data may benefit from embodiments set forth herein.

[0033] In particular embodiments, the signals represent optical signals (e.g., light emissions) that are provided by a biological sample. Although some embodiments may be described with specific reference to imaging the biological sample, it should be understood that other applications may benefit from embodiments set forth herein. For example, consumer devices (e.g., cameras or phones having integrated image sensors) or professional instruments (e.g., instruments having detectors for detecting sound, electrical properties, temperature, or pressure) may be configured to carry out one or more embodiments. The consumer devices and/or professional instruments may be portable or handheld or may be larger apparatuses, such as standalone instruments.

[0034] For embodiments that are directed toward optical signals from a biological sample, the optical signals may be light emissions that are generated in response to excitation light or light emissions that are generated by a label without excitation (e.g., a radioactive or chemiluminescent component in the sample). By way of example, embodiments may be used to perform or facilitate performing a sequencing protocol in which sstDNA is sequenced in a flow cell and imaged and/or a beadarray protocol in which beadarrays are imaged.

[0035] Embodiments may be particularly useful for detecting optical signals from reaction sites. For instance, it is often necessary to perform a large number of controlled reactions in biological and/or chemical assays and then detect events caused by the controlled reactions. As one example, systems exist today that image arrays having thousands (or more) sites in which the sites have known or unknown locations within the array. Each of the sites may include one or more probes that are configured to couple to fluorescently-labeled reagents or analytes through designated reactions. The probes or the analytes may be derived from a biological sample. After the designated reactions, each site may emit fluorescent light that is based upon the reaction that occurred at the site. Using the image data, it can be determined whether the site emitted fluorescence and/or an amount of fluorescence. The fluorescent information may reveal certain qualities or characteristics of the biological sample. [0036] Figure 1 is a block diagram illustrating a system 100 formed in accordance with an embodiment. To the extent that Figure 1 (and other figures) illustrate diagrams of blocks, the blocks are not necessarily indicative of a division between hardware and/or other structures. For example, one or more of the blocks may be implemented in a single device or piece of hardware or multiple devices or pieces of hardware. As a more particular example, one or more processes set forth herein may be carried out by only a single image sensor or an image sensor combined with other hardware. Thus, it should be understood that the various embodiments are not limited to the arrangements and instrumentality shown in the drawings.

[0037] The system 100 may include, for example, a detector 102 that is configured to detect external signals 104. The detector 102 may also be referred to as a sensor or transducer in some embodiments. The detector 102 is configured to detect one or more events, properties, qualities, or characteristics and provide signal data 110 that is representative of the one or more predetermined events, properties, qualities, or characteristics. In particular embodiments, the detector 102 is configured to detect optical (or light) signals. For example, the detector 102 may be or include one or more CMOS imagers, one or more CCD cameras, and/or one or more photodiodes. In such embodiments, the detector 102 may have an array 105 of pixels 106. Each pixel 106 may have an address in the array 105 of pixels 106.

[0038] The signal data 110 may represent input values that correspond to the property, event, condition, or characteristic detected by the detector 102. The input values may represent the property, event, condition, or characteristic at a designated time and/or location. For embodiments that detect optical signals, the input values of the signal data 110 may represent a light intensity detected by each pixel 106 that has a designated location within the array 105 of pixels 106.

[0039] The system 100 may also include an encoder 108. The encoder 108 may be at least part of or include, for example, a processing unit. In some embodiments, the detector 102 and the encoder 108 may be coupled to one another in a standalone unit, such as an off-the-shelf device. For example, the system 100 may be an image sensor having a processor that includes the encoder 108. The image sensor may include one or more application-specific integrated circuits (ASICs) and/or one or more field programmable gate arrays (FPGAs). Examples of systems, including sensors (e.g., image sensors) and/or image processors, that may incorporate the encoder or may execute the methods described herein may be described in "Design of Image Processing Embedded Systems Using Multidimensional Data Flow," Joachim Keinert and Jiirgen Teich, Springer Science & Business Media, 2010; "Biosignal and Medical Image Processing," Second Edition, John L. Semmlow, CRC Press, 2011; "Smart Sensors and MEMS: Intelligent Devices and Microsystems for Industrial Applications," Woodhead Publishing Series in Electronic and Optical Materials, Editors S Nihtianov, A. Luque, 2014; and "Digital Image Processing," Jayaraman, Tata McGraw-Hill Education, 2011, each of which is incorporated herein by reference in its entirety for the purpose of describing the components and features of embodiments that may include encoders or decoders as described herein. The encoder 108 may include dedicated hardwired circuitry (similar to a custom ASIC or FPGA) that runs as a hardwired state machine. The processes could be hardwired rather than based on instructions in memory

[0040] The detector 102 may provide the signal data 110 in a designated data form to the encoder 108. In some embodiments, the signal data 110 is processed prior to being received by the encoder 108. For example, the signal data 110 may be sampled, mapped (or quantized), and encoded to have a designated data form. More specifically, the signal data 110 may be represented by data strings 112. The sampling, quantization, and encoding may be performed by the detector 102 or another device or circuitry (not shown) coupled to the detector 102. The data strings 112 may include a plurality of bits (e.g., 0110...&) that represent an input value of the external signals 104 detected by the detector 102. The number of bits k may be predetermined. In some embodiments, the number of bits k is fixed. Non-limiting examples of the number of bits k in the data strings 112 include 8 bits, 10 bits, 12 bits, 24 bits. However, it should be understood that any number of bits k may be used.

[0041] The encoder 108 is configured to convert or transform the signal data 110 into compressed data 114. In particular embodiments, the encoder 108 may be configured to convert or transform the data strings 112 into corresponding smaller data strings 116, which are hereinafter referred to as code strings 116. The code strings 116 may constitute the compressed data 114 or form a portion of the compressed data 114. The code strings 116 also include a plurality of bits, such as (0110...£-n), such that the code strings 116 have fewer bits than the data strings 112 that correspond to the code strings 116. The encoder 108 may include circuitry for converting the data strings 112 into the code strings 116. For example, the encoder 108 may include circuitry for storing the data strings 112 and/or for processing the data strings 112 in accordance with a predetermined method or technique. In some embodiments, the encoder 108 may include a database (or look-up table (LUT)). For example, the encoder 108 may be configured such that each of the data strings 112 correlates to a designated code string 116. [0042] Figure 1 illustrates an exemplary encoding table or LUT 120 in accordance with an embodiment. In some embodiments, the encoding table 120 may include a plurality of columns. For example, the encoding table 120 may include a data string column (or index column) 122 that includes a list of possible data strings that the encoder 108 may receive. The encoding table 120 may also include a code string column (or value column) 124 that includes a list of code strings that correspond to the possible data strings. One or more of the code strings may correspond to more than one data string. By way of example, if the encoder 108 was configured to change 5-bit data strings to 4-bit code strings, the number of possible distinct data strings may be thirty-two (32), but the number of distinct code strings may be only sixteen (16).

[0043] In some embodiments, the data strings 112 do not directly correlate to the code strings 116. For example, the data strings 112 may correlate to corresponding input values, which may correlate to corresponding output values, which may correlate to corresponding code strings 116. It is also contemplated that the data strings 112 or the input values represented by the data strings 112 are modified or pre-processed prior to being correlated to the output value or code string 116. For example, the first two bits of the data string 112 may be removed or the last two bits of the data string 112 may be removed prior to being correlated to the output value or the code string 116. As another example, the input values or the output values may be weighted (or otherwise modified) prior to being correlated to the code strings 116.

[0044] As described herein, the encoding table 120 may be constructed in a manner consistent with a predetermined method or technique that is configured to maintain a designated (e.g., limited) relative quantization error across a designated range of values. By converting the data strings 112 to corresponding code strings 116, the encoder 108 effectively maps or quantizes the input values to output values. More specifically, when the code strings 116 are decoded by a decoder 150, at least some of the corresponding values of the code strings 116 are mapped or quantized values that are determined by the predetermined method or technique. The input values and output values may be within a common range (e.g., 0-4095). However, the number of distinct code strings 116 will be less than the number of distinct data strings 112. In alternative embodiments, the input and output values may be defined by different ranges.

[0045] A graph 126 is shown in Figure 1 that may represent a function that defines the encoding table 120. The x-axis corresponds to input values, and the y-axis corresponds to relative quantization errors (RQEs) between the input values and the assigned output values. In some embodiments, the input and output values may have multiple relationships in the function. For example, the input and output values may have a first relationship (indicated by the line segment 128) and a second relationship (indicated by the wavy line 130). It should be understood that the terms "first," "second," "third," and the like are only labels used to distinguish different elements. The terms do not necessarily require a certain order of the elements. For example, the recitation of a "first relationship" in the claims does not preclude the possibility of the input and output values having another relationship prior to the first relationship.

[0046] In Figure 1 , the first relationship 128 exists from 0 to a breakpoint value 132. As used herein, a "breakpoint value" can represent an input value that correlates to an output value that is inconsistent with the prior relationship between the input and output values. For example, the breakpoint value 132 may represent the first input value that correlates to an output value in accordance with the second relationship 130. In other words, the breakpoint value 132 may be the first input value that does not correspond to the first relationship 128. In the illustrated embodiment, the first relationship 128 is a linear relationship. In particular embodiments, the first relationship 128 is a one-to-one relationship such that the input value equals the output value. This first relationship 128 can be bijective in that unique input values can be mapped to unique output values. In alternative embodiments, a designated number of input values from xi to X2 (e.g., values 1-99) may correspond to the same value, such as 0 or 100. Such embodiments may be used, for example, to bias an image sensor.

[0047] The second relationship 130 may exist from the breakpoint value 132 to a range end value 134. In particular embodiments, the range end value 134 can be the final value available within the range of possible values (e.g., 4095 for 12-bit data). In other embodiments, the range end value 134 may be a second breakpoint value such that the input and output values have a third relationship (indicated by line segment 142) after the range end value 134. The third relationship 142 may be different than the second relationship 130, but may be identical to or different from the first relationship 128.

[0048] As described herein, the second relationship 130 may be configured to substantially constrain the RQEs within an absolute error limit 136 after the breakpoint value 132 to the range end value 134. The absolute error limit 136 is defined between an upper bound 138 and a lower bound 140. As shown, the RQEs vary after the breakpoint value 132 and approach the upper and lower bounds 138, 140. More specifically, the RQEs approach and become proximate to (or located at) the upper bound 138 and then approach and become proximate to (or located at) the lower bound 140. The RQEs may repeat this cycle a plurality of times. Depending on the extent of data compression, the RQEs may repeat this cycle at least 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 150, 200, 300, 400, 500, 600, 700, 800, 900, 1000 times or more. It should be noted that the RQEs may not reach the same maximum or minimum each cycle. Instead, the difference between the maximum RQE and the upper bound may vary throughout the cycles. Likewise, the difference between the minimum RQE and the lower bound may vary throughout the cycles. Nonetheless, the maximum RQEs in each cycle may be proximate to the upper bound, and the minimum RQEs in each cycle may be proximate to the lower bound. However, it should be understood that embodiments are not required to vary in a cyclical manner. Instead, the process may be configured to produce a more random distribution of the RQEs that, nonetheless, remain within the upper and lower bounds 138, 140.

[0049] In some embodiments, the second relationship 130 may exist for a majority (e.g., at least 50%) of the possible input values (or value range). For example, if the value range is 4096, the second relationship may exist for at least 2048 input values. In certain embodiments, the second relationship 130 may exist for at least 60% of the possible input values or, more specifically, at least 75% of the input values. In particular embodiments, the second relationship 130 may exist for at least 85% of the possible input values or, more specifically, at least 88% of the input values. In more particular embodiments, the second relationship 130 may exist for at least 90% of the possible input values or, more specifically, at least 92% of the input values. In more particular embodiments, the second relationship 130 may exist for at least 95% of the possible input values. When the range-of-interest is less than the value range, the second relationship may exist for at least 50%, 60%, 75%, 85%, 88%, 90%, or 95% of the range-of-interest. In some embodiments, the processing may be configured to produce any distribution or pattern of the RQEs (including a more random distribution) that fall within the predetermined error limit.

[0050] The above examples illustrate the possibility of multiple relationships between the input and output values. It is contemplated, however, that embodiments may effectively only have one relationship. For example, any input value less than 1000 may be discarded or all mapped to the same code. The RQEs corresponding to input values 1001-4095 may be substantially constrained within an absolute error limit.

[0051] In some embodiments, the detector 102 and the encoder 108 are located within a single system or device 145. The system or device 145 may be or include an image acquisition device having a user-programmable conversion table to reduce data size. In some embodiments, the system or device 145 may be an image capturing device, such as a camera or a single imaging die. The system or device 145 may be an image sensor that includes the array of pixels 105 and the encoder 108. In other embodiments, however, the system or device 145 may be an instrument (e.g., imaging system) that is configured to capture the images and send the compressed data 114 to another system for analysis. In such embodiments, the detector 102 and the encoder 108 may be discrete components or part of discrete components that interact with each other to carry out the functions described herein. The multiple components may communicate with each other through electrical pathways and/or wirelessly. In some embodiments, the encoder 108 is a component of an image processing unit (e.g., image processor) that is communicatively coupled to the detector 102. In other embodiments, the image processing unit and the detector 102 are part of the same standalone unit, such as an image sensor.

[0052] After transforming the data strings 112 to the code strings 116, the encoder 108 may communicate the code strings 116 to a decoder 150 through a communication network or link 117. The communication network 117 is represented by a single line in Figure 1, but it should be understood that the communication network 117 may be a single line (e.g., conductive path or wireless link) or a plurality of different, interconnected communication lines (e.g., conductive paths and/or wireless links). In some embodiments, one or more lines or segments of the communication network 117 may be configured to transmit a limited data size, such as 12-bit, 8-bit, or 4-bit. The code strings 116 may be configured for the corresponding data size.

[0053] The decoder 150 is configured to transform the code strings 116 into code data 152. The decoder 150 may include, for example, a decoding table (e.g., look-up table) (not shown) that transforms the code strings 116 to code data 152. The decoder 150 may be a component of a processing unit or communicatively coupled to a processing unit. The code data 152 may represent the quantized output values of the compressed data 114. The code data 152 may be data that is in a suitable form for subsequent use or analysis. For example, the code data 152 may be used to form a plurality of images 154. Optionally, the code strings 116, the code data 152, and/or the images 154 may be stored within a storage unit (e.g., memory) 156.

[0054] Optionally, the system 100 may include an analyzer 158 that is configured to receive the code data 152 or the images 154 for analysis. For example, the analyzer 158 may analyze the code data 152 and/or the images 154 to provide useful information. For example, the analyzer 158 may distinguish reaction sites in embodiments that detect light emissions from a biological sample. In some embodiments, the system 100 may include a user interface 160 having the hardware and/or software for enabling a user to view and/or analyze the code data 152 or the images 154. For example, the user interface 160 may include a display (e.g., touchscreen) that displays the images 154 to a user. In some embodiments, the user interface 160 forms a part of the analyzer 158 or includes the storage unit 156.

[0055] Figures 2-4 illustrate examples in which 5 -bit data strings are transformed to 4-bit code strings thereby compressing the size of data that may be communicated and/or stored. It is noted that Figures 2-4 are for illustration and that other data compressions may be accomplished by embodiments of the present application, such as 24-bit to 12-bit, 12-bit to 8- bit, 10-bit to 8-bit, etc. The compression of 5-bit data strings to 4-bit data strings may be determined by using a method, such as the method 300 described with reference to Figure 5.

[0056] Figure 2 shows an Encoding Table 200 that illustrates the compression of 5-bit data strings 208 to 4-bit code strings 210. In some embodiments, the Encoding Table 200 may be a look-up table (LUT) stored within a system or device. In some embodiments, the encoding table 200 is one encoding table of a plurality of different encoding tables. However, in other embodiments, the Encoding Table 200 only functionally represents how an encoder may process data strings to provide code strings. Yet still in other embodiments, the Encoding Table 200 may be determined by the system or device using, for example, the method 300 (Figure 5).

[0057] As shown, the Encoding Table 200 includes columns 201-206, including a Data string column 201, an Input Value column 202, a Mapped Value column 203, a Relative Quantization Error (RQE) column 204, a Code string column 205, and a Total # of Codes column 206. It should be understood that the encoding tables may not include each and every column shown in Figure 2. For example, in some embodiments, the Encoding Table 200 only includes the Data string column 201 and the Code string column 205. After the code strings 210 are provided by the Encoding Table 200, the code strings 210 may be communicated and/or stored and subsequently decoded to provide data that is representative of the output values. The output values may be identical to output values 214 shown in the Mapped Value column 203.

[0058] The Data string column 201 includes a list of the possible data strings 208 that may be received by the Encoding Table 200. In the illustrated embodiment, the data strings 208 are 5-bit data strings and, as such, a possibility of 32 different data strings 208 exists. It should be understood, however, that other k-bit data strings may be used in other embodiments. The Input Value column 202 includes input values 212 that represent the signals detected by a detector. The input values 212 have a value range from 0 to 31. Each input value 212 correlates to a data string 208.

[0059] The Mapped Value column 203 includes the output values (or mapped values) 214 that correlate to the corresponding input values 212 shown in the Encoding Table 200. It should be understood that column 203 may include some values that are not quantized due to the one- to-one relationship between the input and output values for some of the input values. The RQE column 204 includes a corresponding RQE 216 for each pair of input and output values 212, 214. In this example, the RQE 216 is calculated for each input value as (Output Value - Input Value)/(Input Value) * 100.

[0060] Yet in other embodiments, the RQE calculation is modified to account for other factors. For example, image sensors may be biased to raise pixel voltages above ground such that the circuitry operates in a linear region. The bias voltage may add a designated number of counts to every pixel value. As such, the RQE calculation may be configured to account for the bias voltage. By way of example, if 100 counts were added to every pixel value, the RQE 216 may be calculated as (Output Value - Input Value)/(Input Value- 100) * 100. In such embodiments, fewer input values may be encoded. For example, if the input values were based on 12-bit data and every pixel value had 100 counts added to it, then it may be necessary to encode only for input values 100-4096. As such, only 3096 input values may be encoded instead of 4096. As described below, such embodiments may further reduce the maximum allowable RQE 216.

[0061] In the illustrated embodiment, the input and output values 212, 214 have a linear one-to-one relationship from 0-9 such that the input values 212 equal the corresponding output values 214. The RQE 216 is 0.00% for these instances. In some embodiments, the input value and output values 212, 214 do not have an entirely linear relationship from 0-9. For example, if five (5) counts were applied to every pixel value to account for the bias voltage as described above, only one output value would be assigned to input values 1-5. In such instances, the input values and the output values 212, 214 may have a linear relationship from input value 6 to the breakpoint value 218, which may be greater than 10 in this alternative embodiment. It is also contemplated that the input and output values 212, 214 may have a non-linear first relationship prior to the breakpoint value 218. [0062] At and after the breakpoint value 218, the input values 212 and the output values 214 have a different second relationship. The second relationship may be configured to minimize a maximum RQE between the input and output values 212, 214 throughout a range-of-interest. For instance, the input values 212 may be effectively grouped in multiple sets in which the input values 212 of each set correlate to a common output value 214. As one example, the set of input values of 17-20 are transformed to a common output value of 18, and the set of input values of 26-31 are transformed to a common output value of 28. In this manner, each code string may correlate to a different set of data strings. Although the table illustrated in the Figures assign integers to the output values, it should be understood that floating point numbers may be assigned to the output values. In such embodiments, the absolute error limit may be reduced. In such embodiments, a more efficient use of the code strings may occur.

[0063] The Total # of Codes column 206 demonstrates that the total number of data strings is reduced (i.e., compressed) by embodiments set forth herein. For example, all possible data strings 208 (and corresponding input values 212) are represented by only sixteen (16) code strings 210. During operation, an encoder may receive the data strings 208 and provide the corresponding code strings 210 using the Encoding Table 200. It should be understood that the Encoding Table 200 illustrates only one example, and that other Encoding Tables 200 may be constructed and used based on the desired data compression and other factors, such as the range-of-interest, biasing, etc.

[0064] After the breakpoint value 218, the RQEs 216 may be constrained within an absolute error limit 219 (shown in Figure 3). In some embodiments, an absolute error limit 219 of the RQE occurs at the breakpoint value 218 or, more specifically, the absolute error limit 219 may occur when the input value 212 and the output value 214 initially differ. For example, the absolute error limit 219 is equal to the absolute value of (10-9)/(10) * 100 or 10% in Figure 2. In the illustrated embodiment, the input and output values 212, 214 differ by one at the breakpoint value 218. In other embodiments, the input and output values 212, 214 may differ by more than one at the breakpoint value 218. Moreover, in other embodiments, however, the absolute error limit may occur at other locations. Such instances may be based on the RQE at the breakpoint value 218 and are described below with respect to the method 300 (Figure 5).

[0065] In particular embodiments, an absolute value of each of the RQEs 216 is less than or equal to the absolute error limit 219. For example, the RQEs 216 in Figure 1 include negative and positive values. The absolute value of each of the RQEs 216 in Figure 1 is 10% or less. In some embodiments, however, it is not necessary for each and every RQE 216 to be equal to or less than the absolute error limit 219. For instance, one or more input values 212 may be associated with an RQE 216 that exceeds the absolute error limit 219. As used herein, the RQEs may be "substantially constrained" within an absolute error limit if 85% of absolute values of the RQEs are equal to or less than the absolute error limit. In some embodiments, the RQEs may be substantially constrained within the absolute error limit if 90% of the absolute values of the RQEs are equal to or less than the absolute error limit. In particular embodiments, the RQEs may be "constrained" within the absolute error limit if 95% of the absolute values of the RQEs are equal to or less than the absolute error limit. As shown in the illustrated embodiment, the RQEs may be constrained within the absolute error limit when 100% of the absolute values of the RQEs after the breakpoint value are equal to or less than the absolute error limit. As described herein, the RQEs may be constrained within a range-of-interest that is less than the possible value range. More specifically, the RQEs may be constrained between a start value that is greater than the lowest possible value and an end value that is less than the greatest possible value. For example, the RQEs may only be constrained within a range-of- interest that is between 1000-3095.

[0066] A Decoding Table (not shown) may be located within a decoder, such as the decoder 150 (Figure 1), and may operate in a similar manner as the Encoding Table 200. For example, the Decoding Table may receive the code strings 210 and correlate the code strings 210 to designated output values. The output values may then be processed to form usable information, such as images, signal data or other data.

[0067] In some embodiments, the system or component that includes the encoding table 200 may also include one or more other encoding tables. Each of the multiple encoding tables may be configured for a particular implementation. For example, if the input data is 12-bit, the system 145 may include multiple encoding tables for transforming the data from 12-bit data to 4-bit data, 5-bit data, 6-bit data, 7-bit data, 8-bit data, et seq. More generally, the system 145 may include multiple encoding tables for transforming the from X-bit data to Y-bit data, wherein X and Y are integers (e.g., between 4 and 64) and X is greater than Y.

[0068] In some embodiments, the system 145 may have multiple encoding tables that correspond to different ranges-of-interest. For example, the system 145 may have multiple encoding tables that transform 12-bit data to 8-bit data. A first encoding table may correspond to a range-of-interest between 1000-3095; a second encoding table may correspond to a range- of-interest between 1500-3095; a third encoding table may correspond to a range-of-interest between 500-3095; a fourth encoding table may correspond to a range-of-interest between 500- 2000; and so on. In some embodiments, the system 145 may identify the range-of-interest based on the input data. More specifically, if it is known or determined that the input data includes pixel values within a range of 1500-2500, then the selected encoding table may encompass that range (e.g., 1250-2750). For example, if the input data includes a limited number of outlying values (e.g., 99% of the 12-bit input values lies between 215 and 3600), then the 1% of outlying values could be effectively discarded or designated as unimportant. Such incidences may occur when, for example, the outlying values are caused by noise or flaws in the flow cell or channel surfaces. The outlying values could be assigned to either 215 (if the value was below 215) or 3600 (if the value was above 3600). This would reduce the range of input values that need to be encoded and could enable the process to achieve lower RQEs. It is noted that the above example is only one example. In some embodiments, the outlying values may constitute at most 25%, at most 15%, at most 10%, at most 6%, at most 4%, at most 3%, at most 2%, or at most 1% of the input data.

[0069] In other embodiments, the system 145 may communicate with another system and receive instructions that designate the encoding table to use. In some case, the designated encoding table is based on the imaging protocol or the assay. For example, it may be known through experience or historical data that one encoding table is best for a particular assay.

[0070] In some cases, a single imaging session may use multiple encoding tables. For example, data from a first sub-area of the total imaged area may be encoded by a first encoding table and data from a second sub-area of the total imaged area may be encoded by a second encoding table. Similar to the description above, the different encoding tables may be based on the assay, instructions from a user or other system, and/or from analyzing the input data during imaging.

[0071] Figure 3 shows a graph 220 that illustrates a relationship between the input values 212 and the corresponding RQEs 216 in the Encoding Table 200 (Figure 2) for the value range 0-31. Figure 4 shows a graph 230 that illustrates a relationship between the input values 212 and the output values 214 of the Encoding Table 200 for the value range 0-31. In this example, the designated value range of 0-31 is based on the number of bits in the data strings 208 (Figure 2).

[0072] As shown in graphs 220, 230, the input values 212 and the output values 214 may have a first relationship 222 and a second relationship 224 within the value range. The first relationship 222 may be in accordance with a designated formula and/or process. The input values 212 and the output values 214 have the first relationship 222 until the breakpoint value 218. The first relationship 222 may be a linear relationship. For example, the input values 212 and the output values 214 may be equal to each other prior to the breakpoint value 218. However, it is contemplated that the input and output values 212, 214 may have other first relationships in other embodiments.

[0073] The second relationship 224 may be based on a different formula or process than the formula or process that defined the first relationship. In accordance with the second relationship 224, the input values 212 that exceed the breakpoint value 218 are quantized to corresponding output values 214. For example, the input and output values 212, 214, in accordance with the second relationship 224, have RQEs 216 that vary after the breakpoint value 218 and are substantially constrained within the absolute error limit 219 after the breakpoint value 218. The absolute error limit 219 is represented between an upper bound 227 and a lower bound 228. In Figure 3, the upper bound 227 is +10.00% and the lower bound 228 is -10.00%.

[0074] As illustrated by Figure 3, the RQEs 216 vary between positive values and negatives values as the input values 212 increase after the breakpoint value 218 to a predetermined range end value 229. The RQEs 216 may vary in a wave-like manner such that the RQEs increase to a positive value (or crest value) that is less than or equal to the upper bound 227 and then decrease to a negative value (or trough value) that is less than or equal to the lower bound 228. This pattern may be repeated a plurality of times, although the crest values and trough values may be different for each cycle. In the illustrated example, the range end value 229 is the final value in the value range (or 31). In other embodiments, however, the range end value 229 may be less than the final value of the value range. In some embodiments, the input values 212 and the output values 214 may have a different third relationship after the range end value 229. In such embodiments, the breakpoint value 218 may be a first breakpoint value, and the range end value 229 may be referred to as a second breakpoint value. In other embodiments, such as those with greater value ranges, it should be understood that the input and output values may have more than three relationships.

[0075] Alternatively, the range end value 229 may represent a cut-off value in which input values at or above the range end value 229 are assigned the same code string. Using 12-bit data as an example, the cut-off value may be 3500 such that any data strings that correspond to input values at or above 3500 will be assigned a common code string. In such embodiments, the range-of-interest is reduced and, consequently, the number of code strings may be used for a smaller range.

[0076] In the illustrated embodiment, the absolute error limit 219 is 10% such that absolute values of the RQEs are 10% or less. However, in other embodiments, the absolute error limit may be less. For example, the absolute error limit may be 9% or less, 8% or less, 7% or less, 6% or less, 5% or less, 4% or less, or 3% or less. In particular embodiments, the RQEs may be 2% or less, 1.5% or less, 1.2% or less, or 1.1% or less.

[0077] As described with respect to Figure 5, the absolute error limit 219 may be identified through repeated trials to determine the breakpoint value 218 that provides an efficient use of the encoding space. In some embodiments, the absolute error limit 219 is configured to maximize the number of available (fc-n)-bit code strings for a range-of-interest. In some embodiments, the absolute error limit 219 may be based on a number of possible (fc-n)-bit code strings that remain for the output values that are greater than the breakpoint value and less than or equal to the range end value. For example, the number of possible code strings for 4-bit data is 16 code strings. At the breakpoint value 218, however, the number of code strings used by the Encoding Table 200 (Figure 2) is 11. As such, only five code strings may remain. In some embodiments, the absolute error limit 219 will result in all five remaining code strings being used and with the final code string corresponding to the range end value 229 of the value range or a value near the range end value. In the illustrated embodiment, the range end value 229 is at 31 and corresponds to an output value 214 that is equal to 30.

[0078] Accordingly, the range end value may be at the end of the value range or within the value range. For instance, the range end value may be a value that is within 50% of the final value in the value range, within 40% of the final value, or within 30% of the final value, within 25% of the final value, or within 20% of the final value. In some embodiments, the range end value may be a value that is within 18% of the final value of value range, within 15% of the final value, within 13% of the final value, within 10% of the final value, within 8% of the final value, or within 5% of the final value. In particular embodiments, the range end value may be a value that is within 4% of the final value, within 3% of the final value, or within 2% of the final value. In more particular embodiments, the range end value may be a value that is within 1.0% of the final value, within 0.75% of the final value, or within 0.5% of the final value.

[0079] Figure 4 demonstrates that output values 214 may correlate to multiple input values 212 such that the output values 214 change in a step-like manner after the breakpoint value 218 for the second relationship 224. The graph 230 includes six such steps 234. More specifically, the input values 212 after the breakpoint value 218 correlate to respective output values 214. As shown, a number of input values 212 that correlate to a single output value 214 increases as the input values 212 increase. For example, one step or plateau 234A shows three input values 212 having the same output value 214, but the last step or plateau 234B shows six input values 212 having the same output value 214. In the illustrated embodiment, each output value 214 that is greater than the breakpoint value 218 corresponds to an equal number of input values 212 as the previously assigned output value 214 or corresponds to a greater number of input values 212 as the previously assigned output value 214.

[0080] Figure 5 is a flow chart illustrating a method 300 in accordance with an embodiment. The method 300 may be used to, for example, generate an encoding table, such as the encoding table 200. The encoding table may be a look-up table or similar database. A decoding table may also be generated based on the encoding table. The method 300 includes receiving, at 302, signal data that includes k-bit data strings representing input values. The input values may be within a designated value range. For instance, the value range may be based on the number of k bits. In the following example, the number k is equal to twelve (12). The value range may be at most 4095, assuming 0 is the first value. The method 300 is configured to convert the k- bit data strings to (fc-n)-bit code strings. As such, the method 300 may include determining, at 304, the size of the compressed data or the code strings. In the following example, (k-n) is equal to eight (8). Determining, at 304, may include receiving user inputs or instructions regarding the size of the code strings or communicating with another system or device to determine the desired size of the code strings.

[0081] The method 300 may also include determining, at 306, a range-of-interest. In some embodiments, the range-of-interest may be calculated using one or more range parameters or factors. For example, determining, at 306, may include receiving user inputs regarding the range parameters or communicating with another system or device to determine the range parameters. The range parameters may include information that is used to identify a range-of- interest of the input values. In some embodiments, the range-of-interest is less than the value range. For example, the range-of-interest may start at a non-zero value and/or end at a value that is less than 2*-l. In other embodiments, however, the range-of-interest may correspond to the value range (e.g., 0-4095). In some embodiments, the range parameter provided by the user or other system is the range-of-interest (e.g., explicit instructions that numerically identify the range-of-interest). [0082] Accordingly, embodiments may identify or receive instructions that identify a minimum limit and/or a maximum limit that is within the value range. For example, as described above, image sensors may be biased to raise pixel voltages above ground so that the circuitry may operate in a desired manner. The bias voltage may, for example, add a designated number of counts to every pixel value. In such embodiments, a sub-range of the input values at the beginning of the value range may be assigned a single output value. For instance, each of the input values 0-100 (or 1-100) may be assigned the output value 100. Accordingly, only a single code string may correspond to each of the input values between 0-100 (or 1-100). It should be noted that a variety of range parameters exist for setting a minimum limit. For example, it may be desirable to establish a minimum limit to account for background level/noise caused by chemistry and/or autofluorescence. Alternatively, or in addition to the above, image sensors may be configured to address nonlinearities, which may be caused by non-ideal circuitry.

[0083] Likewise, embodiments may identify a maximum limit that is within the value range. For example, due to chemistry, imaging speed (e.g., scan speed), limitations in an optical system, and/or other factors, it may be desirable to reduce the maximum value of the range-of- interest to a number less than the final value of the value range. For example, the range end value applied to 12-bit data may be 3500, instead of 4095. Thus, with a minimum limit of 100 and a maximum limit of 3500, the range-of-interest for 12-bit data may be 100-3500. Of course, the above range-of-interest is just one example for 12-bit data. It is understood that other ranges-of-interest may be used for 12-bit data and that other data sizes (e.g., 24-bit data) may require different ranges-of-interest.

[0084] In some cases, the range-of-interest may be identified during an imaging session and/or may correlate only to a select portion of the imaged area. For example, during an imaging session of a surface having a dense array of reaction sites (e.g., beadarray, SBS sequencing surface), it may be determined that a range-of-interest for a first section of the total area is a first range-of-interest and that a range-of-interest for a second section of the total area is a different second range-of-interest. For example, the first range-of-interest may be between 1000-3800 and the second range-of-interest may be between 100-3000. In such instances, the data compression and conversion may be optimized for the section of the total area. Different ranges-of-interest may occur for a variety of reasons, such as the chemistry of the assay and/or the performance of the optical system. [0085] In some embodiments, a range-of-interest may be at least 50%, at least 60%, or at least 70% of the value range. In more particular embodiments, the range-of-interest may be at least 75%, at least 85%, at least 90%, or at least 95% of the value range. Using the above example, if the range-of-interest is 100-3500 and the value range is 0-4095, then the range-of- interest is 83% of the value range. Different ranges-of-interest may overlap, may not overlap, may share a start value, or may share an end value.

[0086] As described above, one or more embodiments may include input and output values having a third relationship (or more) after the second relationship. In such embodiments, determining the range-of-interest, at 306, may include determining multiple sub-ranges-of- interest (SRIs). The number of SRIs may be one less than the number of relationships. As an example, a first SRI may be 100-3000 and a second SRI may be 3001-3500. The method may also include determining a number of code strings assigned to each SRI. For example, the second SRI may be required to have at most 5 code strings. As such, the first SRI may have the remaining number of code strings.

[0087] After identifying the desired data compression (e.g., 12-bit to 8-bit) at 304 and the range-of-interest (e.g., 100-3500) at 306, an iterative process 307 may be executed to generate an encoding table that provides an absolute error limit that is maintained across the range-of- interest. The process 307 may first identify a highest integer breakpoint value. More specifically, the process 307 may identify an initial or gross RQE that can be maintained through the data space given the number of codes that are available. In some cases, after identifying the initial or gross RQE, the process 307 may optimize the encoding table by identifying floating point values that further reduce the RQE. The optimized RQE is less than the initial RQE. As used herein, the term "optimized RQE" does not necessarily mean that the RQE is the best possible RQE, but that the optimized RQE is less than the initial RQE.

[0088] For example, the iterative process may include providing, at 308, a possible breakpoint value that is within the range-of-interest. In some embodiments, the possible breakpoint value provided, at 308, may be any value within the first 50% or within the first 30% of the range-of-interest. In some embodiments, the output value and the input value differ by an integer. For example, the output value assigned to the input value at the breakpoint may be the input value minus one. Alternatively, the output value assigned to the input value at the break point may be the input value minus two or more. Alternatively, the output value assigned to the input value at the breakpoint may be the input value plus one, two, or more. In other embodiments, the output value and the input value differ by a non- integer. For example, the output value may be assigned a floating point value as described below.

[0089] When identifying the breakpoint value, the input and output values at the possible breakpoint may be assigned to a trial table. For the input and output values prior to the possible breakpoint, the trial table may be populated with output values that have a first relationship with the input values (e.g., one-to-one). Alternatively, the input and output values may have a different relationship.

[0090] To illustrate the process 307 and the generation of trial tables, Figures 6A and 6B show two Trial Tables 341, 342, respectively. Each trial table has Input Values, Output (or Mapped) Values, RQE, and a Total # of Codes. Each of the trial tables may be populated with the input values (e.g., 0-31, 0-4095, etc.). Beginning with the trial table 341, the possible breakpoint value is 11 and the assigned output value is 10 and the RQE is -9.09%. The input values prior to the breakpoint value may be assigned output values that are equal to the corresponding input values. Alternatively, the input and output values may have a different relationship.

[0091] Turning to the process 307, a possible absolute error limit (AEL) may be determined at 310. For example, the AEL may be the RQE at the breakpoint, which is -9.09% in the trial table 341. For the next input value after the breakpoint value, the process 307 may determine, at 312, whether the next input value has an RQE that exceeds the AEL. The RQE is calculated using a candidate output value that is equal to the previously assigned (or prior) output value. For example, in the first iteration of the process 307, the input value is 12 and the candidate output value is 10 for an RQE of 16.67%, which exceeds the AEL. In this example, the process 307 than assigns, at 322, a larger output value to the trial table 341 that satisfies the AEL. In some embodiments, the assigned output value may be the largest output value that satisfies the AEL. In this case, the largest output value that satisfies the AEL is 13 (RQE = 8.33%).

[0092] After assigning, at 322, the larger output value to the table, the process 307 may determine, at 324, whether another input value (or input value + 1) exists in the trial table. In this case, the next input value does exist and is 13. Accordingly, the process 307 returns to the query at 312. Using the candidate output value of 13, the next input value of 13 has an RQE of 0.00%, which does not exceed the AEL. Accordingly, the process 307 then assigns, at 314, the candidate output value to the next input value. [0093] After assigning the candidate output value to the next input value, at 314, the process 307 may query, at 316, whether a next input value exists after the input value that had the output value assigned to it. If another input value does exist, the process 307 returns to the query 312. By iteratively performing the operations at 312, 314, 316, 322 and 324, the trial table 341 is populated as shown in Figure 6A.

[0094] If a next input value does not exist at 316 or 324, the process 307 may determine, at 318, whether the number of code strings used is less than the maximum number of code strings permitted. For example, the process 307 may determine the number of unique output values in the trial table. In the example of compressing 5 -bit data to 4-bit data, the maximum number of code strings is 16. As shown in Figure 6A, the trial table 341 has 17 code strings. Accordingly, the number of code strings in the trial table 341 is not less than the number of available code strings. The process 307 may then determine, at 320, whether the number of code strings used is more than the maximum number of code strings permitted. It should be understood that the determination, at 320, may be performed prior to the determination, at 318. Since the number of code strings in the trial table 341 is more than the number of available code strings, the process 307 may decrease, at 330, the possible breakpoint value to an adjusted breakpoint value.

[0095] The amount of decrease, at 330, may be based on the number of code strings that exceed the available number of code strings. In the trial table 341, the number of code strings only exceeds the available number of code strings by one. As such, the adjusted breakpoint value may be one less than the previous breakpoint value. At 332, the process 307 may query whether a trial table for the adjusted breakpoint value has already been constructed. If not, the process 307 returns to step 308 and begins constructing a new trial table. If the trial table has already been constructed, an encoding table may be generated, at 336, that is based, at least in part, on the trial table with the current breakpoint value and/or the trial table with the adjusted breakpoint value.

[0096] Returning to the process 307 with the adjusted breakpoint value of 10, a new trial table may be generated. The trial table 342 has the breakpoint value of 10 and, following the process 307 as described above, may be populated with values as shown in Figure 6B. As shown in the trial table 342, the last code string would only be used three times compared to the previous code string, which is used five times. In such instances, it may be possible to modify the trial table to further reduce the RQE, such as by using a floating point or by allowing the AEL to be slightly exceeded for one or more values as described below. [0097] At 334, the process 307 may query whether a trial table for the adjusted breakpoint value has already been constructed. If not, the process 307 may return to step 308 and begin constructing a new trial table with the adjusted breakpoint value. If the trial table has already been constructed with the adjusted breakpoint value, an encoding table may be generated, at 336, that is based, at least in part, on the trial table with the current breakpoint value and/or the trial table with the adjusted breakpoint value. In the above example, the encoding table may be generated based on the trial tables 341 and 342. For example, the process 307 may construct a trial table having an AEL that is between -10.00% and -9.09%.

[0098] In some cases, the queries at 318 and 320 may determine that number of code strings is equal to the maximum number of available code strings. In such instances, the encoding table may be generated, at 336, based on the trial table that had the maximum number of code strings.

[0099] Figure 7 illustrates a modified table 343 that is based on the trial table 341 (Figure 6A). As described above, the trial table 341 uses one more code string than permitted by the compression ratio requirements of the system. For instance, if a system includes an image sensor with 12-bit resolution per pixel but it is desirable to store the image using one byte (8 bits) per pixel, then the number of permitted output code strings is 256 (2 8 ). In this case the maximum number of input values would be 4096 (2 12 ). In such embodiments, one or more of the output values may be selectively changed and the subsequent output values may be recalculated to provide a modified table. For example, the trial table 341 has an input value of 21 that is assigned an output value of 22. This output value may be replaced with the prior output value of 19, which provides an RQE of -9.52%. The new RQE has an absolute value (9.52%) that is larger than the absolute error limit (AEL) used to populate the trial table 341. However, the absolute value of the new RQE is only 4.7% greater than the AEL and is less than the AEL of the trial table 342 (10.00%). Moreover, the absolute value of the new RQE provides a modified table that uses all of the available code strings. As indicated by the bracket 345 in Figure 7, the modified table 343 is identical to the trial table 341 until the input value of 21, which is assigned the new output value. The output values after the new output value are recalculated as shown.

[0100] Accordingly, the absolute value of the new RQE may become the new AEL and the modified table 343 may be designated as the encoding table to be generated at 336. It is noted that the above example is only one example of modifying a trial table, at 336, to provide an encoding table that uses all of the available code strings. Other modifications may be made. [0101] For example, in some embodiments, one or more of the assigned output values may be converted to floating point values. In some embodiments, an optimal encoding (i.e. one in which every available output code is used and the final code has an RQE exactly equal to the maximum allowed limit) is not achievable using an integer output encoding. In this case manual tweaking of the encoding table might be possible to reduce the RQE for some specific values, but the overall RQE limits cannot be reduced. As one example with respect to the Trial Table 2, the output value assigned at the breakpoint value 10 may be 9.1 or 9.05. Thus, the first RQE would be 9% or 9.5%, respectively. The Trial Table 2 may be populated using floating points are re-configured using different floating point values until all of the code words are used.

[0102] Figures 8 and 9 illustrate encoding tables 345 and 346, respectively, that have been populated using floating point values. To generate the encoding tables 345, 346, the breakpoint value may be identified in a similar manner as described above. More specifically, the highest integer breakpoint having an RQE that may be maintained throughout the range-of-interest with the number of code strings available is identified. After identifying this breakpoint value, the output values may be assigned floating points to further optimize the encoding table. When the encoding table is optimized, the AEL may be further reduced. The floating point values may be identified using a variety of techniques and methodologies. By way of example, the floating point values may be identified using the process 347 shown in Figure 10. The process 347 may be similar to a binary search.

[0103] For example, the RQE associated with the breakpoint value N is equal to 1/N. This value is designated as the RQE_hi. The value of 1/(N+1) is designated as RQE_lo. The process 347 may calculate a RQEjxial, which is equal to (RQE_lo + RQE_hi)/2, and determine whether an encoding table may be populated that can maintain an AEL that is less than RQE_trial. If there are not enough code strings available for constraining the RQE across the range-of-interest (or the encoding table), then the RQEjxial is designated as the new RQE_lo and the process repeats. If there are enough code strings available for constraining the RQE across the range-of-interest, the process determines whether the improvement between the previous RQE and the current RQE is substantial. If the improvement in the RQE compared to the previous RQE (e.g., RQE_trial vs. RQE_hi) is sufficient, the process repeats with theRQE_trial designated as the new RQE_hi. If the improvement is not sufficient, then the process ends with the RQE_hi or, optionally, the last RQE_trial as the AEL of the encoding table. [0104] The Encoding Table 345 in Figure 8 represents an unbalanced table that was generated using floating points. More specifically, through each cycle the floating point that could provide the maximum RQE (e.g., 8.77%) was calculated and this value was used as the output value until the RQE was not satisfied. At this point, the next value that provided the maximum RQE was calculated and this value was used as the output value until the RQE was not satisfied. This process repeated until a designated end point (e.g., end of the range-of- interest or the value range). A similar process could be used so that the minimum RQE (e.g., - 8.77%) is reached for each cycle. The Encoding Table 346 of Figure 9 represents a balanced table. In this case, logic may analyze the range of input values that are assigned a common output value and recompute the output value so that the highest and lowest RQEs for that output value are equal values, but with different signs. For example, the input values 21-25 are assigned the same output value of 22.82609. The highest RQE in this sub-range is 8.70% and the lowest RQE is -8.70%. This may be identified through one pass: If the common output value Q is used to represent input values A through B, then Q = 2AB/(A+B). Such an approach biases the output values around zero.

[0105] As demonstrated above, a variety of processes may be used to populate the output values of the encoding table while constraining the RQE.

[0106] Returning to Figure 5, after the encoding table is generated at 336, the encoding table may be utilized to compress data, at 338. This operation, at 338, may include receiving k-bit data strings that represent input values from signal data, such as image data. The input values are within the designated value range. The encoding table will have corresponding output values for each possible input value that may be received. The operation, at 338, also includes converting the data strings to (fc-n)-bit code strings. The code strings include output values within the value range. The converting operation converts the input values to the output values based on a first relationship, which is determined by the encoding table, for the input values below a breakpoint value within the value range. The converting operation maps or quantizes the input values to corresponding output values in accordance with a different second relationship, which is determined by the encoding table, for the input values above the breakpoint value. The second relationship defines relative quantization errors (RQEs) between the input values and the corresponding output values to be constrained within an absolute error limit. In some embodiments, the method 300 may include loading the encoding table into a system or device. For example, the method 300 may include providing an instrument (e.g., camera) and loading the encoding table into the instrument. The encoding table may be used to convert full raw pixel values obtained by the instrument into bits for transmission.

[0107] As described above, one or more embodiments may include a predetermined encoding table that is configured to convert the data strings to corresponding code strings based on the encoding table. In other embodiments, however, the data may be compressed without a predetermined (or pre-constructed) encoding table. Instead, the encoding table may be generated after receiving the data strings and the data strings may be converted to the code strings after generating the encoding table.

[0108] Figure 11 shows a graph 350 that illustrates a relationship between the RQE and the input values when the data compression is from 12-bit data to 8-bit data. In this example, 100 counts were added to every pixel value to provide a bias voltage. Using the method 300 (Figure 5), a trial table was generated in which the breakpoint value is 190. Accordingly, the RQE is ((191-190)/(191-100))*(100) or 1.10%. However, the trial table used too many code strings for the 8-bit data conversion. Accordingly, the trial table was modified by selectively changing output values to arrive at an encoding table that uses the maximum number of available code strings. In the graph 350, the absolute error limit is 1.136%, which is only 3.2% greater than the RQE at the breakpoint value. As demonstrated in Figure 11, the RQE is constrained across the entire range of interest (100-4095).

[0109] Figure 12 is a graph 360 that illustrates a relationship between the input and output values for the modified table that generated the graph 350. As shown, a series of steps or plateaus 362 are formed the represent regions where a single output value represents a subrange of input values.

[0110] As described above, embodiments set forth herein may be particularly suitable for applications in which the signal data has a large range-of-interest. Methods and systems described herein may be particularly suitable for protocols that detect light emissions from a biological or chemical substance. Examples of such protocols include multiplex array-based assays and DNA sequencing. In some multiplex array-based assay protocols, the sites include different populations of probe molecules that are immobilized to a substrate surface. The probes may be differentiated based on each probe's address on the substrate surface. For example, each population of probe molecules may have a known location (e.g., coordinates on a grid) on the substrate surface. The probe molecules are exposed to target analytes under controlled conditions such that a detectable change occurs at one or more addresses due to a specific interaction between a target analyte and the probe. For example, a fluorescently labeled target analyte that binds to a specific probe can be identified based on recruitment of the fluorescent label to the address of the probe. The addresses on the array can be determined by an assay system to identify which populations reacted with the analytes. By knowing the chemical structure of the probe molecules that reacted with the analytes, properties of the analyte may be determined. In other multiplex assays, designated reactions are conducted on surfaces of individually identifiable microparticles that may also be scanned and analyzed.

[0111] In one sequencing-by-synthesis (SBS) protocol, the sites include clusters of clonal amplicons formed through bridge PCR on a surface of a channel of a flow cell. After generating the clusters of clonal amplicons, the amplicons may be "linearized" to make single stranded DNA (sstDNA). A predetermined sequence of reagents may be flowed into the flow cell to complete a cycle of sequencing. Each sequencing cycle extends the sstDNA by a single nucleotide (e.g., A, T, G, C) having a unique fluorescent label. Each nucleotide has a reversible terminator that allows only a single-base incorporation to occur in one cycle. After nucleotides are added to the sstDNAs clusters, images for two or more channels are taken. After imaging, the fluorescent label and the terminator are chemically cleaved from the sstDNA and the growing DNA strand is ready for another cycle. Several cycles of reagent delivery and optical imaging can be repeated to determine the sequences of the nucleic acids of the clonal amplicons.

[0112] Accordingly, in some embodiments, a method may include conducting a plurality of SBS cycles to grow a complementary strand along each template strand. Each SBS cycle includes detecting optical signals from the complementary strands. The complementary strands may be grouped together in clusters such that each cluster has a plurality of the same sequences. In other embodiments, the method includes conducting a hybridization protocol to determine whether a sample hybridizes with probes having known chemical moieties.

[0113] The optical signals from a sub-area of the surface may be detected. This sub-area may be referred to as a tile in some embodiments or as a swath in some embodiments. A tile may have a more rectangular or square shape, whereas a swath may have one dimension that is much larger than the other dimension. Each sub-area may be analyzed separately or stitched with the other sub-areas and analyzed collectively. Analysis may include determining a center or centroid of light emissions. Each center or centroid may correspond to a center of a cluster of nucleic acids or a group of probes (e.g., found on microarrays). The centers or centroids may be determined by identifying the peaks of the light emissions across the sub-area or total area. Because each feature (e.g., cluster, probes) is separate from adjacent features, the peaks should be separate from one another. Analysis of the different features (e.g., base-calling or determining whether hybridization was positive and to what degree) may be based on knowledge of the light emissions of nearby features.

[0114] As used herein, the term "optical signals" includes electromagnetic energy capable of being detected. In the context of biological or chemical assays, the term includes light emissions from labeled biological or chemical substances and also includes transmitted light that is refracted or reflected by optical substrates. For example, samples may include encoded microparticles that transform the incident light into optical signals that identify the microparticle (or substances immobilized on the microparticles). The transformed optical signals may form a detectable pattern that represents a code of the illuminated microparticle. Optical signals may also include incident light that is directed onto the sample to excite labels or to be reflected/refracted by the sample.

[0115] Optical signals, including excitation radiation that is incident upon the sample and light emissions that are provided by the sample, may have one or more spectral patterns. For example, more than one type of label may be excited in an imaging session. In such cases, the different types of labels may be excited by a common excitation light source or may be excited by different excitation light sources that simultaneously provide incident light. Each type of label may emit optical signals having a spectral pattern that is different from the spectral pattern of other labels. For example, the spectral patterns may have different emission spectra. The light emissions may be filtered to separately detect the optical signals from other emission spectra. As used herein, when the term "different" is used with respect to emission spectra, the emission spectra may have wavelength ranges that at least partially overlap so long as at least a portion of one emission spectrum does not completely overlap the other emission spectrum. Different emission spectra may have other characteristics that do not overlap, such as emission anisotropy or fluorescence lifetime. When the light emissions are filtered, the wavelength ranges of the emission spectra may be narrowed.

[0116] In some embodiments, the optical signals are directed through an optical train having a plurality of optical components. The optical signals are directed to a detector (e.g., image sensor). In particular embodiments, the optical components of the optical train may be selectively moveable. As used herein, when the term "selectively" is used in conjunction with "moving" and similar terms, the phrase means that the position of the optical component may be changed in a desired manner. For example, at least one of the location or the orientation of the optical component may be changed. The phrase "selectively moving" includes removing the optical component from the optical path, adjusting an orientation of the optical component in the optical path (e.g., rotating the optical component), or moving the optical component such that the orientation does not change, but the location of the optical component does change. In particular embodiments, the optical components are selectively moved between imaging sessions. However, in other embodiments, the optical components may be selectively moved during an imaging session.

[0117] Imaging sessions include a time period in which at least a portion of the sample is imaged. One sample may undergo or be subject to multiple imaging sessions. For example, one sample may be subject to two different imaging sessions in which each imaging session attempts to detect optical signals from one or more different labels. As a specific example, a first scan along at least a portion of a nucleic acid sample may detect labels associated with nucleotides A and C and a second scan along at least a portion of the sample may detect labels associated with nucleotides G and T. Accordingly, a total of four different images may be acquired for each imaged area.

[0118] During an imaging session, optical signals provided by the sample are observed through an optical system. Various types of imaging may be used with embodiments described herein. For example, embodiments may be configured to perform at least one of epi-fluorescent imaging and total-internal-reflectance-fluorescence (TIRF) imaging. In particular embodiments, the sample imager is a scanning time-delay integration (TDI) system. Furthermore, the imaging sessions may include "line scanning" one or more samples such that a linear focal region of light is scanned across the sample(s). Some methods of line scanning are described, for example, in U.S. Pat. No. 7,329,860 and International Publication No. WO 2009/137435, of which the complete subject matter is incorporated herein by reference in their entirety. Imaging sessions may also include moving a point focal region of light in a raster pattern across the sample(s). Alternatively, one or more regions of the sample(s) may be illuminated at one time in a "step and shoot" manner. In other embodiments, imaging sessions may include detecting light emissions that are generated, without illumination, and based entirely on emission properties of a label within the sample (e.g., a radioactive or chemiluminescent component in the sample).

[0119] Systems that may be capable of carrying out one or more assay protocols described herein include systems developed by Illumina, Inc., such as the MiSeq, HiSeq 2500, HiSeq X Ten, NeoPrep, HiScan, NextSeq, and iScan systems. Systems capable of carrying out one or more of the assay protocols described herein are described in U.S. Patent Nos. 8,951,781 ; 8,748,789; 7,769,548; and 8,481,903 and in U.S. Patent Publ. No. 2013/0260372, each of which is incorporated herein by reference in its entirety.

[0120] As used herein, the term "sample" includes various matters of interest that undergo an imaging session where optical signals from the sample are observed. In particular embodiments, a sample may include biological or chemical substances of interests. As used herein, the term "biological or chemical substances" may include a variety of biological or chemical substances that are suitable for being imaged or examined with the optical systems described herein. For example, biological or chemical substances include biomolecules, such as nucleosides, nucleic acids, polynucleotides, oligonucleotides, proteins, enzymes, polypeptides, antibodies, antigens, ligands, receptors, polysaccharides, carbohydrates, polyphosphates, nanopores, organelles, lipid layers, cells, tissues, organisms, and biologically active chemical compound(s) such as analogs or mimetics of the aforementioned species. Other chemical substances include labels that can be used for identification, examples of which include fluorescent labels and others set forth in further detail below.

[0121] Different types of samples may be coupled to different types of optical substrates or support structures that affect incident light in different manners. In particular embodiments, samples to be detected can be attached to one or more surfaces of a substrate or support structure. For example, open-face substrates (such as some microarrays and chips) have biological or chemical substances immobilized to an exterior surface of the open-face substrate. As such, optical signals to be detected are projected from an exterior surface through air and perhaps through liquid having different indices of refraction when the optical signals are collected from above. However, flow cells or capillary flow optical substrates may include one or more flow channels. In flow cells, the flow channels may be separated from the surrounding environment by top and bottom layers of the flow cell. Thus, optical signals to be detected are projected from within the support structure and may transmit through multiple layers of material having different refractive indices. For example, when detecting optical signals from an inner bottom surface of a flow channel and when detecting optical signals from above the flow channel, the optical signals that are desired to be detected may propagate through a fluid having an index of refraction, through one or more layers of the flow cells having different indices of refraction, and through the ambient environment having a different index of refraction. In some embodiments, the optical signals propagating from the open-face substrate may be affected differently than the optical signals propagating from a surface of the flow channel. In such cases, embodiments described herein may facilitate adjusting or modifying the optical train that directs the optical signals from the sample to the detector assembly. However, in other embodiments, the optical train is not adjusted for different samples. For example, the same optical train may detect optical signals from a flow cell and optical signals from an open-face substrate. Embodiments may adjust or modify the optical train as described in U.S. Patent No. 8,481,903, which is incorporated herein by reference in its entirety.

[0122] Optical substrates or support structures include flow cells having flow channels where, for example, nucleic acids are sequenced. In other embodiments, optical substrates may include one or more slides, open-face substrates, planar chips (such as those used in microarrays), or microparticles. In such cases where the optical substrate includes a plurality of microparticles that support the biological or chemical substances, the microparticles may be held by another optical substrate, such as a slide, array of pits, or grooved plate. In particular embodiments, the optical substrate includes diffraction grating based encoded optical identification elements similar to or the same as those described in pending U.S. patent application Ser. No. 10/661,234, entitled Diffraction Grating Based Optical Identification Element, filed Sep. 12, 2003, which is incorporated herein by reference in its entirety, discussed more hereinafter. A bead cell or plate for holding the optical identification elements may be similar to or the same as that described in pending U.S. patent application Ser. No. 10/661,836, entitled "Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same", filed Sep. 12, 2003, and U.S. Pat. No. 7,164,533, entitled "Hybrid Random Bead/Chip Based Microarray", issued Jan. 16, 2007, as well as U.S. patent applications Ser. No. 60/609,583, entitled "Improved Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same", filed Sep. 13, 2004, Ser. No. 60/610,910, entitled "Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same", filed Sep. 17, 2004, each of which is incorporated herein by reference in its entirety.

[0123] Optical systems described herein may also be used to scan samples that include microarrays. A microarray may include a population of different probe molecules that are attached to one or more substrates such that the different probe molecules can be differentiated from each other according to relative location. An array can include different probe molecules, or populations of the probe molecules, that are each located at a different addressable location on a substrate. Alternatively, a microarray can include separate optical substrates, such as beads, each bearing a different probe molecule, or population of the probe molecules, that can be identified according to the locations of the optical substrates on a surface to which the substrates are attached or according to the locations of the substrates in a liquid. Exemplary arrays in which separate substrates are located on a surface include, without limitation, a BeadChip Array available from Inc. (San Diego, Calif.) or others including beads in wells such as those described in U.S. Pat. Nos. 6,266,459, 6,355,431, 6,770,441, 6,859,570, and 7,622,294; and PCT Publication No. WO 00/63437, each of which is hereby incorporated by reference. Other arrays having particles on a surface include those set forth in US 2005/0227252; WO 05/033681 ; and WO 04/024328, each of which is hereby incorporated by reference.

[0124] Any of a variety of microarrays known in the art, including, for example, those set forth herein, can be used. A typical microarray contains reaction sites, sometimes referred to as features, each having a population of probes. The population of probes at each reaction site is typically homogenous having a single species of probe, but in some embodiments the populations can each be heterogeneous. Reaction sites or features of an array are typically discrete, being separated with spaces between each other. The size of the probe sites and/or spacing between the reaction sites can vary such that arrays can be high density, medium density or lower density. High density arrays are characterized as having reaction sites separated by less than about 15 μιη. Medium density arrays have reaction sites separated by about 15 to 30 μιη, while low density arrays have reaction sites separated by greater than 30 μιη. An array useful in some embodiments can have reaction sites that are separated by less than 100 μιη, 50 μιη, 10 μιη, 5 μιη, 1 μιη, or 0.5 μιη. An apparatus or method of an embodiment can be used to image an array at a resolution sufficient to distinguish sites at the above densities or density ranges.

[0125] Further examples of commercially available microarrays that can be used include, for example, an Affymetrix® GeneChip® microarray or other microarray synthesized in accordance with techniques sometimes referred to as VLSIPS. (Very Large Scale Immobilized Polymer Synthesis) technologies as described, for example, in U.S. Pat. Nos. 5,324,633; 5,744,305; 5,451,683; 5,482,867; 5,491,074; 5,624,711 ; 5,795,716; 5,831,070; 5,856,101 ; 5,858,659; 5,874,219; 5,968,740; 5,974,164; 5,981,185; 5,981,956; 6,025,601 ; 6,033,860; 6,090,555; 6,136,269; 6,022,963; 6,083,697; 6,291,183; 6,309,831 ; 6,416,949; 6,428,752 and 6,482,591, each of which is hereby incorporated by reference. A spotted microarray can also be used in a method according to an embodiment. An exemplary spotted microarray is a CodeLink™ Array available from Amersham Biosciences. Another microarray that is useful is one that is manufactured using inkjet printing methods such as SurePrint™ Technology available from Agilent Technologies.

[0126] The systems and methods set forth herein can be used to detect the presence of a particular target molecule in a sample contacted with the microarray. This can be determined, for example, based on binding of a labeled target analyte to a particular probe of the microarray or due to a target-dependent modification of a particular probe to incorporate, remove, or alter a label at the probe location. Any one of several assays can be used to identify or characterize targets using a microarray as described, for example, in U.S. Patent Application Publication Nos. 2003/0108867; 2003/0108900; 2003/0170684; 2003/0207295; or 2005/0181394, each of which is hereby incorporated by reference.

[0127] Furthermore, optical systems described herein may be constructed to include various components and assemblies as described in PCT application PCT/US07/07991, entitled "System and Devices for Sequence by Synthesis Analysis", filed Mar. 30, 2007 and/or to include various components and assemblies as described in International Publication No. WO 2009/042862, entitled "Fluorescence Excitation and Detection System and Method", filed Sep. 26, 2008, both of which the complete subject matter are incorporated herein by reference in their entirety. In particular embodiments, optical systems can include various components and assemblies as described in U.S. Pat. No. 7,329,860 and WO 2009/137435, of which the complete subject matter is incorporated herein by reference in their entirety. Optical systems can also include various components and assemblies as described in U.S. patent application Ser. No. 12/638,770, filed on Dec. 15, 2009, of which the complete subject matter is incorporated herein by reference in its entirety.

[0128] In particular embodiments, methods, and optical systems described herein may be used for sequencing nucleic acids. For example, sequencing-by-synthesis (SBS) protocols are particularly applicable. In SBS, a plurality of fluorescently labeled modified nucleotides are used to sequence dense clusters of amplified DNA (possibly millions of clusters) present on the surface of an optical substrate (e.g., a surface that at least partially defines a channel in a flow cell). The flow cells may contain nucleic acid samples for sequencing where the flow cells are placed within the appropriate flow cell holders. The samples for sequencing can take the form of single nucleic acid molecules that are separated from each other so as to be individually resolvable, amplified populations of nucleic acid molecules in the form of clusters or other features, or beads that are attached to one or more molecules of nucleic acid. The nucleic acids can be prepared such that they comprise an oligonucleotide primer adjacent to an unknown target sequence. To initiate the first SBS sequencing cycle, one or more differently labeled nucleotides, and DNA polymerase, etc., can be flowed into/through the flow cell by a fluid flow subsystem (not shown). Either a single type of nucleotide can be added at a time, or the nucleotides used in the sequencing procedure can be specially designed to possess a reversible termination property, thus allowing each cycle of the sequencing reaction to occur simultaneously in the presence of several types of labeled nucleotides (e.g. A, C, T, G). The nucleotides can include detectable label moieties such as fluorophores. Where the four nucleotides are mixed together, the polymerase is able to select the correct base to incorporate and each sequence is extended by a single base. Nonincorporated nucleotides can be washed away by flowing a wash solution through the flow cell. One or more lasers may excite the nucleic acids and induce fluorescence. The fluorescence emitted from the nucleic acids is based upon the fluorophores of the incorporated base, and different fluorophores may emit different wavelengths of emission light. A deblocking reagent can be added to the flow cell to remove reversible terminator groups from the DNA strands that were extended and detected. The deblocking reagent can then be washed away by flowing a wash solution through the flow cell. The flow cell is then ready for a further cycle of sequencing starting with introduction of a labeled nucleotide as set forth above. The fluidic and detection steps can be repeated several times to complete a sequencing run. Exemplary sequencing methods are described, for example, in Bentley et al., Nature 456:53-59 (2008), WO 04/018497; U.S. Pat. No. 7,057,026; WO 91/06678; WO 07/123,744; U.S. Pat. No. 7,329,492; U.S. Pat. No. 7,211,414; U.S. Pat. No. 7,315,019; U.S. Pat. No. 7,405,281, and US 2008/0108082, each of which is incorporated herein by reference.

[0129] In some embodiments, nucleic acids can be attached to a surface and amplified prior to or during sequencing. For example, amplification can be carried out using bridge amplification. Useful bridge amplification methods are described, for example, in U.S. Pat. No. 5,641,658; U.S. Patent Publ. No. 2002/0055100; U.S. Pat. No. 7,115,400; U.S. Patent Publ. No. 2004/0096853; U.S. Patent Publ. No. 2004/0002090; U. S. Patent Publ. No. 2007/0128624; and U.S. Patent Publ. No. 2008/0009420. Another useful method for amplifying nucleic acids on a surface is rolling circle amplification (RCA), for example, as described in Lizardi et al., Nat. Genet. 19:225-232 (1998) and US 2007/0099208 Al, each of which is incorporated herein by reference. Emulsion PCR on beads can also be used, for example as described in Dressman et al., Proc. Natl. Acad. Sci. USA 100:8817-8822 (2003), which is incorporated herein by reference. [0130] Other sequencing techniques that are applicable for use of the methods and systems set forth herein are pyrosequencing, nanopore sequencing, and sequencing by ligation. Exemplary pyrosequencing techniques and samples that are particularly useful are described in U.S. Pat. No. 6,210,891 ; U.S. Pat. No. 6,258,568; U.S. Pat. No. 6,274,320 and Ronaghi, Genome Research 11 :3-11 (2001), each of which is incorporated herein by reference. Exemplary nanopore techniques and samples that are also useful are described in Deamer et al., Acc. Chem. Res. 35:817-825 (2002); Li et al, Nat. Mater. 2:611-615 (2003); Soni et al, Clin Chem. 53: 1996-2001 (2007) Healy et al., Nanomed. 2:459-481 (2007) and Cockroft et al., J. am. Chem. Soc. 130:818-820; and U.S. Pat. No. 7,001,792, each of which is incorporated herein by reference. In particular, these methods utilize repeated steps of reagent delivery. An instrument or method set forth herein can be configured with reservoirs, valves, fluidic lines and other fluidic components along with control systems for those components in order to introduce reagents and detect signals according to a desired protocol such as those set forth in the references cited above. Any of a variety of samples can be used in these systems such as substrates having beads generated by emulsion PCR, substrates having zero-mode waveguides, substrates having integrated CMOS detectors, substrates having biological nanopores in lipid bilayers, solid-state substrates having synthetic nanopores, and others known in the art. Such samples are described in the context of various sequencing techniques in the references cited above and further in US 2005/0042648; US 2005/0079510; US 2005/0130173; and WO 05/010145, each of which is incorporated herein by reference.

[0131] Exemplary labels that can be detected in accordance with various embodiments, for example, when present on or within a support structure include, but are not limited to, a chromophore; luminophore; fluorophore; optically encoded nanoparticles; particles encoded with a diffraction-grating; electrochemiluminescent label such as Ru(bpy).sup.32+; or moiety that can be detected based on an optical characteristic. Fluorophores that may be useful include, for example, fluorescent lanthanide complexes, including those of Europium and Terbium, fluorescein, rhodamine, tetramethylrhodamine, eosin, erythrosin, coumarin, methyl- coumarins, pyrene, Malacite green, Cy3, Cy5, stilbene, Lucifer Yellow, Cascade Blue™, Texas Red, alexa dyes, phycoerythin, bodipy, and others known in the art such as those described in Haugland, Molecular Probes Handbook, (Eugene, Oreg.) 6th Edition; The Synthegen catalog (Houston, Tex.), Lakowicz, Principles of Fluorescence Spectroscopy, 2nd Ed., Plenum Press New York (1999), or WO 98/59066, each of which is hereby incorporated by reference. In some embodiments, the one pair of labels may be excitable by a first excitation wavelength and another pair of labels may be excitable by a second excitation wavelength.

[0132] Figure 13 is a block diagram of an assay system 400 for biological or chemical analysis formed in accordance with one embodiment. The assay system 400 may be a workstation that may be similar to a bench-top device or desktop computer. The assay system 400 may include or be part of the system 100 (Figure 1). Moreover, the assay system 400 may be configured to perform the method 300 (Figure 5) in addition to other process for an assay protocol.

[0133] A majority of the systems and components for conducting the desired reactions can be within a common housing 415 of the assay system 400. In some embodiments, the assay system 400 includes one or more components, assemblies, or systems that are remotely located from the assay system 400. Furthermore, the assay system 400 may include various components, assemblies, and systems (or sub-systems) that interact with each other to perform one or more predetermined methods or assay protocols for biological or chemical analysis. In some embodiments, the protocols may be performed in an automated manner without user interaction after the protocol has begun.

[0134] For example, the assay system 400 includes a processing unit (or system controller) 402 that may communicate with the various components, assemblies, and sub-systems of the assay system 400. As shown, the assay system 400 has an optical system 404, an excitation source assembly 406, a detector assembly 408, and a docking station or system 410 that supports one or more carrier assemblies 412 having substrates with samples thereon. In some embodiments, the optical system 404 includes the excitation source assembly 406 and/or the detector assembly 408. In some embodiments, the optical system 404 is configured to direct incident light from the excitation source assembly 406 onto the sample(s). The excitation source assembly 406 may include one or more excitation light sources that are configured to excite labels associated with the samples. The excitation source assembly 406 may also be configured to provide incident light that is reflected and/or refracted by the samples. As shown, the samples may provide optical signals that include light emissions 416 and/or transmission light 418. The docking system 410 and the optical system 404 may be moved relative to each other. In particular embodiments, the docking system 410 includes a system stage 430 and a motor assembly 432 that moves the system stage 430 with respect to the optical system 404. In other embodiments, the motor assembly 432 may be operably coupled to the optical system 404 and may move the optical system 404 in addition to or alternatively to the docking system 410. The optical system 404 may be or include an optical train having a plurality of optical components.

[0135] The optical system 404 may also be configured to direct the light emissions 416 and/or transmission light 418 to the detector assembly 408. The detector assembly 408 may include one or more image sensors. The image sensors may be, by way of example only, CMOS imagers, CCD cameras, or photodiodes. The image sensors may include a processing unit that is configured to convert the k-bit data to k-n bit data. The processing unit may be similar to the processing unit 402. The optical system 404 may include an optics adjustment system (or subsystem) 420. The optics adjustment system 420 is configured to selectively move one or more optical components of the optical system 404. For example, the optics adjustment system 420 may selectively move a path compensator 422 and/or an optical device 424 that is located upstream or downstream from the sample. Components can also be shared among two or more optical trains. For example, one or more components can be alternatively placed into contact with different optical paths (e.g. emissions from different samples).

[0136] Conventional image sensors may incorporate sensor-specific corrections that are accomplished by a lookup table used by the image sensor. In some embodiments, the predetermined process described herein may be combined with the lookup table that is configured to provide the sensor-specific corrections. As such, a single hybrid lookup table may achieve the sensor-specific corrections while also constraining RQEs.

[0137] Also shown, the assay system 400 may include a fluidic control system 434 to control the flow of fluid throughout a fluidic network 435 (indicated by the solid lines) of the assay system 400. The fluidic control system 434 may deliver reagents to the sample during, for example, a sequencing protocol. The assay system 400 may also include a fluid storage system 436 that is configured to hold fluids that may be used by the assay system 400 and a temperature control system 438 that regulates the temperature of the fluid. The temperature control system 438 may also generally regulate a temperature of the assay system 400 using, for example, heat sinks, and blowers. Exemplary temperature control systems are described in U.S. Ser. No. 12/565,606, which is incorporated herein by reference.

[0138] In some embodiments, the fluidic network 435 includes one or more umbilical cables (not shown) that operatively couples the fluidic control system 434 and the fluidic storage system 436 to the system stage 430 and other components of the assay system 400. The carrier assembly 412 may comprise a flow cell that is configured to have solutions flow therethrough during an assay protocol. The solutions may be delivered through the umbilical cable. For example, the umbilical cable may be fluidically coupled to the flow cell and a multi-port pump, which is, in turn, fluidically coupled to various fluids (e.g., reagents, buffers, and others) in the fluid storage system 436. The pump may receive instructions for delivering different solutions to the flow cell. The umbilical cable may include one or more fluidic lines and also one or more communication lines (e.g., electrical or optical) that deliver instructions.

[0139] Also shown, the assay system 400 may include a user interface 440 that interacts with the user. The user interface 440 may be similar to the user interface 160 (Figure 1). For example, the user interface 440 may include a display 442 to display or request information from a user and a user input device 444 to receive user inputs. In some embodiments, the display 442 and the user input device 444 are the same device (e.g., touchscreen). As will be discussed in greater detail below, the assay system 400 may communicate with various components to perform the desired reactions. The assay system 400 may also be configured to analyze the detection data to provide a user with desired information.

[0140] The fluidic control system 434 is configured to direct and regulate the flow of one or more fluids through the fluidic network 435. The fluidic network 435 may be in fluid communication with at least one of the substrates and the fluid storage system 436. For example, select fluids may be drawn from the fluid storage system 436 and directed to the carrier assembly 412 having the substrate in a controlled manner, or the fluids may be drawn from the substrate and directed toward, for example, a waste reservoir in the fluid storage system 436. Although not shown, the fluidic control system 434 may include flow sensors that detect a flow rate or pressure of the fluids within the fluid network. The sensors may communicate with the processing unit 402.

[0141] The temperature control system 438 is configured to regulate the temperature of fluids at different regions of the fluidic network 435, the fluid storage system 436, and/or the substrate. For example, the temperature control system 438 may include a thermocycler (not shown) that interfaces with the substrate (or carrier assembly 412) and controls the temperature of the fluid that flows along the sample. The temperature control system 438 may also regulate the temperature of solid elements or components of the assay system 400 or sample. Although not shown, the temperature control system 438 may include sensors to detect the temperature of the fluid or other components. The sensors may communicate with the processing unit 402. [0142] The fluid storage system 436 is in fluid communication with the sample and may store various reaction components or reactants that are used to conduct the desired reactions therein. The fluid storage system 436 may store fluids for washing or cleaning the fluidic network 435 or the sample and also for diluting the reactants. For example, the fluid storage system 436 may include various reservoirs to store reagents, enzymes, other biomolecules, buffer solutions, aqueous, and non-polar solutions, and the like. Furthermore, the fluid storage system 436 may also include waste reservoirs for receiving waste products.

[0143] The docking system 410 is configured to engage one or more carrier assemblies 412, for example, in at least one of a mechanical, electrical, and fluidic manner. The docking system 410 may hold the carrier assemblies 412 in a desired orientation to facilitate the flow of fluid through the carrier assemblies 412 and/or imaging of the sample. Docking systems can be configured to deliver fluids to one sample, but not to another. The system can be configured to deliver different fluids to different samples. Alternatively, or additionally, fluids can be delivered to different samples in a different temporal sequence, amount, flow rate, or duration. In some embodiments, the docking system 410 includes a carrier sensor 413. The carrier sensor 413 may determine a type of sample by, for example, scanning a barcode on the substrate of the carrier assembly 412 or by detecting RF signals from an RFID tag that identifies the type of sample.

[0144] As used here, a processing unit includes processing circuitry configured to perform one or more tasks, functions, or steps, such as those described herein. For instance, the processing unit may be a logic-based device that performs operations based on instructions stored on a tangible and non-transitory computer readable medium, such as memory. It may be noted that "processing unit," as used herein, is not intended to necessarily be limited to a single processor or single logic -based device. For example, the processing unit may include a single processor (e.g., having one or more cores), multiple discrete processors, one or more application specific integrated circuits (ASICs), and/or one or more field programmable gate arrays (FPGAs). In some embodiments, the processing unit is an off-the-shelf device that is appropriately programmed or instructed to perform operations, such as the processes described herein.

[0145] The processing unit may also be a hard-wired device (e.g., electronic circuitry) that performs the operations based on hard-wired logic that is configured to perform the algorithms described herein. Accordingly, the processing unit may include one or more ASICs and/or FPGAs. Alternatively, or in addition to the above, the processing unit may include or may be associated with a tangible and non-transitory memory having stored thereon instructions configured to direct the processing unit to perform the processes described herein.

[0146] It is noted that operations performed by the processing unit (e.g., operations corresponding to the methods/processes described herein, or aspects thereof) may be sufficiently complex that the operations may not be performed by a human being within a reasonable time period based on the intended application of the assay system. The processing unit 402 may be configured to receive signals from the various sub-systems and devices of the system 400. The processing unit 402 may be configured to perform the imaging and fluidic functions set forth herein. The processing unit 402 may also be configured to perform the method 300 (Figure 5). In some embodiments, a processing unit is incorporated into the image sensor and is configured to perform the method 300. For example, the encoder may be a processing unit that includes a database or LUT that converts the k bit data into k-n bit data.

[0147] Processing units may also include or be communicatively coupled to memory. In some embodiments, the memory may include non-volatile memory. For example, the memory may be or include read-only memory (ROM), random-access memory (RAM), electrically erasable programmable read-only memory (EEPROM), flash memory, and the like. The memory may be configured to store data regarding operating parameters of the system 400.

[0148] In the exemplary embodiment, the processing unit executes a set of instructions that are stored in one or more storage elements, memories, or modules in order to at least one of obtain and analyze detection data. Storage elements may be in the form of information sources or physical memory elements within the assay system 400. Embodiments include non- transitory computer-readable media that include set of instructions for performing or executing one or more processes set forth herein. Non-transitory computer readable media may include all computer-readable media, except for transitory propagating signals per se. The non- transitory computer readable media may include generally any tangible computer-readable medium including, for example, persistent memory such as magnetic and/or optical disks, ROM, and PROM and volatile memory such as RAM. The computer-readable medium may store instructions for execution by one or more processors.

[0149] The set of instructions may include various commands that instruct the assay system 400 to perform specific operations such as the methods and processes of the various embodiments described herein. The set of instructions may be in the form of a software program. As used herein, the terms "software" and "firmware" are interchangeable, and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are exemplary only, and are thus not limiting as to the types of memory usable for storage of a computer program.

[0150] Components of the assay system may include or represent hardware circuits or circuitry that include and/or are connected with one or more processors, such as one or more computer microprocessors. The operations of the methods described herein and the assay system can be sufficiently complex such that the operations cannot be mentally performed by an average human being or a person of ordinary skill in the art within a commercially reasonable time period.

[0151] The software may be in various forms such as system software or application software. Further, the software may be in the form of a collection of separate programs, or a program module within a larger program or a portion of a program module. The software also may include modular programming in the form of object-oriented programming. After obtaining the detection data, the detection data may be automatically processed by the assay system 400, processed in response to user inputs, or processed in response to a request made by another processing machine (e.g., a remote request through a communication link).

[0152] The processing unit 402 may be connected to the other components or sub-systems of the assay system 400 via communication links (indicated by dashed lines). The processing unit 402 may also be communicatively connected to off-site systems or servers. The communication links may be hardwired or wireless. The processing unit 402 may receive user inputs or commands, from the user interface 440. The user input device 444 may include a keyboard, mouse, a touch-screen panel, and/or a voice recognition system, and the like. Alternatively, or in addition, the user input device 444 may also be the display 442.

[0153] In some embodiments, the assay system 400 may have interchangeable or swappable devices (e.g., plug-and-play). For example, the docking system 410 or system stage 430 may be readily replaced or substituted with a different docking system 410 or system stage 430. This may occur when a different type of sample is desired to be used. In some embodiments, the sample is readily exchanged from the system stage 430. Furthermore, the fluid storage system 436 may be a container that is readily separated from the fluid network and replaced by another container. This may occur when the fluid in the container is depleted, has expired, or a different container is required because a user of the assay system 400 desires to run a different assay protocol. Furthermore, the processing unit 402 may have swappable devices (e.g., if the user desires to use the assay system 400 to execute a different assay protocol).

[0154] Figure 13 also illustrates a block diagram of the processing unit 402. In one embodiment, the processing unit 402 includes one or more processors or modules that can communicate with one another. The processing unit 402 is illustrated conceptually as a collection of modules, but may be implemented utilizing any combination of dedicated hardware boards, DSPs, processors, etc. Alternatively, the processing unit 402 may be implemented utilizing an off-the-shelf PC with a single processor or multiple processors, with the functional operations distributed between the processors. As a further option, the modules described below may be implemented utilizing a hybrid configuration in which certain modular functions are performed utilizing dedicated hardware, while the remaining modular functions are performed utilizing an off-the-shelf PC and the like. The modules also may be implemented as software modules within a processing unit.

[0155] The processing unit 402 may include a plurality of modules 451-458 that communicate with a system control module 450. The system control module 450 may communicate with the user interface 440. Although the modules 451-458 are shown as communicating directly with the system control module 450, the modules 451-458 may also communicate directly with each other, the user interface 440, or the other systems. Also, the modules 451-458 may communicate with the system control module 450 through the other modules.

[0156] The plurality of modules 451-458 include system modules 451-453 that communicate with the sub-systems. The fluidic control module 451 may communicate with the fluidic control system 434 to control the valves and flow sensors of the fluidic network 435 for controlling the flow of one or more fluids through the fluidic network 435. The fluid storage module 452 may notify the user when fluids are low or when the waste reservoir must be replaced. The fluid storage module 452 may also communicate with the temperature control module 453 so that the fluids may be stored at a desired temperature.

[0157] The plurality of modules 451-458 may also include an optics adjustment (or correction) module 454 that communicates with the optics adjustment system 420 and an identification module 455 that determines identification information relating to the sample. For example, the carrier assembly 412 may be scanned before an imaging session or before being placed onto the system stage 430 to identify the type of sample. The optics adjustment module 454 may communicate with the various devices that are capable of selectively moving the optical components, such as a transfer device or a rotatable optical device. The plurality of modules 451-458 may also include a detection data analysis module 458 that receives and analyzes the detection data (e.g., image data) from the detector assembly 408. The processed detection data may be stored for subsequent analysis or may be transmitted to the user interface 440 to display desired information to the user. Furthermore, there may be a sample module that communicates with the sample (e.g., receives signals regarding temperature of the sample or flow rate of a fluid in the sample).

[0158] Protocol modules 456 and 457 communicate with the system control module 450 to control the operation of the sub-systems when conducting predetermined assay protocols. The protocol modules 456 and 457 may include sets of instructions for instructing the assay system 400 to perform specific operations pursuant to predetermined protocols. The protocol modules 456 and 457 include a sequencing-by-synthesis (SBS) module 456 that may be configured to issue various commands for performing sequencing-by-synthesis processes. In some embodiments, the SBS module 456 may also process detection data. The protocol module 457 may be configured to scan microarrays or perform other assay protocols.

[0159] By way of one example, the SBS module 456 may be configured to issue commands for sequencing-by-synthesis processes. For example, the SBS module 456 may issue commands to perform bridge PCR where clusters of clonal amplicons are formed on localized areas within a channel (or lane) of a flow cell. After generating the amplicons through bridge PCR, the SBS module 456 may provide instructions to linearize or denature the amplicons to make sstDNA and to add a sequencing primer such that the sequencing primer may be hybridized to a universal sequence that flanks a region of interest. Each sequencing cycle extends the sstDNA by a single base and is accomplished by modified DNA polymerase and a mixture of four types of nucleotides delivery of which can be instructed by the SBS module 456. The different types of nucleotides have unique fluorescent labels, and each nucleotide has a reversible terminator that allows only a single-base incorporation to occur in each cycle. After a single base is added to the sstDNA, the SBS module 456 may instruct a wash step to remove nonincorporated nucleotides by flowing a wash solution through the flow cell. The SBS module 456 may further instruct the excitation source assembly and detector assembly to perform an image session(s) to detect the fluorescence in each of the four channels (i.e., one for each fluorescent label). After imaging, the SBS module 456 may instruct delivery of a deblocking reagent to chemically cleave the fluorescent label and the terminator from the sstDNA. The SBS module 456 may instruct a wash step to remove the deblocking reagent and products of the deblocking reaction. Another similar sequencing cycle may follow. In such a sequencing protocol, the SBS module 456 may instruct the fluidic control system 434 to direct a flow of reagent and enzyme solutions through the sample.

[0160] In some embodiments, the SBS module 456 may also be configured to issue various commands for performing the steps of a pyrosequencing protocol. In this case, the sample may include millions of wells where each well has a single capture bead having clonally amplified sstDNA thereon. Each well may also include other smaller beads that, for example, may carry immobilized enzymes (e.g., ATP sulfurylase and lucif erase) or facilitate holding the capture bead in the well. The SBS module 456 may be configured to issue commands to the fluidic control module 451 to run consecutive cycles of fluids that carry a single type of nucleotide (e.g., 1st cycle: A; 2nd cycle: G; 3rd cycle: C; 4th cycle: T; 5th cycle: A; 6th cycle: G; 7th cycle: C; 8th cycle: T; and on). When a nucleotide is incorporated into the DNA, pyrophosphate is released thereby instigating a chain reaction where a burst of light is generated. The burst of light may be detected by a sample detector of the detector assembly. Detection data may be communicated to the system control module 450, the detection data analysis module 458, and/or the SBS module 456 for processing. The detection data may be stored for later analysis or may be analyzed by the processing unit 402 and an image may be sent to the user interface 440.

[0161] The protocol module 457 may be configured to send instructions for scanning a microarray for an unknown analyte. Before or after performing an imaging session, the protocol module 457 may instruct the optics adjustment system 420 to move an optical component within, into, or out of the optical path. For example, the protocol module 457 may request that the path compensator 422 be inserted into or removed from the optical path. The protocol module 457 may also request that another optical component be repositioned. Any of a variety of movable or adjustable optical components set forth herein can be moved, adjusted or otherwise manipulated in response to instructions sent from protocol module 457 or any other appropriate module of a processing unit. Once the collective arrangement of the optical components is established as desired, the protocol module 457 may instruct the excitation source assembly to provide incident light onto the samples and the detector assembly to detect the optical signals provided by the sample.

[0162] In some embodiments, the user may provide user inputs through the user interface 440 to select an assay protocol to be run by the assay system 400. In other embodiments, the assay system 400 may automatically detect the type of sample that has been inserted into the docking system 410 and confirm with the user the assay protocol to be run. For example, the carrier sensor 413 may identify the type of sample in the carrier assembly by scanning or detecting signals from the substrate or the carrier assembly. Alternatively, the assay system 400 may offer a limited number of assay protocols that could be run with the determined type of sample. The user may select the desired assay protocol, and the assay system 400 may then perform the selected assay protocol based on preprogrammed instructions.

[0163] Figures 14 and 15 are diagrams showing a perspective view and a side cross- sectional view, respectively, of imaging a sample 502 in accordance with one embodiment. In the illustrated embodiment, the sample 502 includes an optical substrate 504 that is represented as a flow cell. However, in alternative embodiments, the sample 502 may include a microarray as described above. As shown, the optical substrate 504 may include a first plate or layer 506 and a second plate or layer 508 with an interior volume or channel 510 extending between the first and second layers 506 and 508. The interior channel 510 may be configured to permit a flow of reagents therethrough. The first and second layers 506 and 508 may be formed from a variety of substrate materials. The substrate materials may be substantially transparent to wavelengths of the incident light and the optical signals that are provided from the sample. For example, the substrate materials may be substantially transparent to the optical signals emitted by one or more labels in the sample or may be substantially transparent to the optical signals that are reflected and or refracted by the sample. The first and second layers 506 and 508 may have biological components 512 and 514, respectively, on their corresponding interior surfaces 516 and 518.

[0164] In various embodiments, the sample 502 may be irradiated by excitation light or radiation 520 along a linear focal region 522 (also called a radiation line). However, in other embodiments, the focal region may have other configurations (e.g., point, oval). The focal region 522 may be formed by the excitation radiation 520 from one or more excitation light sources through an objective lens 524. The excitation light sources may generate light beams that are processed and shaped to provide a focal region 522 on the sample 502. The focused light beams may include optical signals having different emission spectra that excite associated fluorophores of the biological components 512 and 514. When excited, the fluorophores emit optical signals that may have different emission spectra. In some embodiments, the optical system may first direct the excitation radiation 520 toward the interior surface 516 of the optical substrate 504 to irradiate the biological components 512. In addition, the optical substrate 504 and the objective lens 524 may be moved in a relative manner with respect to each other such that the sample 502 is translated in a direction as indicated by the arrow 526. As such, the focal region 522 may progressively irradiate the biological components along the interior surface 516. As the focal region 522 translates along the interior surface 516, the focused light beams may successively scan regions 528 thereby scanning the entire interior surface 516 of the optical substrate 504. After scanning the interior surface 516, the objective lens 524 and the sample 502 may be moved with respect to each other and the same process may be repeated to scan the interior surface 518 of the optical substrate 504.

[0165] In particular embodiments, an apparatus or method can detect features on a surface at a rate of at least about 0.01 mm/sec. Depending upon the particular application, faster rates can also be used including, for example, in terms of the area scanned or otherwise detected, a rate of at least about 0.02 mm2/sec, 0.05 mm2/sec, 0.1 mm2/sec, 1 mm2/sec, 1.5 mm2/sec, 5 mm2/sec, 10 mm2/sec, 50 mm2/sec, 100 mm2/sec, or faster. If desired, for example, to reduce noise, the detection rate can have an upper limit of about 0.05 mm2/sec, 0.1 mm2/sec, 1 mm2/sec, 1.5 mm2/sec, 5 mm2/sec, 10 mm2/sec, 50 mm2/sec, or 100 mm2/sec.

[0166] In some embodiments, biological material may be immobilized on the multiple surfaces of the optical substrate 504. For instance, Figure 14 illustrates the optical substrate 504 having biological components 512 and 514 attached to the interior surfaces 516 and 518, respectively. In the illustrated embodiment, an attachment layer 530 may be formed on both interior surfaces 516 and 518. The attachment layer 530 may facilitate immobilizing the biological components 512 and 514 thereto. As shown, a first excitation radiation 532 may be used to irradiate biological components 512 on the interior surface 516 of the optical substrate 504. Light emissions 534 from the irradiated biological components 512 may return through layer 506. Simultaneously or sequentially, a second excitation radiation 536 may be used to irradiate the biological components 514 on the interior surface 518 of the optical substrate 504. Light emissions 538 may return from the irradiated biological components 514 through the channel 510 and the layer 506.

[0167] In particular embodiments, path compensators may be used when imaging samples through objective lenses having high numerical aperture (NA) values. Exemplary high NA ranges include NA values of at least about 0.6. For example, the NA value may be at least about 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, or higher. Those skilled in the art will appreciate that NA, being dependent upon the index of refraction of the medium in which the lens is working, may be higher including, for example, up to 1.0 for air, 1.33 for pure water, or higher for other media such as oils. The compensator may also find use in objectives having lower NA values than the examples listed above. In general, the NA value of an objective lens is a measure of the breadth of angles for which the objective lens may receive light. The higher the NA value, the more light that may be collected by the objective lens for a given fixed magnification. As a result, multiple objects may be distinguished more readily when using objective lens with higher NA values because a higher feature density may be possible.

[0168] Figure 16 shows an image 600 in accordance with one embodiment. The image 600 may show, for example, a portion of a feature stripe of a microarray. Figure 16 also illustrates a magnified section 602 of the image 600. The image 600 includes a dense array of pixels in which each pixel represents or corresponds to a light intensity from the microarray. More specifically, the features of the microarray may provide light emissions that are detected by a corresponding image sensor. In particular embodiments, the features are fluorescently-labeled such that the features provide light emissions when excited by an excitation light. In some embodiments, the features of the microarray may have a predetermined order such that each feature has a known address relative to other features of the microarray. In other embodiments, however, the features of the microarray may not have a predetermined order. For example, in some SBS protocols, the clusters or colonies of nucleic acids have an irregular pattern and the sequences of the nucleic acids are not initially known.

[0169] Figure 17 is an enlarged view of the image 600 illustrating feature locators 604 of the microarray. Each image may have a known location with respect to the substrate surface that is captured within the image. Each image also has a known area. Figure 17 also shows individual pixels 706 in which each pixel is a square having a uniform light intensity. After obtaining an image of the microarray, the image may undergo one or more data compression processes, such as the method 300. The data may then be decoded and transformed to image data, such as the image 600. The image 600 may be one of several images obtained during an imaging session.

[0170] The images may be analyzed to distinguish the features from one another. For example, the images may be analyzed by comparing the light intensities of the pixels. As shown in the magnified section 602, each feature may be defined by a plurality of pixels that have light intensities that are greater than the light intensities of surrounding pixels. In other words, the features may be distinguished by comparing the light intensity value of one pixel to the light intensity value of adjacent pixels. Because the method 300 constrains the RQE within an acceptable tolerance, embodiments may sufficiently distinguish the different features of the microarray. Although the magnified section 602 illustrates that each feature is represented by multiple pixels, it should be understood that each feature may be defined by only a single pixel.

[0171] Accordingly, in order to sufficiently distinguish the features and analyze the data, it may not be necessary to use the larger data (e.g., 12-bit). By constraining the relative quantization error across the range-of-interest, embodiments may sufficiently distinguish and analyze the different features. Embodiments may accomplish this without having prior knowledge of the image brightness. More specifically, embodiments may not be based on a dynamic or data-dependent process. As such, embodiments may be implemented in real time or "on the fly" rather than preprocessing and storing an entire image before encoding the image.

[0172] Embodiments may be particularly applicable to a series of images that are acquired during the same imaging session but have different average light intensities. For example, embodiments may image the surface of an elongated channel of a flow cell. The imaging session may acquire several pictures, such as 10, 20, 30, 40, 50, 100, 200, or more images. Images that are acquired at the beginning of the channel may have an average light intensity that is greater than the average light intensity of images that are acquired at the end of the channel. In other words, images that are acquired at the beginning of the channel may be brighter than images acquired at the end of the flow channel. Nonetheless, because the RQE is constrained across the entire range-of-interest, embodiments may sufficiently distinguish the features regardless of the average light intensity of the images.

[0173] It is noted that the embodiments described herein could also be used in conjunction with other data reduction methods. For instance, 12-bit pixel data could be right-shifted by two bits and rounded to reduce the data to 10 bits. As such, the 10-bit data may be compressed to 8-bit data using the embodiments described herein. This may improve the resulting tolerance since compressing from 12 bits to 8 bits yields a tolerance of 1.136%, but compressing from 10 bits to 8 bits yields a 0.794% tolerance. In other words, the less the compression the tighter the tolerance.

[0174] Components of the system 100 and 400 or other embodiments described herein may include or represent hardware circuits or circuitry that include and/or are connected with one or more processors, such as one or more computer microprocessors. The operations of the methods described herein and the systems 100, 400 can be sufficiently complex such that the operations cannot be mentally performed by an average human being or a person of ordinary skill in the art within a commercially reasonable time period. For example, the method 300 may involve examination of many trial tables and possible modifications to the trial tables, such that a person cannot complete the method within a commercially reasonable time period. The hardware circuits and/or processors of the system may be used to significantly reduce the time needed to determine an encoding table.

[0175] In an embodiment, a method is provided that includes receiving k-bit data strings that represent input values from signal data. The input values are within a designated value range. The method also includes converting the data strings to (fc-n)-bit code strings. The code strings represent output values within the designated value range. The converting operation maps the input values to corresponding output values such that the relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0176] In some aspects, each and every RQE is constrained within the absolute error limit.

[0177] In some aspects, the converting operation converts the input values to the output values based on a first relationship for the input values below a breakpoint value within the value range. The converting operation maps the input values to the corresponding output values in accordance with a different second relationship for the input values above the breakpoint value. The second relationship defines RQEs between the input values and the corresponding output values to be constrained within the absolute error limit.

[0178] In some aspects, the signal data represents one of optical signals, audio signals, temperature signals, or pressure signals. However, other types of signals may be output of any arrayed sensor. For example, a biochip could have an array of transistors or other electrical devices that sense variations in pH level, ionic charge, etc. Depending on the specific application it may be useful to use RQE on data from such sensors.

[0179] In some aspects, the RQEs are substantially constrained within the absolute error limit when at least 95% of absolute values of the RQEs are less than the absolute error limit.

[0180] In some aspects, the RQEs vary between positive values and negatives values as the input values increase to a designated range end value. Optionally, the range end value is within the last 20% of the designated value range.

[0181] In some aspects, the RQEs vary in a wave-like manner such that the RQEs increase to a positive value and then decrease to a negative value for a plurality of times. [0182] In some aspects, the signal data represents optical signals and the code strings are used to form image data. Optionally, the image data includes images of an array of reaction sites for a biological or chemical assay, the optical signals being detected from corresponding reaction sites.

[0183] In some aspects, the method may also include analyzing the images to distinguish the reaction sites from other reaction sites. Optionally, each reaction site has a known probe molecule or a plurality of common probe molecules. Optionally, each reaction site has a colony of nucleic acids having a common sequence.

[0184] [0211] In some aspects, the input values correlate to light intensities detected by corresponding pixels of an image sensor.

[0185] [0212] In some aspects, the absolute error limit is based on a number of possible code strings for (k-n) bits.

[0186] [0213] In some aspects, the absolute error limit maximizes the number of available code strings.

[0187] [0214] In some aspects, the absolute error limit is 10% or less. In some aspects, the absolute error limit is 2% or less.

[0188] [0215] In some aspects, a number of input values that correlate to a single output value increases as the input values increase.

[0189] [0216] In some aspects, the output values change in a step-like manner.

[0190] [0217] In some aspects, the converting operation includes utilizing a look-up table.

[0191] [0218] In some aspects, the output values are defined within a range-of-interest that is a subrange of the designated value range. The range-of-interest is defined between a start value and a designated end value.

[0192] In some aspects, the start value is non-zero.

[0193] In some aspects, the range end value is prior to the final value of the value range.

[0194] In some aspects, the start value is non-zero and the range end value is not the final value of the value range.

[0195] In some aspects, the range-of-interest is at least 75% of the designated value range. Optionally, the range-of-interest is at least 85% of the designated value range. [0196] In an embodiment, a system or device is provided that includes an encoder configured to receive signal data from a detector. The signal data includes k-bit data strings that represent input values of the detector. The input values are within a designated value range. The encoder is configured to convert the data strings. The converting operation by the encoder converts the data strings to (fc-n)-bit code strings. The code strings represent output values within the designated value range. The converting operation maps the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0197] In some aspects, the system or device includes the detector, which is configured to detect signals and provide the signal data that represents the detected signals.

[0198] In some aspects, the system or device is an image sensor.

[0199] In an embodiment, a system is provided that includes an image sensor configured to detect light signals and generate image data based on the light signals. The image data includes k-bit data strings that represent input values within a designated value range. The system also includes at least one processor configured to execute programmed instructions stored in memory, wherein the at least one processor, when executing the programmed instructions, performs the following operations. The at least one processor receives the data strings and converts the data strings to (fc-n)-bit code strings. The code strings represent output values within the designated value range. The converting includes mapping the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0200] In an embodiment, an image sensor is provided that includes an array of pixels configured to detect light signals. The image sensor is configured to generate image data based on the light signals that includes k-bit data strings. The data strings represent input values within a designated value range. The image sensor also includes at least one processor configured to execute programmed instructions stored in memory. The at least one processor, when executing the programmed instructions, converts the data strings to (fc-n)-bit code strings. The code strings represent output values within the designated value range, wherein the converting includes mapping the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0201] In an embodiment, a method is provided that includes receiving k-bit data strings that represent input values from signal data. The input values are within a designated value range. The method also includes converting the data strings to (k-n)-bit code strings. The code strings represent output values within the designated value range, wherein the converting operation maps or quantizes the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0202] In an embodiment, a tangible and non-transitory computer readable medium is provided that includes instructions for commanding a processing unit to receive k-bit data strings that represent input values from signal data. The input values are within a designated value range. The processor is also directed to convert the data strings to (k-n)-bit code strings. The code strings represent output values within the designated value range, wherein the converting operation maps or quantizes the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0203] In an embodiment, a system or device is provided that includes an encoder configured to receive signal data from a detector. The signal data includes k-bit data strings that represent input values of the detector. The input values are within a designated value range. The encoder is configured to convert the data strings. The converting operation by the encoder converts the data strings to (k-n)-bit code strings. The code strings represent output values within the designated value range, wherein the converting operation maps or quantizes the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0204] In an embodiment, a system or device is provided that includes an encoder configured to receive signal data from a detector. The signal data includes k-bit data strings that represent input values representative of the signals. The input values are within a designated value range. The encoder is configured to convert the data strings to (k-n)-bit code strings. The code strings include output values within the value range. The converting operation converts the input values to the output values based on a first relationship for the input values below a breakpoint value within the value range. The converting operation maps or quantizes the input values to corresponding output values in accordance with a different second relationship for the input values above the breakpoint value. The second relationship defining relative quantization errors (RQEs) between the input values and the corresponding output values to be constrained within an absolute error limit.

[0205] In an embodiment, a method is provided that includes receiving k-bit data strings that represent input values from signal data. The input values are within a designated value range. The method also includes converting the data strings to (k-n)-bit code strings. The code strings represent output values within the value range. The input values and the output values having a first relationship with respect to one another until a breakpoint value within the value range. Converting the data strings to the code strings maps or quantizes the input values to corresponding output values in accordance with a different second relationship. The second relationship defines relative quantization errors (RQEs) between the input values and the corresponding output values to be constrained within an absolute error limit.

[0206] In an embodiment, a method is provided that includes receiving k-bit data strings that represent input values from signal data. The input values are within a designated value range. The method also includes converting the data strings to (k-n)-bit code strings. The code strings represent output values within the value range. The input values and the output values have a first relationship with respect to one another until a breakpoint value within the value range, wherein the input values that exceed the breakpoint value are mapped or quantized to corresponding output values in accordance with a different second relationship. The input and output values have, in accordance with the second relationship, relative quantization errors (RQEs) that vary and are constrained within an absolute error limit.

[0207] In an embodiment, a tangible and non-transitory computer readable medium is provided that includes one or more computer software modules configured to direct a processor to receive k-bit data strings that represent input values from signal data. The input values are within a designated value range. The one or more computer software modules are configured to direct the processor to convert the data strings to (k-n)-bit code strings. The code strings represent output values within the value range. The input values and the output values have a first relationship with respect to one another until a breakpoint value of the input range, wherein the input values that exceed the breakpoint value are mapped or quantized to corresponding output values in accordance with a different second relationship. The input and output values have, in accordance with the second relationship, relative quantization errors (RQEs) that vary and are constrained within an absolute error limit.

[0208] In an embodiment, a system or device is provided that includes a detector configured to detect signals and provide signal data an encoder that is configured to receive the signal data from the detector. The signal data includes k-bit data strings that represent input values representative of the signals. The input values are within a designated value range. The encoder is configured to convert the data strings to (fc-n)-bit code strings. The code strings represent output values within the value range. The input values and the output values have a first relationship with respect to one another until a breakpoint value of the input range. The input values that exceed the breakpoint value are mapped or quantized to corresponding output values in accordance with a different second relationship. The input and output values have, in accordance with the second relationship, relative quantization errors (RQEs) that vary and are constrained within an absolute error limit.

[0209] In an embodiment, an image sensor is provided that includes an array of pixels configured to detect light signals. The image sensor is configured to generate image data based on the light signals that includes k-bit data strings. The data strings represent input values within a designated value range. The image sensor also includes at least one processor configured to execute programmed instructions stored in memory, wherein the at least one processor, when executing the programmed instructions, converts the data strings to (fc-n)-bit code strings. The code strings represent output values within the designated value range, wherein the converting includes mapping the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0210] It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments (and/or aspects thereof) may be used in combination with each other. In addition, many modifications may be made to embodiments without departing from the of the scope inventive subject matter in order to adapt a particular situation or material. While the specific components and processes described herein are intended to define the parameters of the various embodiments, they are by no means limiting and are exemplary embodiments. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the inventive subject matter should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein." Moreover, in the following claims, the terms "first," "second," and "third," etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. Further, the limitations of the following claims are not written in means -plus -function format and are not intended to be interpreted based on 35 U.S.C. § 112, sixth paragraph, unless and until such claim limitations expressly use the phrase "means for" followed by a statement of function void of further structure.

[0211] Examples

[0212] Al. A computer-implemented method of compressing data, the method comprising:

[0213] receiving k-bit data strings that represent input values from signal data, the input values being within a designated value range; and

[0214] converting the data strings to (k-n)-bit code strings, the code strings representing output values within the designated value range, wherein the converting operation maps the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0215] A2. The method of claim 1 , wherein each and every RQE is constrained within the absolute error limit.

[0216] A3. The method of claim 1, wherein:

[0217] the converting operation converts the input values to the output values based on a first relationship for the input values below a breakpoint value within the value range; and

[0218] the converting operation maps the input values to the corresponding output values in accordance with a different second relationship for the input values above the breakpoint value, the second relationship defining RQEs between the input values and the corresponding output values to be constrained within the absolute error limit.

[0219] A4. The method of claim 1, wherein the signal data represents one of optical signals, audio signals, temperature signals, or pressure signals.

[0220] A5. The method of claim 1, wherein the RQEs are substantially constrained within the absolute error limit when at least 95% of absolute values of the RQEs are less than the absolute error limit. [0221] A6. The method of claim 1, wherein the RQEs vary between positive values and negatives values as the input values increase to a designated range end value.

[0222] A7. The method of claim 6, wherein the range end value is within the last 20% of the designated value range.

[0223] A8. The method of claim 1, wherein the RQEs vary in a wave-like manner such that the RQEs increase to a positive value and then decrease to a negative value for a plurality of times.

[0224] A9. The method of claim 1, wherein the signal data represents optical signals and the code strings are used to form image data.

[0225] A10. The method of claim 9, wherein the image data includes images of an array of reaction sites for a biological or chemical assay, the optical signals being detected from corresponding reaction sites.

[0226] All. The method of claim 8, further comprising analyzing the images to distinguish the reaction sites from other reaction sites.

[0227] A12. The method of claim 11, wherein each reaction site has a known probe molecule or a plurality of common probe molecules.

[0228] A13. The method of claim 11, wherein each reaction site has a colony of nucleic acids having a common sequence.

[0229] A14. The method of claim 9, wherein the input values correlate to light intensities detected by corresponding pixels of an image sensor.

[0230] A15. The method of claim 1, wherein the absolute error limit is based on a number of possible code strings for (k-n) bits.

[0231] A16. The method of claim 1, wherein the absolute error limit maximizes the number of available code strings for (k-n) bits.

[0232] A17. The method of claim 1, wherein the absolute error limit is 10% or less.

[0233] A18. The method of claim 1, wherein the absolute error limit is 2% or less.

[0234] A19. The method of claim 1, wherein a number of input values that correlate to a single output value increases as the input values increase. [0235] A20. The method of claim 1 , wherein the output values change in a step-like manner.

[0236] A21. The method of claim 1, wherein converting the data strings to the code strings includes utilizing a look-up table.

[0237] A22. The method of claim 1 , wherein the output values are defined within a range-of-interest that is a sub-range of the designated value range, the range-of-interest being defined between a start value and a designated end value.

[0238] A23. The method of claim 22, wherein the start value is non-zero.

[0239] A24. The method of claim 22, wherein the range end value is prior to the last value of the value range.

[0240] A25. The method of claim 22, wherein the start value is non-zero and the range end value is not the last value of the value range.

[0241] A26. The method of claim 22, wherein the range-of-interest is at least 75% of the designated value range.

[0242] A27. The method of claim 22, wherein the range-of-interest is at least 85% of the designated value range.

[0243] A28. A tangible and non-transitory computer readable medium that includes instructions for commanding a processing unit to:

[0244] receive k-bit data strings that represent input values from signal data, the input values being within a designated value range; and

[0245] convert the data strings to (k-n)-bit code strings, the code strings representing output values within the designated value range, wherein the converting operation maps the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0246] A29. The computer readable medium of claim 28, wherein each and every

RQE is constrained within the absolute error limit.

[0247] A30. The computer readable medium of claim 28, wherein:

[0248] the converting operation converts the input values to the output values based on a first relationship for the input values below a breakpoint value within the value range; and [0249] the converting operation maps the input values to the corresponding output values in accordance with a different second relationship for the input values above the breakpoint value, the second relationship defining RQEs between the input values and the corresponding output values to be constrained within the absolute error limit.

[0250] A31. The computer readable medium of claim 28, wherein the signal data represents one of optical signals, audio signals, temperature signals, or pressure signals.

[0251] A32. The computer readable medium of claim 28, wherein the RQEs are substantially constrained within the absolute error limit when at least 95% of absolute values of the RQEs are less than the absolute error limit.

[0252] A33. The computer readable medium of claim 28, wherein the RQEs vary between positive values and negatives values as the input values increase to a designated range end value.

[0253] A34. The computer readable medium of claim 33, wherein the range end value is within the last 20% of the designated value range.

[0254] A35. The computer readable medium of claim 28, wherein the RQEs vary in a wave-like manner such that the RQEs increase to a positive value and then decrease to a negative value for a plurality of times.

[0255] A36. The computer readable medium of claim 28, wherein the signal data represents optical signals and the code strings are used to form image data.

[0256] A37. The computer readable medium of claim 36, wherein the image data includes images of an array of reaction sites for a biological or chemical assay, the optical signals being detected from corresponding reaction sites.

[0257] A38. The computer readable medium of claim 37, further comprising analyzing the images to distinguish the reaction sites from other reaction sites.

[0258] A39. The computer readable medium of claim 38, wherein each reaction site has a known probe molecule or a plurality of common probe molecules.

[0259] A40. The computer readable medium of claim 38, wherein each reaction site has a colony of nucleic acids having a common sequence.

[0260] A41. The computer readable medium of claim 36, wherein the input values correlate to light intensities detected by corresponding pixels of an image sensor. [0261] A42. The computer readable medium of claim 28, wherein the absolute error limit is based on a number of possible code strings for (k-n) bits.

[0262] A43. The computer readable medium of claim 28, wherein the absolute error limit maximizes the number of available code strings.

[0263] A44. The computer readable medium of claim 28, wherein the absolute error limit is 10% or less.

[0264] A45. The computer readable medium of claim 28, wherein the absolute error limit is 2% or less.

[0265] A46. The computer readable medium of claim 28, wherein a number of input values that correlate to a single output value increases as the input values increase.

[0266] A47. The computer readable medium of claim 28, wherein the output values change in a step-like manner.

[0267] A48. The computer readable medium of claim 28, wherein the converting operation includes utilizing a look-up table.

[0268] A49. The computer readable medium of claim 28, wherein the output values are defined within a range-of-interest that is a sub-range of the designated value range, the range-of-interest being defined between a start value and a designated end value.

[0269] A50. The computer readable medium of claim 49, wherein the start value is non-zero.

[0270] A51. The computer readable medium of claim 49, wherein the range end value is prior to the last value of the value range.

[0271] A52. The computer readable medium of claim 49, wherein the start value is non-zero and the range end value is not the last value of the value range.

[0272] A53. The computer readable medium of claim 49, wherein the range-of- interest is at least 75% of the designated value range.

[0273] A54. The computer readable medium of claim 49, wherein the range-of- interest is at least 85% of the designated value range.

[0274] A55. A system or device comprising: [0275] an encoder configured to receive signal data from a detector, the signal data including k-bit data strings that represent input values of the detector, the input values being within a designated value range, the encoder configured to convert the data strings;

[0276] wherein the converting operation by the encoder converts the data strings to (k-n)- bit code strings, the code strings representing output values within the designated value range, wherein the converting operation maps the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0277] A56. The system or device of claim 55, further comprising the detector configured to detect signals and provide the signal data that represents the detected signals.

[0278] A57. The system or device of claim 56, wherein the system or device is an image sensor.

[0279] A58. A system comprising:

[0280] an image sensor configured to detect light signals and generate image data based on the light signals, the image data including k-bit data strings that represent input values within a designated value range; and

[0281] at least one processor configured to execute programmed instructions stored in memory, wherein the at least one processor, when executing the programmed instructions, performs the following operations:

[0282] receives the data strings; and

[0283] converts the data strings to (k-n)-bit code strings, the code strings representing output values within the designated value range, wherein the converting includes mapping the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0284] A59. An image sensor or device comprising an array of pixels configured to detect light signals, the image sensor or device including the computer readable medium in accordance with claim 28.

[0285] A60. An image sensor comprising an array of pixels configured to detect light signals, the image sensor configured to generate image data based on the light signals that includes k-bit data strings, the data strings representing input values within a designated value range, the image sensor also including at least one processor configured to execute programmed instructions stored in memory, wherein the at least one processor, when executing the programmed instructions, converts the data strings to (k-n)-bit code strings, the code strings representing output values within the designated value range, wherein the converting includes mapping the input values to corresponding output values such that relative quantization error (RQEs) between the input values and the corresponding output values are substantially constrained within an absolute error limit.

[0286] The following claims recite one or more embodiments described herein. The subject matter of these claims is incorporated into the Detailed Description of the present application.