WO2006032015A2 - Computer-implemented methods for organizing image data produced by resonant mie scattering of light from microparticles and resulting data structures - Google Patents

Computer-implemented methods for organizing image data produced by resonant mie scattering of light from microparticles and resulting data structures Download PDF

Info

Publication number
WO2006032015A2
WO2006032015A2 PCT/US2005/033103 US2005033103W WO2006032015A2 WO 2006032015 A2 WO2006032015 A2 WO 2006032015A2 US 2005033103 W US2005033103 W US 2005033103W WO 2006032015 A2 WO2006032015 A2 WO 2006032015A2
Authority
WO
WIPO (PCT)
Prior art keywords
array
image
pixel
composite
value
Prior art date
Application number
PCT/US2005/033103
Other languages
French (fr)
Other versions
WO2006032015A3 (en
Inventor
Lee J. Heineman
Original Assignee
E.I. Dupont De Nemours And Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by E.I. Dupont De Nemours And Company filed Critical E.I. Dupont De Nemours And Company
Publication of WO2006032015A2 publication Critical patent/WO2006032015A2/en
Publication of WO2006032015A3 publication Critical patent/WO2006032015A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume, or surface-area of porous materials
    • G01N15/02Investigating particle size or size distribution
    • G01N15/0205Investigating particle size or size distribution by optical means, e.g. by light scattering, diffraction, holography or imaging
    • G01N15/0227Investigating particle size or size distribution by optical means, e.g. by light scattering, diffraction, holography or imaging using imaging, e.g. a projected image of suspension; using holography
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/25Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
    • G01N21/31Investigating relative effect of material at wavelengths characteristic of specific elements or molecules, e.g. atomic absorption spectrometry
    • G01N21/39Investigating relative effect of material at wavelengths characteristic of specific elements or molecules, e.g. atomic absorption spectrometry using tunable lasers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/47Scattering, i.e. diffuse reflection
    • G01N15/1433
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume, or surface-area of porous materials
    • G01N15/02Investigating particle size or size distribution
    • G01N15/0205Investigating particle size or size distribution by optical means, e.g. by light scattering, diffraction, holography or imaging
    • G01N2015/025Methods for single or grouped particles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/25Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
    • G01N21/31Investigating relative effect of material at wavelengths characteristic of specific elements or molecules, e.g. atomic absorption spectrometry
    • G01N21/39Investigating relative effect of material at wavelengths characteristic of specific elements or molecules, e.g. atomic absorption spectrometry using tunable lasers
    • G01N2021/396Type of laser source
    • G01N2021/399Diode laser

Definitions

  • the present invention relates to computer- implemented methods and computer readable storage media containing programs for organizing image data produced by resonant Mie Scattering of light from microparticles disposed in a free array, and to the resulting data structures produced therefrom.
  • a high refractive index microparticle is irradiated with light of a given wavelength and the microparticle scatters a portion of that light to a detector.
  • a pattern or spectrum of scattered light as a function of wavelength results.
  • the resonant light scattering spectra is detected by an imaging detector, such as a charge-coupled device (CCD) camera.
  • CCD charge-coupled device
  • a complete wavelength scan results in a series of digital images of all the microparticle, one image for each wavelength interval in the scan.
  • the intensity of scattering from a microparticle at a given wavelength is related to the brightness of that microparticle's scattering image at that wavelength.
  • Computerized image processing and spectral analysis are required to obtain the complete scattering spectra of all the particles from the set of images obtained during the scan.
  • Each particle has a distinct resonance light scattering pattern, due to natural processing variations, that can be used to identify the particle.
  • the presence and optionally the concentration of a target analyte can be determined from the shift in the resonance light scattering pattern that occurs when the analyte binds to a capture probe immobilized on the surface of the particle.
  • the magnitude of the shift is related to the concentration of the analyte in the solution.
  • FIG. 1 Shown in Figure 1 is a diagrammatic illustration of an image detection apparatus used to create images of scattered light from a plurality of microparticles 2 called a "free array".
  • a population of the microparticles is isolated in an imaging optical cell 19 and, using a scanning diode laser 22 as a light source, imaged with a microscope 21.
  • the microparticles could be randomly distributed or distributed in an ordered fashion such as in a tube or in a linear or rectangular array by constraining them in grooves, channels, or indentations on a substrate.
  • the magnification is set to simultaneously image the particles of interest.
  • the microparticles are illuminated and a digital image is produced at each of a predetermined number ("Q") of wavelengths.
  • the light scattered from microparticles in the field is collected and imaged by the objective lens 20 and associated optics of a camera 26.
  • Illuminating wavelengths in the range of from about 770 nanometers to about 780 nanometers are particularly useful for the images under discussion.
  • a scan having using an illuminating laser having a "slew rate" (wavelength step, in nanometers per second) on the order of 0.2 results in a scan having a length of fifty (50) seconds.
  • the camera 26 could be any imaging device capable of the speed and sensitivity required for this application.
  • the camera 26 is preferably a digital camera having an electronic image plane based on a two- dlffi ⁇ isJ ⁇ Fial CCD. fk ⁇ taarge coupled device) or equivalent imaging means.
  • the camera 26 thus produces an electronic image of the particles at each wavelength step (e.g., 0.2 nanometers per second).
  • the camera functions and data acquisition are controlled by a computer 10 operably linked to the camera 26 and to the scanning light source.
  • the computer has software suitable for these purposes.
  • Each of the Q images produced by the digital camera 26 may be viewed on a video monitor 17 connected to the camera 26. Simultaneously, each image is captured by a suitable image capture card or other device 27 that functions to create (after appropriate analog-to- digital conversion) a digital representation of the electronic image on the electronic image plane of the camera.
  • the digital image is stored in memory of the computer 10.
  • a suitable image capture card is that sold by National Instruments Corporation as an IMAQ PCI 1428 image capture card.
  • FIG. 2 A typical visual image taken at one given wavelength of polarized light from such a set of Q images is shown in Figure 2.
  • Light scattered by the mechanism of resonant Mie scattering emanates along the rim of a microparticle in the form of a substantially continuous (yet segmented) substantially circular rings.
  • the incident and scattered light beams used to produce the visual and diagrammatic images of Figure 2 were polarized independently, with the two axes of polarization parallel to each other. This results in sectors of scattered light centered approximately at the 12:00, 3:00, 6:00, and 9:00 positions of the substantially circular microparticle images.
  • Figures 3A through 3F are a series of stylized diagrammatic renderings of the visual image of Figure 2 at respective illuminating wavelengths Li through L Q .
  • Figures 4A through 4F are a series of diagrams representing the images on the electronic image plane corresponding to each of the visual images. In Figures 4A through 4Pifte relative int@ns!ity values of the pixels are indicated by decimal numeric values.
  • Each image of an entire viewed field ( Figure 2) or image of any selected region of interest therein is typically in the shape of a rectangular or square matrix, or grid, as suggested in Figures 3 and 4. It should be appreciated, however, that the pixels in the image could be arranged to form other shapes on the image plane, such as a continuous or segmented annulus. Whatever its shape, the image contains a predetermined number ("N") of pixels.
  • the total number N of pixels in an image could be on the order of one million (1 ,000,000).
  • the data storage requirements (assuming at least ten-bit digital accuracy) for the complete set of such digital representations of the Q images from this single experiment could be on the order of three (3) gigabytes.
  • the present invention is directed to computer-implemented methods and programs for organizing image data representing light scattered from one or more substantially spherical microparticles and the data structures resulting therefrom.
  • the present invention includes the creation of a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels.
  • Q predetermined number
  • N predetermined number
  • an associated Image Intensity Data Array containing Q values is created for each of the N pixels.
  • the Q values in at least some of the data arrays denote the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array.
  • a Composite Image Array having N values is also created. Each value in the Composite Image Array is based upon and is generated using a corresponding Image Intensity Data Array.
  • the values in the Composite Image Array may be based upon the maximum intensity value in the corresponding Image Intensity Data Array. Alternatively, the values in the Composite Image Array may be based upon the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array
  • the data structure resulting from this first embodiment of the invention includes a collection of N Pixel Records where each Pixel Record is associated with one pixel.
  • the collection of Pixel Records is inclusive, in the sense that the Pixel Record from each pixel in the image is included within the data structure.
  • the Pixel Records are arranged sequentially in a linear array in accordance with the raster order.
  • Each Pixel Record has a Record Header and an Image Intensity Data Array.
  • Each Image Intensity Data Array contains Q values. At least some of the data arrays denotes the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array.
  • the Record Header in each Pixel Record contains information specifying the location on the electronic image plane of the pixel associated with the Image Intensity Data Array.
  • the digital representation of the Q images and the Image Intensity Data Array associated each with the N pixels in each image is created. From the N Image Intensity Data Arrays, a select set of S number of Image Intensity Data Arrays is created. Each Image Intensity Data Array in the select set has at least one intensity value that exceeds a predetermined analog threshold. A Pointer Array containing N values is also created. The Pointer Array correlates the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
  • the data structure resulting from this second embodiment of the present invention includes only the S selected Pixel Records whose image intensity data arrays have at least one value exceeding the analog threshold.
  • the Pixel Records are arranged sequentially in a linear array in accordance with the raster order.
  • the data structure may also include the Pointer Array, the Composite Image Array, and a Composite Thresholded Image Array.
  • Figure 1 is a stylized diagrammatic illustration of an image detection apparatus used to create images of scattered light from a multiplicity of microparticles disposed in a free array
  • Figure 2 is a digital image of scattered polarized light from a group of microparticles in a field of a predetermined size acquired using the image detection apparatus of Figure 1 at a single wavelength of incident polarized light;
  • Figures 3A through 3F are a series of stylized diagrammatic renderings of the visual representation of the image of Figure 2 at respective selected illuminating wavelengths Li through LQ;
  • Figures 4A through 4F are representations of the images on the electronic image plane (e.g., camera) respectively corresponding to each of the visual representations shown in Figures 3A through 3F, wherein each decimal numeric value in each of pixel location shown in Figures 4A through 4F quantifies the intensity of the scattered radiation as visually indicated in corresponding pixels on respective visual images of Figures 3A through 3F;
  • the electronic image plane e.g., camera
  • Figure 5 is a diagrammatic representation of the organization of the data structure formed in the implementation of an inclusive (“P-1") pixel stack in accordance with the present invention
  • Figure 6A is a diagrammatic representation of an individual Pixel Record in an inclusive (“P-1") pixel stack
  • Figure 6B is a graphical representation of the spectrum contained in the Image Intensity Data Array of the Pixel Record shown in Figure 6A;
  • Figures 7A and 7B contain Table I, which is a tabular representation of a plurality of Image Intensity Data Array in the Pixel Records for an inclusive ("P-1") pixel stack, each Image Intensity Data Array corresponding to a pixel in the electronic image;
  • P-1 inclusive
  • Figure 8 is a graphical representation of a data structure comprising the collection of Pixel Records for an inclusive (“P-1") pixel stack as tabulated in Figures 7A and 7B;
  • Figure 9 contains Table II, which is a tabular representation of a Composite Maximum Image Array derived from the plurality of Pixel Records for an inclusive (“P-1") pixel stack;
  • Pig ⁇ re 10 contains Table III, which is a tabular representation of a Composite Minimum Image Array derived from the plurality of Pixel Records for an inclusive (“P-T) pixel stack;
  • Figure 11 contains Table IV, which is a tabular representation of a Composite Average Image Array derived from the plurality of Pixel Records for an inclusive ("P-T) pixel stack;
  • Figure 12 is a diagrammatic representation, similar to Figure 5, showing of the organization of the data structure formed in the implementation of a Threshold ("P-2") pixel stack in accordance with the present invention
  • Figure 13 is a diagrammatic representation of a Pixel Record in a Threshold ("P-2") pixel stack
  • Figure 14 contains Table V, which is a tabular representation of a plurality of Image Intensity Data Array in the Pixel Records for a Threshold ("P-2") pixel stack;
  • Figure 15 is a graphical representation of a data structure comprising the collection of Pixel Records for an inclusive (“P-T) pixel stack as tabulated in Figure 14;
  • Figure 16 contains Table Vl, which is a tabular representation of a Composite Threshold Image Array for a Threshold ("P-2") pixel stack;
  • Figure 17 contains Table VII, which is a tabular representation of a Pointer Array used in conjunction with the Composite Threshold Image Array of Figure 16.
  • Figures 4A through 4F are representations of the electronic image plane of the camera 26.
  • the image plane has a width dimension ("W") extending fri the-positive-X-d ⁇ ection of seven (7) pixels (0, 1 , 2, ... 6) and a height dimension ("H") extending in the positive Y-direction of eight (8) pixels (0, 1 , 2, ... 7).
  • W width dimension
  • H height dimension
  • the decimal numeric value in each of the pixel locations shown in these Figures numerically quantifies the intensity of the scattered radiation that is visually depicted in corresponding pixels on respective visual images of Figures 3A through 3F.
  • region of interest of Figure 2 bounded within the white border thereon is used to define the visual and numeric "image” respectively represented in Figures 3 and 4. It may thus appreciated that the methods of the present invention may be practiced on an "image" of any size, including the "image” of any region of interest selected from a larger field of view. Moreover, although the "image” is typically represented in the form of a square or rectangular matrix of picture elements, it is within the contemplation of the present invention to define a region of interest and an image representative thereof that exhibits other shapes, e.g., a continuous or segmented annulus.
  • the resolution of the camera 26 determines the number of pixels in an "image" under consideration, whether that image is of the entire field or a selected region of interest therein. The higher the resolution of the camera, the greater is the number of pixels in a given "image”.
  • N when used to refer to the number of pixels in an image, is not intended to denote one single predetermined value, but instead to refer to that number of pixels produced by the camera generating the "image" under discussion.
  • the intensity value of these pixels denotes the intensity of the light radiation at one of the Q wavelengths scattered from a physical location on a microparticle.
  • the intensity values in the others of the pixels in the image are generated from light scattered or reflected from other features on the imaging cell or on the substrate for the microparticles.
  • images generated on the electronic image plane of the camera 26 are digitally captured and operated upon using the methods of the present invention substantially simultaneously with the occurrence of the scans of the microparticles (i. e, in real time).
  • the creation of an image on the electronic image plane and its digital capture and the operations using the present invention need not occur in real time. It lies within the contemplation of the present invention to capture digital images created on an electronic image plane at one point in time and to operate on those digital images using the methods of the present invention at a later point in time.
  • image data organization techniques provided by the methods and programs of the present invention and the data structures resulting therefrom are useful both to organize more efficiently image data for further handling and processing as well as to reduce the requirements for storage of image information while in memory of the computer 10 or when archived off-line.
  • the Inclusive Pixel Stack is a data record that includes intensity information from all of the pixels in an image.
  • a diagrammatic representation of the Inclusive Pixel Stack is shown in Figure 5.
  • the Imslt ⁇ sive Pixel Stack includes a Pixel File Header file, an illuminating laser record, a collection of Pixel Records derived from each of the pixels in all of the images taken during a scan, and various composite data arrays of the intensity information.
  • Pixel Record A Pixel Record is a data structure associated with a pixel.
  • a Pixel Record comprises a Pixel Header and an Image Intensity Data Array.
  • Figure 6A is a graphical representation of a Pixel Record for the pixel (0,6) illustrated in the renderings of Figures 3 and 4.
  • An Image Intensity Data Array is a file organized as a (Q x 1) linear array (string) containing Q values, where each value represents the intensity of the radiation at one of the Q wavelengths detected on the electronic image plane.
  • the Q values in at least some of the data arrays denote the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array.
  • the sequential values stored in the Image Intensity Data Array are a tabulation of the intensity value for the same pixel (0,6) in Figures 4A through 4F. These values are, in turn, representative of light scattered, as by resonant Mie scattering, from the same portion of the microparticle illustrated in Figures 3A through 3F.
  • the Image Intensity Data Array for a given pixel may be envisioned as a tower of blocks. Proceeding sequentially from top to bottom each block holds information regarding the intensity of light incident on that pixel at a changing (i.e., an increasing or decreasing) wavelength.
  • the Image Intensity Data Array for each pixel thus defines the spectrum of scattered light from the portion of the microparticle corresponding to that pixel.
  • a plot of the image intensity as a function of illuminating wavelength yields the distinct resonance light scattering spectrum produced by that portion of the microparticle.
  • Figure 6B illustrates the spectrum of the portion of the microparticle producing the Image Intensity Data Array of Figure 6A.
  • the Pixel Header is attached to each Image Intensity Data Array.
  • the pixel header contains the X and Y coordinates of the pixel from which the lfaage Intensity Data Array is derived, as well as intensity information, such as the average image intensity value, the maximum image intensity value, and the difference between the maximum and the minimum intensity values.
  • Image Intensity Data Arrays represent light scattered from a portion of a microparticle.
  • inspection of Figures 3A through 3F indicates that no microparticle is physically present in that portion of the image plane corresponding to pixel (6,2).
  • extraneous reflection or scattered have produced detectable intensities on the image plane at that pixel location, as indicated in Figures 4A through 4F.
  • Figures 7A and 7B show Table I, which is a tabular representation of the plurality of Image Intensity Data Arrays derived from the electronic images of Figures 4A through 4F.
  • the columns of Table I are arranged across the sheet of drawings in raster fashion, moving across the X axis (image Width) for each value along the Y axis (image Height).
  • the numeric values in each column denote the intensity of the light at one of the Q wavelengths detected on the electronic image plane, whether the detected light is scattered from a microparticle or from another feature.
  • no determination is made as to whether the detected intensity is derived from a portion of a microparticle or from an extraneous or background source.
  • Image Intensity Data Arrays of most particular interest are the arrays for those pixels that correspond to a portion of a microparticle.
  • data arrays corresponding to pixels having the following respective (X,Y) coordinates are especially noteworthy and are indicated in boldface type:
  • each of the values in the these Image Intensity Data Arrays denotes the intensity of the light at one of the Q wavelengths scattered from that location on a microparticle corresponding to the pixel.
  • Figures 8A and 8B comprise a graphical representation of a data structure comprising the collection of Pixel Records for the inclusive (“P-1") pixel stack as tabulated in Figures 7A and 7B.
  • Composite Image Arrays Also included within the P-1 Stack are various composite arrays of intensity data, referred to herein as "Composite Image Array(s)". These arrays are organized as multi ⁇ dimensional arrays that mirror the layout of the pixels in the image plane.
  • the Composite Image Array has N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
  • the values in the Composite Image Array are based upon the pixel intensities in the Intensity Data Array and may be generated from the corresponding Image Intensity Data Array in various ways, such as: using the maximum intensity values to produce a Composite Maximum Image Array; or calculating the average intensity values to produce a Composite Average Image Array, both as described below.
  • the values in the Composite Image Array may alternatively be generated by calculating the difference between the maximum and minimum intensity values to produce a Composite Difference Image Array
  • the values in the Composite Image Array may alternatively be generated in still other ways, including, but not limited to: calculating the median intensity values to produce a Composite Median Image Array; calculating the square of the intensity values to produce a Composite Squared Image Array; calculating the logarithm of the intensity values to produce a Composite Logarithmic Image Array; calculating the ratio of the maximum to minimum intensity values to produce a Composite Ratio Image Array; calculating the difference between the maximum and minimum intensity values divided by the maximum intensity values to produce a Composite Difference Ratio Image Array; or using the minimum intensity values to produce a Composite Minimum Image Array.
  • the various useful arrays included in the P- 1 Stack are the Composite Maximum Image Array and the Composite Average Image Array.
  • the Composite Difference Image Array and the Composite Minimum Image Array may also be generated and included in the P- 1 Stack. All of these composite arrays are useful in connection with the various methods for analyzing microparticles using the scattered light images.
  • the term "image" as used in this application in connection with the names of these arrays is meant to convey the idea that the data contained within these arrays can be used to render visual images illustrating features of the data.
  • the values in the Composite Maximum Image Array can be used to render a visual image of the maximum iifitens ⁇ ty of light detected at each individual pixel on the image plane.
  • Of particular interest in such a composite image would be the representation of maximum intensity of light scattered from the pixels corresponding to locations on a microparticle.
  • Pixel File Header is a record located at the head of the P-1 Stack containing pertinent information regarding the scan to which the stack relates.
  • the Pixel File Header should include at least the highest and lowest image intensity values derived from all of the Q images in the scan.
  • Pixel File Header Other types of information that could also be contained in the Pixel File Header include the number and types of images in the scan, the Width and Height of each of the images produced, and/or the researcher conducting the scan. In general, the Pixel File Header could include any information that would assist in making the Pixel Stack as complete an archive as is desired concerning a particular scan.
  • the P-1 Stack may also include a Laser Record containing information regarding the illuminating laser light source.
  • Typical examples of information included within the Laser Record would be the slew rate, the initial and final wavelength values, information relating to laser power, and/or laser etalon, which relates details regarding the laser power controller.
  • the binary "P-1 Stack” file is opened on disk (or other medium) in Line 1.
  • the files "PixelFileHeader” and “LaserRecord” are created on the disk in Lines 2, 3.
  • the array taage Intensity Data Array” is dimensioned as a (Q x 1 ) array [i.e., from subscripts "0" to "(Q-1 )"] in Line 4.
  • the Y values of the pixel locations are looped in an outer loop from Lines 9 to 30. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 10 to 29.
  • the utility "GetPixel” is provided with the number of images ("Q"), the number of bytes of intensity information per pixel, and the Width of the image ("W"). With this information in hand the utility “GetPixel” reads through the stored digital images and, starting at the first stored image location ["Mylmages(O)"] sequentially takes the intensity value at the then-current X and Y pixel location on each of the Q images. The utility places the intensity value in the array "Image Intensity Data Array", starting with the first position in that array [i.e., "Image Intensity Data Array(O)”]
  • the buffers "Sum” and “Max” are initialized to zero (Lines 14 and 15).
  • a nested loop For each X value within the "X” loop, a nested loop (Lines 16 to 22) sequentially reads the array "Image Intensity Data Array” through all of Q values [0 to (Q-1)].
  • the then-current Pixel value is also compared to the current LowestPixelValue and HighestPixelValue in these buffers (Lines 20 and 21 ). If either comparison is “True” the value in the appropriate buffer is changed. Both the average pixel value ("AvgPixel” equal to “Sum” divided by the number of images Q) and the maximum pixel value (“MaxPixel”) are entered into the Pixel header (Lines 23 and 24). These same values are also loaded into the then-current (X, Y) pixel location in both the "Composite Average Image Array” and the “Composite Maximum Image Array” (Lines 25, 26).
  • the X value is then incremented (Line 29) and the "X" loop (Lines 10 to 29 iteratively repeated for each updated then-current (X 1 Y).
  • the information is saved in binary format, the most efficient storage format.
  • Each pixel in the string of Pixel Records has a Record Number ("R") that is defined by the (X,Y) coordinates of that pixel taken in view of the Width ("W") and Height ("H") of the image.
  • R ( Y . w) + X + 1
  • the Position defines the starting location from which an intensity record (Q images, each with B bytes) is read. Knowing the Position of the Pixel Record in the P-1 Stack makes accessing of that Pixel Record quick and efficient. With image information organized using the P-1 Stack in accordance with the present invention, it is possible to access a particular Image Intensity Data Array corresponding to a desired pixel location with an access time on the order of milliseconds.
  • the inclusive pixel stack is, as discussed, a data record that includes image intensity information from every pixel in the visual and corresponding electronic image, regardless of whether that intensity information is derived from light scattered from a portion of a microparticle corresponding to the particular pixel or from another feature or background.
  • image intensity information is derived from light scattered from a portion of a microparticle corresponding to the particular pixel or from another feature or background.
  • Only a relatively small fraction of the pixels in an image correspond to locations on a microparticle. It is thus apparent that significant compression of image data may be achieved by not storing intensity information derived from pixels other than those pixels corresponding to a portion of a microparticle. This deletion is accomplished in the Thresholded Pixel Stack using a thresholding technique to be described.
  • Figure 12 is a diagrammatic representation, similar to Figure 5, showing of the organization of the data structure of a Thresholded ("P-2") Pixel Stack formed in accordance with the present invention.
  • Figure 13 is a diagrammatic representation of an individual Pixel Record in a Thresholded Pixel Stack.
  • the Thresholded Pixel Stack includes a Pixel File Header file, files relating to the illuminating laser, a collection of pixel records, a Composite Average Image Array and a Composite Maximum Image Array.
  • the Thresholded Pixel Stack also includes two additional composite arrays, the Composite Thresholded Image Array (discussed in connection with Figure 16) and a Pointer Array (discussed in connection with Figure 17). Both of these arrays are multi-dimensional arrays that mirror the matrix (or whatever shaped) layout of the pixels in the image plane.
  • the data structure of the Pixel Record included within the Thresholded Pixel Stack is substantially similar to that the structure of a Pixel Record included in a P-1 Stack. As seen from a comparison of Figures 6A and 13, the Pixel Header in a Pixel Record of the Thresholded WM& ⁇ Stacfc differs in that it also includes information regarding the average image intensity of the pixel.
  • the collection of Pixel Records in the Thresholded Pixel Stack is significantly different from the counterpart structure in the inclusive P- 1 Stack in that the P-2 Stack does not include all Pixel Records in the image.
  • the Thresholded Pixel Stack includes only a select set of S number of Pixel Records (where S is less than N). Only Pixel Records whose Image Intensity Data Array includes at least one intensity value that is in excess of a predetermined analog threshold value are selected for inclusion in the collection of Pixel Records in a Thresholded Pixel Stack. If an Image Intensity Data Array does not contain a single value above the threshold, that array is not included in the Thresholded Pixel Stack.
  • FIG. 14 A tabulated form of a select set of S number of Pixel Records in a Thresholded Pixel Stack selected in the manner to be described is given in Figure 14.
  • the row denoted "Order of Selection" records the order in which a Pixel Record is taken into the select set.
  • Figure 15 illustrates that the data structure of the collection of Pixel Records in a Thresholded Pixel Stack has the form of a linear array of linear arrays of data, similar to the form of the Pixel Record collection in an inclusive stack.
  • TfieAi ⁇ albg Threshold is calculated using the highest and lowest intensity values.
  • the Analog Threshold value may be any appropriate functional relationship of the Highest Pixel Value and the Lowest Pixel Value.
  • a convenient method to define the threshold is to add an offset to the lowest intensity value.
  • a convenient offset to utilize is the Highest Pixel Value scaled by an appropriate scale factor.
  • the scale factor may be predetermined from experience, or may be selected by interaction with a user.
  • the Pixel Records are selected for inclusion in the Thresholded Pixel Stack on the basis of a pixel-by-pixel comparison of the values in the Composite Maximum Image Array and the Analog Threshold.
  • the first pixel encountered whose maximum intensity value exceeds the Analog Threshold is the pixel (3,1 ).
  • the Pixel Record corresponding to this pixel becomes the first Pixel Record selected for inclusion within the select set of Pixel Records contained in the Thresholded Pixel Stack ( Figures 14, 15).
  • the Pixel Record corresponding to this pixel (4,1 ) becomes the second entrant selected for inclusion into the collection of Pixel Records for the P-2 stack under construction ( Figures 14, 15).
  • the ordinal "2" is loaded into the location in the Pointer Array corresponding to the pixel (4,1 ) ( Figure 17).
  • the maximum intensity value of this pixel (4,1 ) (i.e., "28") is loaded into the corresponding location in the Composite Thresholded Image Array ( Figure 15).
  • Program Listing A pseudocode listing of a program for the creation of a P-2 stack is created is set forth on pages A-2 and A-3 of the Appendix. References in the following discussion are again keyed to the corresponding line numbers in the pseudocode listing.
  • the variables "Q” , “W” and “H” again respectively refers to the number of images, the number ⁇ f ptoc ⁇ ls in the Widtti of each image, and the number of pixels in the Height of each image.
  • the array "Image Intensity Data Array” is dimensioned as a (Q x 1) array [i.e., from subscripts "0" to "(Q-1)"] in Line 37.
  • the "Composite Maximum Image Array” and “Composite Average Image Array” are each dimensioned as a (W x H) array [i.e., in the Width dimension from subscripts "0" to "(W-1 )” and in the Height dimension from subscripts "0" to “(H-1)”] in Lines 38 and 39.
  • Three additional (W x H) arrays, viz., the “Composite Minimum Image Array", the “Composite Threshold Image Array” and the “Pointer Array” are dimensioned in Lines 40, 41 and 42, respectively.
  • the Q images are interrogated to identify the highest and lowest intensity values in all Q images.
  • the Y values of all pixel locations are looped in an outer loop extending from Lines 45 to 63. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 46 to 62.
  • the utility "GetPixel” is called in Line 47.
  • the pixel intensity values from the store of digital image representations ("Mylmages”) are retrieved and placed into the array "Image Intensity Data Array” in the same manner as discussed in connection with the P-1 Stack (Line 13).
  • the buffers "Sum” and “Max” and “Min” are initialized to zero (Lines 48 and 49).
  • the buffers "Min” is initialized to a value higher than any expected intensity (Line 50).
  • a nested loop For each X value within the "X” loop, a nested loop (Lines 51 to 58) sequentially reads the array "Image Intensity Data Array” through all of Q values [0 to (Q-1 )].
  • the then-current Pixel value is also compared to the current LowestPixelValue and HighestPixelValue in these buffers (Lines 56 and 57). If either comparison is "True” the value in the appropriate buffer is changed.
  • the average pixel value (equal to "Sum” divided by the number of images Q) is loaded into the then-current (X, Y) pixel location in the "Composite Average Image Array” (Line 59).
  • the then-current (X, Y) pixel location in both the "Composite Maximum Image Array” and the “Composite Minimum Image Array” are loaded with the values in the Max and Min buffers, respectively (Lines 60, 61 ).
  • the X value is then incremented (Line 62) and the "X" loop (Lines 46 to 62) iteratively repeated for each updated then-current (X,Y).
  • the value of the Analog Threshold is computed in Line 64.
  • the Analog Threshold is shown using functional notation, indicating that the Analog Threshold is a function of the HighestPixelValue, LowestPixelValue and an appropriate Scale Factor.
  • the Scale Factor may be interactively determined by a user, if desired.
  • a Selected Pixel Record Number counter is initialized to zero in Line 68.
  • the Y values of the pixel locations are looped in an outer loop from Lines 69 to 85. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 70 to 84.
  • the Composite Maximum Image Array is then interrogated in raster fashion. For each "X" value within the “X” loop the value in the Composite Maximum Image Array stored at the then-current X and Y values is tested against the Analog Threshold using an "If" statement (Lines 71 to 83). If the comparison is "True”, that is, if the stored maximum value exceeds the Analog Threshold, then:
  • the X value is then incremented (Line 84) and the "X" loop (Lines 70 to 84) iteratively repeated for each updated then-current (X 1 Y).
  • the “Composite Threshold Image Array”, is saved to disk in Line 89.
  • the “Pointer Array”, is saved to disk in Line 90.
  • Pointer Array Using the Pointer Array, access and retrieval of individual Pixel Records is still efficiently accomplished.
  • the ordinal value in the Pointer Array defines the Record Number ("R") used to calculate the Position of desired Pixel Record.

Abstract

Computer-implemented methods and programs for organizing image data representing light scattered from one or more substantially spherical microparticles and the resulting data structures are disclosed. A digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths is created. For each of the N pixels in each image an associated Image Intensity Data Array containing Q values is created. In one embodiment the resulting data structure is an inclusive collection of Pixel Records from each pixel in the image. In a second embodiment a select set of S number of Image Intensity Data Arrays is chosen. Each Image Intensity Data Array in the select set has at least one intensity value that exceeds a predetermined analog threshold. A Pointer Array containing N values is also created. The Pointer Array correlates the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.

Description

Computer-Implemented Methods For Organizing Image Data Produced By Resonant Mie Scattering Of Light From Microparticles and
Resulting Data Structures
CROSS-REFERENCE TO RELATED APPLICATION This application claims priority under 35 U. S. C. §119 from U.S. Provisional Application Serial No. 60/609,758, filed September 14, 2004.
BACKGROUND OF THE INVENTION
Field of the Invention The present invention relates to computer- implemented methods and computer readable storage media containing programs for organizing image data produced by resonant Mie Scattering of light from microparticles disposed in a free array, and to the resulting data structures produced therefrom.
Description of Related Art Copending application WO 2004/044232, filed November 6, 2003, Prober et al., titled "Microparticle- based Methods and Systems and Applications Thereof, assigned to the assignee of the present invention, discloses various methods, systems and applications that employ resonant light scattering as an analytical tool for determining a microparticle's identity as well as the presence and, optionally, the concentration, of one or more target analytes on the microparticle.
In general, a high refractive index microparticle is irradiated with light of a given wavelength and the microparticle scatters a portion of that light to a detector. As the incident wavelength is scanned, i.e., varied over an analytical wavelength range, a pattern or spectrum of scattered light as a function of wavelength results. The resonant light scattering spectra is detected by an imaging detector, such as a charge-coupled device (CCD) camera. The camera produces an electronic image of the particles at each wavelength step.
Thus, a complete wavelength scan results in a series of digital images of all the microparticle, one image for each wavelength interval in the scan. The intensity of scattering from a microparticle at a given wavelength is related to the brightness of that microparticle's scattering image at that wavelength. Computerized image processing and spectral analysis are required to obtain the complete scattering spectra of all the particles from the set of images obtained during the scan. Each particle has a distinct resonance light scattering pattern, due to natural processing variations, that can be used to identify the particle. The presence and optionally the concentration of a target analyte can be determined from the shift in the resonance light scattering pattern that occurs when the analyte binds to a capture probe immobilized on the surface of the particle. The magnitude of the shift is related to the concentration of the analyte in the solution.
Shown in Figure 1 is a diagrammatic illustration of an image detection apparatus used to create images of scattered light from a plurality of microparticles 2 called a "free array". A population of the microparticles is isolated in an imaging optical cell 19 and, using a scanning diode laser 22 as a light source, imaged with a microscope 21. The microparticles could be randomly distributed or distributed in an ordered fashion such as in a tube or in a linear or rectangular array by constraining them in grooves, channels, or indentations on a substrate. The magnification is set to simultaneously image the particles of interest.
As the laser wavelength is increased through the wavelength range the microparticles are illuminated and a digital image is produced at each of a predetermined number ("Q") of wavelengths. The light scattered from microparticles in the field is collected and imaged by the objective lens 20 and associated optics of a camera 26. Illuminating wavelengths in the range of from about 770 nanometers to about 780 nanometers are particularly useful for the images under discussion. For a ten (10) nanometer range, a scan having using an illuminating laser having a "slew rate" (wavelength step, in nanometers per second) on the order of 0.2 results in a scan having a length of fifty (50) seconds. At an imaging rate on the order of thirty (30) images per second an experimental scan can produce about fifteen hundred images (Q = 1500).
The camera 26 could be any imaging device capable of the speed and sensitivity required for this application. The camera 26 is preferably a digital camera having an electronic image plane based on a two- dlffiβπisJΘFial CCD. fkϊtaarge coupled device) or equivalent imaging means. The camera 26 thus produces an electronic image of the particles at each wavelength step (e.g., 0.2 nanometers per second). Preferably, the camera functions and data acquisition are controlled by a computer 10 operably linked to the camera 26 and to the scanning light source. The computer has software suitable for these purposes.
Each of the Q images produced by the digital camera 26 may be viewed on a video monitor 17 connected to the camera 26. Simultaneously, each image is captured by a suitable image capture card or other device 27 that functions to create (after appropriate analog-to- digital conversion) a digital representation of the electronic image on the electronic image plane of the camera. The digital image is stored in memory of the computer 10. A suitable image capture card is that sold by National Instruments Corporation as an IMAQ PCI 1428 image capture card.
A typical visual image taken at one given wavelength of polarized light from such a set of Q images is shown in Figure 2. Light scattered by the mechanism of resonant Mie scattering emanates along the rim of a microparticle in the form of a substantially continuous (yet segmented) substantially circular rings. The incident and scattered light beams used to produce the visual and diagrammatic images of Figure 2 were polarized independently, with the two axes of polarization parallel to each other. This results in sectors of scattered light centered approximately at the 12:00, 3:00, 6:00, and 9:00 positions of the substantially circular microparticle images.
As noted the intensity of resonant Mie scattering from a microparticle a given wavelength is related to the brightness of that particle's scattering image at that wavelength. This may be most graphically understood from Figures 3A through 3F, which are a series of stylized diagrammatic renderings of the visual image of Figure 2 at respective illuminating wavelengths Li through LQ. Figures 4A through 4F are a series of diagrams representing the images on the electronic image plane corresponding to each of the visual images. In Figures 4A through 4Pifte relative int@ns!ity values of the pixels are indicated by decimal numeric values.
As seen from close inspection of the renderings shown in Figures 3A through 3F and Figures 4A through 4F the intensity of the light scattered from the same given portion of the same microparticle changes over the wavelength scan. These intensity differences define a spectrum of scattered light as a function of wavelength for various locations on the microparticle. By monitoring changes in spectra over time and/or in the presence and optionally the concentration of a target analyte be obtained.
Each image of an entire viewed field (Figure 2) or image of any selected region of interest therein (e.g., that portion bounded by the white border in Figure 2) is typically in the shape of a rectangular or square matrix, or grid, as suggested in Figures 3 and 4. It should be appreciated, however, that the pixels in the image could be arranged to form other shapes on the image plane, such as a continuous or segmented annulus. Whatever its shape, the image contains a predetermined number ("N") of pixels.
For example, in a square image having length and width dimensions on the order of one thousand by a thousand (1000 x 1000) pixels, the total number N of pixels in an image (whether the "image" is defined as the entire field or a selected region of interest of a field) could be on the order of one million (1 ,000,000). When one considers that in a typical experimental scan approximately fifteen hundred images may be produced (i.e., Q = 1500) the data storage requirements (assuming at least ten-bit digital accuracy) for the complete set of such digital representations of the Q images from this single experiment could be on the order of three (3) gigabytes.
Handling this prodigious amount of data and retrieving selected portions of this data for processing purposes (e.g., for effecting analysis of the microparticles) is problematic. In addition, the mere storage of such a vast amount of data presents issues of considerable difficulty.
Accordingly, in view of the foregoing it is believed advantageous to provide methods and programs for organizing the image data produced by the -scattering OfI1IgHI' (particularly resonant Mie scattering) from microparticles disposed in a free array that make the handling and retrieval of information for display, analysis or other purposes more rapid and more efficient. It is believed to be of further advantage if such data organization methods result in a more compact and manageable amounts of data, thus reducing significantly the data storage requirements for free array testing.
SUMMARY OF THE INVENTION
The present invention is directed to computer-implemented methods and programs for organizing image data representing light scattered from one or more substantially spherical microparticles and the data structures resulting therefrom.
In one embodiment the present invention includes the creation of a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels. For each of the N pixels, an associated Image Intensity Data Array containing Q values is created. The Q values in at least some of the data arrays denote the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array. A Composite Image Array having N values is also created. Each value in the Composite Image Array is based upon and is generated using a corresponding Image Intensity Data Array. The values in the Composite Image Array may be based upon the maximum intensity value in the corresponding Image Intensity Data Array. Alternatively, the values in the Composite Image Array may be based upon the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array
The data structure resulting from this first embodiment of the invention includes a collection of N Pixel Records where each Pixel Record is associated with one pixel. The collection of Pixel Records is inclusive, in the sense that the Pixel Record from each pixel in the image is included within the data structure. The Pixel Records are arranged sequentially in a linear array in accordance with the raster order. Each Pixel Record has a Record Header and an Image Intensity Data Array. Each Image Intensity Data Array contains Q values. At least some of the data arrays denotes the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array. The Record Header in each Pixel Record contains information specifying the location on the electronic image plane of the pixel associated with the Image Intensity Data Array.
In accordance with a second embodiment of the present invention, the digital representation of the Q images and the Image Intensity Data Array associated each with the N pixels in each image is created. From the N Image Intensity Data Arrays, a select set of S number of Image Intensity Data Arrays is created. Each Image Intensity Data Array in the select set has at least one intensity value that exceeds a predetermined analog threshold. A Pointer Array containing N values is also created. The Pointer Array correlates the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
The data structure resulting from this second embodiment of the present invention includes only the S selected Pixel Records whose image intensity data arrays have at least one value exceeding the analog threshold. The Pixel Records are arranged sequentially in a linear array in accordance with the raster order. The data structure may also include the Pointer Array, the Composite Image Array, and a Composite Thresholded Image Array.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be more fully understood from the following detailed description taken in connection with the accompanying drawings, which form a part of this application and in which:
Figure 1 is a stylized diagrammatic illustration of an image detection apparatus used to create images of scattered light from a multiplicity of microparticles disposed in a free array; Figure 2 is a digital image of scattered polarized light from a group of microparticles in a field of a predetermined size acquired using the image detection apparatus of Figure 1 at a single wavelength of incident polarized light;
Figures 3A through 3F are a series of stylized diagrammatic renderings of the visual representation of the image of Figure 2 at respective selected illuminating wavelengths Li through LQ;
Figures 4A through 4F are representations of the images on the electronic image plane (e.g., camera) respectively corresponding to each of the visual representations shown in Figures 3A through 3F, wherein each decimal numeric value in each of pixel location shown in Figures 4A through 4F quantifies the intensity of the scattered radiation as visually indicated in corresponding pixels on respective visual images of Figures 3A through 3F;
Figure 5 is a diagrammatic representation of the organization of the data structure formed in the implementation of an inclusive ("P-1") pixel stack in accordance with the present invention;
Figure 6A is a diagrammatic representation of an individual Pixel Record in an inclusive ("P-1") pixel stack;
Figure 6B is a graphical representation of the spectrum contained in the Image Intensity Data Array of the Pixel Record shown in Figure 6A;
Figures 7A and 7B contain Table I, which is a tabular representation of a plurality of Image Intensity Data Array in the Pixel Records for an inclusive ("P-1") pixel stack, each Image Intensity Data Array corresponding to a pixel in the electronic image;
Figure 8 is a graphical representation of a data structure comprising the collection of Pixel Records for an inclusive ("P-1") pixel stack as tabulated in Figures 7A and 7B;
Figure 9 contains Table II, which is a tabular representation of a Composite Maximum Image Array derived from the plurality of Pixel Records for an inclusive ("P-1") pixel stack; Pigύre 10 contains Table III, which is a tabular representation of a Composite Minimum Image Array derived from the plurality of Pixel Records for an inclusive ("P-T) pixel stack;
Figure 11 contains Table IV, which is a tabular representation of a Composite Average Image Array derived from the plurality of Pixel Records for an inclusive ("P-T) pixel stack;
Figure 12 is a diagrammatic representation, similar to Figure 5, showing of the organization of the data structure formed in the implementation of a Threshold ("P-2") pixel stack in accordance with the present invention;
Figure 13 is a diagrammatic representation of a Pixel Record in a Threshold ("P-2") pixel stack;
Figure 14 contains Table V, which is a tabular representation of a plurality of Image Intensity Data Array in the Pixel Records for a Threshold ("P-2") pixel stack;
Figure 15 is a graphical representation of a data structure comprising the collection of Pixel Records for an inclusive ("P-T) pixel stack as tabulated in Figure 14;
Figure 16 contains Table Vl, which is a tabular representation of a Composite Threshold Image Array for a Threshold ("P-2") pixel stack;
Figure 17 contains Table VII, which is a tabular representation of a Pointer Array used in conjunction with the Composite Threshold Image Array of Figure 16.
A Program Appendix, pages 27 through 29, forming part of the specification of this application is positioned at the end of the description but before the claims.
DETAILED DESCRIPTION OF THE INVENTION
Throughout the following detailed description (including the Appendix), similar reference characters refer to similar elements in all Figures of the drawings.
In the way of general comments, as is noted in the Background, Figures 4A through 4F are representations of the electronic image plane of the camera 26. The image plane has a width dimension ("W") extending fri the-positive-X-d^ection of seven (7) pixels (0, 1 , 2, ... 6) and a height dimension ("H") extending in the positive Y-direction of eight (8) pixels (0, 1 , 2, ... 7). The decimal numeric value in each of the pixel locations shown in these Figures numerically quantifies the intensity of the scattered radiation that is visually depicted in corresponding pixels on respective visual images of Figures 3A through 3F.
The visual and numeric renderings of Figures 3 and 4 are presented to facilitate an understanding of the operation of the various aspects of the present invention. However, it will be appreciated that it is the digital representations of the image values as stored in binary format in a computer memory that are retrieved and operated upon using the computer implemented techniques of the present invention.
It is noted that only that region of interest of Figure 2 bounded within the white border thereon is used to define the visual and numeric "image" respectively represented in Figures 3 and 4. It may thus appreciated that the methods of the present invention may be practiced on an "image" of any size, including the "image" of any region of interest selected from a larger field of view. Moreover, although the "image" is typically represented in the form of a square or rectangular matrix of picture elements, it is within the contemplation of the present invention to define a region of interest and an image representative thereof that exhibits other shapes, e.g., a continuous or segmented annulus.
The resolution of the camera 26 determines the number of pixels in an "image" under consideration, whether that image is of the entire field or a selected region of interest therein. The higher the resolution of the camera, the greater is the number of pixels in a given "image". Thus, it should be appreciated that the character "N", when used to refer to the number of pixels in an image, is not intended to denote one single predetermined value, but instead to refer to that number of pixels produced by the camera generating the "image" under discussion.
Depending upon the positions of the microparticles within the imaging cell at least some of the pixels in an image correspond to a respective physical location on a microparticle. Moreover, since during a s'GBtø4hg"McFopaflicles do not move with respect to their substrate, the same pixel in each image corresponds to the same location on the same microparticle. Thus, on any given image in a set of Q images, the intensity value of these pixels denotes the intensity of the light radiation at one of the Q wavelengths scattered from a physical location on a microparticle. The intensity values in the others of the pixels in the image are generated from light scattered or reflected from other features on the imaging cell or on the substrate for the microparticles.
In the typical instance images generated on the electronic image plane of the camera 26 are digitally captured and operated upon using the methods of the present invention substantially simultaneously with the occurrence of the scans of the microparticles (i. e, in real time). However, it should be understood that the creation of an image on the electronic image plane and its digital capture and the operations using the present invention need not occur in real time. It lies within the contemplation of the present invention to capture digital images created on an electronic image plane at one point in time and to operate on those digital images using the methods of the present invention at a later point in time.
-o-O-o-
The image data organization techniques provided by the methods and programs of the present invention and the data structures resulting therefrom are useful both to organize more efficiently image data for further handling and processing as well as to reduce the requirements for storage of image information while in memory of the computer 10 or when archived off-line.
THE INCLUSIVE ("P-I") PIXEL STACK The first data organization discussed is the Inclusive Pixel Stack, also termed a "P-1 Stack". The Inclusive Pixel Stack is a data record that includes intensity information from all of the pixels in an image. A diagrammatic representation of the Inclusive Pixel Stack is shown in Figure 5. The Imsltϊsive Pixel Stack includes a Pixel File Header file, an illuminating laser record, a collection of Pixel Records derived from each of the pixels in all of the images taken during a scan, and various composite data arrays of the intensity information.
Pixel Record A Pixel Record is a data structure associated with a pixel. A Pixel Record comprises a Pixel Header and an Image Intensity Data Array. Figure 6A is a graphical representation of a Pixel Record for the pixel (0,6) illustrated in the renderings of Figures 3 and 4.
An Image Intensity Data Array is a file organized as a (Q x 1) linear array (string) containing Q values, where each value represents the intensity of the radiation at one of the Q wavelengths detected on the electronic image plane.
The Q values in at least some of the data arrays denote the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array. As seen from Figure 6A the sequential values stored in the Image Intensity Data Array are a tabulation of the intensity value for the same pixel (0,6) in Figures 4A through 4F. These values are, in turn, representative of light scattered, as by resonant Mie scattering, from the same portion of the microparticle illustrated in Figures 3A through 3F.
Graphically, as suggested in Figure 6A, the Image Intensity Data Array for a given pixel may be envisioned as a tower of blocks. Proceeding sequentially from top to bottom each block holds information regarding the intensity of light incident on that pixel at a changing (i.e., an increasing or decreasing) wavelength. The Image Intensity Data Array for each pixel thus defines the spectrum of scattered light from the portion of the microparticle corresponding to that pixel. A plot of the image intensity as a function of illuminating wavelength yields the distinct resonance light scattering spectrum produced by that portion of the microparticle. Figure 6B illustrates the spectrum of the portion of the microparticle producing the Image Intensity Data Array of Figure 6A.
The Pixel Header is attached to each Image Intensity Data Array. The pixel header contains the X and Y coordinates of the pixel from which the lfaage Intensity Data Array is derived, as well as intensity information, such as the average image intensity value, the maximum image intensity value, and the difference between the maximum and the minimum intensity values.
As noted, not all Image Intensity Data Arrays represent light scattered from a portion of a microparticle. For example, inspection of Figures 3A through 3F indicates that no microparticle is physically present in that portion of the image plane corresponding to pixel (6,2). However, extraneous reflection or scattered have produced detectable intensities on the image plane at that pixel location, as indicated in Figures 4A through 4F.
In a P- 1 Stack an Image Intensity Data Array is created for each pixel in the electronic image. Thus, if the visual and electronic images each contain N pixels, there is a corresponding number N of Image Intensity Data Arrays.
Figures 7A and 7B show Table I, which is a tabular representation of the plurality of Image Intensity Data Arrays derived from the electronic images of Figures 4A through 4F. The columns of Table I are arranged across the sheet of drawings in raster fashion, moving across the X axis (image Width) for each value along the Y axis (image Height). The numeric values in each column denote the intensity of the light at one of the Q wavelengths detected on the electronic image plane, whether the detected light is scattered from a microparticle or from another feature. In the creation of the P- 1 Stack no determination is made as to whether the detected intensity is derived from a portion of a microparticle or from an extraneous or background source.
Of course, the Image Intensity Data Arrays of most particular interest are the arrays for those pixels that correspond to a portion of a microparticle. As appreciated from Figures 3A through 3F the data arrays corresponding to pixels having the following respective (X,Y) coordinates are especially noteworthy and are indicated in boldface type:
(3.1 ) (4,1) ;
(3.2) (5,2) ; {3,3!) (6,3) ;
(0,4) (1 ,4) (4,4) (5,4) (6,4) ;
(0,5) (2,5) ;
(0,6) (3,6) ;
(0,7) (1 ,7) (2,7) (3,7) (6,7).
As can be verified by inspection of Figures 4A through 4F each of the values in the these Image Intensity Data Arrays denotes the intensity of the light at one of the Q wavelengths scattered from that location on a microparticle corresponding to the pixel.
In the data structure of the inclusive P-1 Stack the collection of Pixel Records are arranged as a linear array of linear arrays of data (i.e., a string of strings). Figures 8A and 8B comprise a graphical representation of a data structure comprising the collection of Pixel Records for the inclusive ("P-1") pixel stack as tabulated in Figures 7A and 7B.
Composite Image Arrays Also included within the P-1 Stack are various composite arrays of intensity data, referred to herein as "Composite Image Array(s)". These arrays are organized as multi¬ dimensional arrays that mirror the layout of the pixels in the image plane. The Composite Image Array has N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array. The values in the Composite Image Array are based upon the pixel intensities in the Intensity Data Array and may be generated from the corresponding Image Intensity Data Array in various ways, such as: using the maximum intensity values to produce a Composite Maximum Image Array; or calculating the average intensity values to produce a Composite Average Image Array, both as described below. The values in the Composite Image Array may alternatively be generated by calculating the difference between the maximum and minimum intensity values to produce a Composite Difference Image Array
The values in the Composite Image Array may alternatively be generated in still other ways, including, but not limited to: calculating the median intensity values to produce a Composite Median Image Array; calculating the square of the intensity values to produce a Composite Squared Image Array; calculating the logarithm of the intensity values to produce a Composite Logarithmic Image Array; calculating the ratio of the maximum to minimum intensity values to produce a Composite Ratio Image Array; calculating the difference between the maximum and minimum intensity values divided by the maximum intensity values to produce a Composite Difference Ratio Image Array; or using the minimum intensity values to produce a Composite Minimum Image Array.
Among the various useful arrays included in the P- 1 Stack are the Composite Maximum Image Array and the Composite Average Image Array. The Composite Difference Image Array and the Composite Minimum Image Array may also be generated and included in the P- 1 Stack. All of these composite arrays are useful in connection with the various methods for analyzing microparticles using the scattered light images.
By way of representative example, a tabular representation of the Composite Maximum Image Array is given by Table Il in Figure 9. This array contains the maximum intensity value from each Image Intensity Data Array. The numeric values in the Composite Maximum Image Array denote the maximum intensity of light scattered from the location on a microparticle corresponding to the pixel.
By way of other representative examples, a tabular representation of the Composite Minimum Image Array and the Composite Average Image Array is given by Tables III and IV in Figures 10 and 11 , respectively. As their names indicate the numeric values in these arrays denote either the minimum or the average intensity of light scattered from the location on a microparticle corresponding to the pixel, as the case may be. Specific examples of other possible Composite Image Arrays may be readily generated.
It should be noted that the term "image" as used in this application in connection with the names of these arrays is meant to convey the idea that the data contained within these arrays can be used to render visual images illustrating features of the data. For example, the values in the Composite Maximum Image Array can be used to render a visual image of the maximum iifitensϊty of light detected at each individual pixel on the image plane. Of particular interest in such a composite image would be the representation of maximum intensity of light scattered from the pixels corresponding to locations on a microparticle.
Pixel File Header The Pixel File Header is a record located at the head of the P-1 Stack containing pertinent information regarding the scan to which the stack relates. Typically, the Pixel File Header should include at least the highest and lowest image intensity values derived from all of the Q images in the scan.
Other types of information that could also be contained in the Pixel File Header include the number and types of images in the scan, the Width and Height of each of the images produced, and/or the researcher conducting the scan. In general, the Pixel File Header could include any information that would assist in making the Pixel Stack as complete an archive as is desired concerning a particular scan.
Laser Record The P-1 Stack may also include a Laser Record containing information regarding the illuminating laser light source. Typical examples of information included within the Laser Record would be the slew rate, the initial and final wavelength values, information relating to laser power, and/or laser etalon, which relates details regarding the laser power controller.
Program Listing A pseudocode listing of a program by which a P-1 Stack is created is set forth on page A-1 of the Appendix. References in the following discussion are keyed to the corresponding line numbers in the pseudocode listing.
The Width of each image is indicated in the listing by the variable "W", while the Height of each image is indicated in the listing by the variable "H".
The binary "P-1 Stack" file is opened on disk (or other medium) in Line 1.
The files "PixelFileHeader" and "LaserRecord" are created on the disk in Lines 2, 3. The array taage Intensity Data Array" is dimensioned as a (Q x 1 ) array [i.e., from subscripts "0" to "(Q-1 )"] in Line 4.
In Lines 5 and 6 the arrays "Composite Maximum Image Array" and "Composite Average Image Array" are each dimensioned as a (W x H) array [i.e., in the Width dimension from subscripts "0" to "(W-1 )" and in the Height dimension from subscripts "0" to "(H-1 )"].
Initial Values in the buffers "LowestPixelValue" and "HighestPixelValue" are set in Lines 7 and 8. The initial value for the "HighestPixelValue" is zero. The initial value for the "LowestPixelValue" is any predetermined number larger than any expected intensity value.
The Y values of the pixel locations are looped in an outer loop from Lines 9 to 30. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 10 to 29.
Within the "X" loop, for each "X" value, the "X" and "Y" information in the Pixel Header record is set Lines 11 and 12.
In Line 13 a call is made to a utility referred to as "GetPixel", which functions to retrieve pixel intensity values from the store of digital image representations("Myl mages") and to place those values into the array "Image Intensity Data Array". The utility "GetPixel" is provided with the number of images ("Q"), the number of bytes of intensity information per pixel, and the Width of the image ("W"). With this information in hand the utility "GetPixel" reads through the stored digital images and, starting at the first stored image location ["Mylmages(O)"] sequentially takes the intensity value at the then-current X and Y pixel location on each of the Q images. The utility places the intensity value in the array "Image Intensity Data Array", starting with the first position in that array [i.e., "Image Intensity Data Array(O)"]
The buffers "Sum" and "Max" are initialized to zero (Lines 14 and 15).
For each X value within the "X" loop, a nested loop (Lines 16 to 22) sequentially reads the array "Image Intensity Data Array" through all of Q values [0 to (Q-1)].
On each iteration through the Q values several things occur, viz.: -the buffer "Sum" is increased by the then-current Pixel Value (Line 18);
-the then-current Pixel Value is compared to the current value in the Max buffer. If the comparison is "True" the value in the Max buffer is changed to the current value (Line 19);
-the then-current Pixel value is also compared to the current LowestPixelValue and HighestPixelValue in these buffers (Lines 20 and 21 ). If either comparison is "True" the value in the appropriate buffer is changed. Both the average pixel value ("AvgPixel" equal to "Sum" divided by the number of images Q) and the maximum pixel value ("MaxPixel") are entered into the Pixel header (Lines 23 and 24). These same values are also loaded into the then-current (X, Y) pixel location in both the "Composite Average Image Array" and the "Composite Maximum Image Array" (Lines 25, 26).
The Pixel Header and the "Image Intensity Data Array" for then- current (X, Y) pixel location is saved (Lines 27, 28).
The X value is then incremented (Line 29) and the "X" loop (Lines 10 to 29 iteratively repeated for each updated then-current (X1Y).
After all X looping is complete, the Y value is incremented (Line 32) and the full "Y" loop (Lines 9 to 30) iteratively repeated for all values of Y. At the completion of the Y loop:
-the "Image Intensity Data Array" for each pixel location has been created and stored to disk (each iteration of Line 28);
-both the "Composite Average Image Array" and "Composite Maximum Image Array" derived from all of the Q images have been created and stored to disk (Lines 31 , 32); and
-both the Lowest Pixel Value and the Highest Pixel Value present in all of the Q images have been identified, and entered in the "Pixel File Header" (Lines 34, 35). XieMlllπiiϊshed "Pixel File Header" is sent to disk for storage (Line 35) and the P-1 Stack closed (Line 36).
Advantages of the P- 1 Stack The organization of the P-1 Stack offers several advantages.
The information is saved in binary format, the most efficient storage format.
Storing image intensity data in a data structure comprising a string of pixel records, where each Pixel Record is itself a string of intensity values, facilitates retrieval of intensity information for any given pixel.
Each pixel in the string of Pixel Records has a Record Number ("R") that is defined by the (X,Y) coordinates of that pixel taken in view of the Width ("W") and Height ("H") of the image. For any given pixel having the coordinates (X,Y) the Record Number ("R") is given by the formula: R = ( Y . w) + X + 1
Knowing the Record Number ("R"), the number of images (Q), and the number of bytes of memory ("B") accorded to each image intensity value, the position of that Pixel Record (as measured from the beginning of the collection of Pixel Records in the P-1 Stack) is determined by the relationship:
Position = ( R - I) - (Q) - (B)
[with at least ten-bit digital accuracy there are two bytes accorded to each image intensity value (i.e., B = 2)].
The Position defines the starting location from which an intensity record (Q images, each with B bytes) is read. Knowing the Position of the Pixel Record in the P-1 Stack makes accessing of that Pixel Record quick and efficient. With image information organized using the P-1 Stack in accordance with the present invention, it is possible to access a particular Image Intensity Data Array corresponding to a desired pixel location with an access time on the order of milliseconds.
Once the Pixel Record for is retrieved, since the structure of an Image Intensity Data Array for a pixel inherently defines the spectrum of that pixel, the presentation of that spectrum is simplified. TRIREStHDID ("P-2") PIXEL STACK The second data organization in accordance with a second embodiment of the present invention is the Thresholded Pixel Stack, also termed a "P-2 Stack".
The inclusive pixel stack is, as discussed, a data record that includes image intensity information from every pixel in the visual and corresponding electronic image, regardless of whether that intensity information is derived from light scattered from a portion of a microparticle corresponding to the particular pixel or from another feature or background. However, as may be appreciated by examination of Figure 2, only a relatively small fraction of the pixels in an image correspond to locations on a microparticle. It is thus apparent that significant compression of image data may be achieved by not storing intensity information derived from pixels other than those pixels corresponding to a portion of a microparticle. This deletion is accomplished in the Thresholded Pixel Stack using a thresholding technique to be described.
Figure 12 is a diagrammatic representation, similar to Figure 5, showing of the organization of the data structure of a Thresholded ("P-2") Pixel Stack formed in accordance with the present invention. Figure 13 is a diagrammatic representation of an individual Pixel Record in a Thresholded Pixel Stack.
As with the inclusive P-1 stack, the Thresholded Pixel Stack includes a Pixel File Header file, files relating to the illuminating laser, a collection of pixel records, a Composite Average Image Array and a Composite Maximum Image Array.
The Thresholded Pixel Stack also includes two additional composite arrays, the Composite Thresholded Image Array (discussed in connection with Figure 16) and a Pointer Array (discussed in connection with Figure 17). Both of these arrays are multi-dimensional arrays that mirror the matrix (or whatever shaped) layout of the pixels in the image plane.
The data structure of the Pixel Record included within the Thresholded Pixel Stack is substantially similar to that the structure of a Pixel Record included in a P-1 Stack. As seen from a comparison of Figures 6A and 13, the Pixel Header in a Pixel Record of the Thresholded WM&\ Stacfc differs in that it also includes information regarding the average image intensity of the pixel.
The collection of Pixel Records in the Thresholded Pixel Stack is significantly different from the counterpart structure in the inclusive P- 1 Stack in that the P-2 Stack does not include all Pixel Records in the image. The Thresholded Pixel Stack includes only a select set of S number of Pixel Records (where S is less than N). Only Pixel Records whose Image Intensity Data Array includes at least one intensity value that is in excess of a predetermined analog threshold value are selected for inclusion in the collection of Pixel Records in a Thresholded Pixel Stack. If an Image Intensity Data Array does not contain a single value above the threshold, that array is not included in the Thresholded Pixel Stack.
A tabulated form of a select set of S number of Pixel Records in a Thresholded Pixel Stack selected in the manner to be described is given in Figure 14. The row denoted "Order of Selection" records the order in which a Pixel Record is taken into the select set.
Figure 15 illustrates that the data structure of the collection of Pixel Records in a Thresholded Pixel Stack has the form of a linear array of linear arrays of data, similar to the form of the Pixel Record collection in an inclusive stack.
The initial operation in the creation of a Analog Threshold based upon the highest and lowest pixel values in the Q images. These values are identified in a manner generally similar to that discussed in connection with the creation of the P- 1 stack. For each of the Q images in the scan all pixel locations are interrogated, raster fashion, and various Composite Image Arrays, such as a Composite Average Image Array, a Composite Maximum Image Array and a Composite Minimum Image Array are created. The highest and lowest intensity values are identified. It should be understood that although the following description focuses on the use of the Composite Maximum Image Array, any of the Composite Image Arrays described for the P- 1 Stack may be used in an analogous manner, thus the use of any of these Composite Image Arrays is within the scope of the invention. TfieAiϋalbg Threshold is calculated using the highest and lowest intensity values. The Analog Threshold value may be any appropriate functional relationship of the Highest Pixel Value and the Lowest Pixel Value. A convenient method to define the threshold is to add an offset to the lowest intensity value. A convenient offset to utilize is the Highest Pixel Value scaled by an appropriate scale factor. The scale factor may be predetermined from experience, or may be selected by interaction with a user.
Such a functional relationship involving the Highest Pixel Value, the Lowest Pixel Value and a Scale Factor could take the form:
Analog Threshold = Lowest Pixel Value +
(Highest Pixel Value Scale Factor)
Other relationships to define the Analog Threshold could be used.
The Pixel Records are selected for inclusion in the Thresholded Pixel Stack on the basis of a pixel-by-pixel comparison of the values in the Composite Maximum Image Array and the Analog Threshold.
These operations will become clearer with reference to Figures 14 through 17. It is assumed for this discussion that the Composite Maximum Image Array of Figure 9 has been created and that the Analog Threshold value has been calculated as a value twenty (20) (an arbitrary value chosen for illustrative purposes).
Scanning through the Composite Maximum Image Array in raster order (using increasing X values at each value of Y value) the first pixel encountered whose maximum intensity value exceeds the Analog Threshold is the pixel (3,1 ). The Pixel Record corresponding to this pixel becomes the first Pixel Record selected for inclusion within the select set of Pixel Records contained in the Thresholded Pixel Stack (Figures 14, 15).
Since Pixel Records are selected for inclusion in a non-consecutive fashion some indication that correlates the raster order position of a selected Pixel Record with its position in the collection of pixel records must be provided. This function is served by the Pointer Array. UjspR tlnβ Selection of a given Pixel Record the location in the Pointer Array corresponding to that pixel is updated with a sequential ordinal indicator denoting the order of selection of the Pixel Record from that pixel into the collection of pixel records. In the example being developed the ordinal "1" is loaded into the location in the Pointer Array corresponding to the pixel (3,1 ) (Figure 17).
The value of the Composite Maximum Image Array in the location under test ("25") is loaded into the corresponding location in the Composite Thresholded Image Array (Figure 16).
Continuing raster-wise to test the values in the Composite Maximum Image Array, the next pixel location whose maximum value exceeds the Analog Threshold is the pixel (4,1 ). Accordingly, the Pixel Record corresponding to this pixel (4,1 ) becomes the second entrant selected for inclusion into the collection of Pixel Records for the P-2 stack under construction (Figures 14, 15). The ordinal "2" is loaded into the location in the Pointer Array corresponding to the pixel (4,1 ) (Figure 17). The maximum intensity value of this pixel (4,1 ) (i.e., "28") is loaded into the corresponding location in the Composite Thresholded Image Array (Figure 15).
This examination continues in sequence until the full raster is completed and all qualifying Pixel Records have been identified and included into the collection.
It should be noted that even though the maximum values of pixels (3,2), (6,3), (6,4) and (6,6) contain image intensity values that are above background intensities, these Pixel Records are not selected for inclusion in the collection because the maximum intensity is less than the Analog Threshold.
Program Listing A pseudocode listing of a program for the creation of a P-2 stack is created is set forth on pages A-2 and A-3 of the Appendix. References in the following discussion are again keyed to the corresponding line numbers in the pseudocode listing. The variables "Q" , "W" and "H" again respectively refers to the number of images, the number ©f ptoc^ls in the Widtti of each image, and the number of pixels in the Height of each image.
In order to compute the Analog Threshold the Lowest Pixel Value and Highest Pixel Value in the Q images must be identified. This task is accomplished in Lines 37 to 63.
The array "Image Intensity Data Array" is dimensioned as a (Q x 1) array [i.e., from subscripts "0" to "(Q-1)"] in Line 37.
The "Composite Maximum Image Array" and "Composite Average Image Array" are each dimensioned as a (W x H) array [i.e., in the Width dimension from subscripts "0" to "(W-1 )" and in the Height dimension from subscripts "0" to "(H-1)"] in Lines 38 and 39. Three additional (W x H) arrays, viz., the "Composite Minimum Image Array", the "Composite Threshold Image Array" and the "Pointer Array" are dimensioned in Lines 40, 41 and 42, respectively.
Initial Values in the buffers "LowestPixelValue" and "HighestPixelValue" are set to the same values as in the case of the P-1 Stack in Lines 43 and 44.
The Q images are interrogated to identify the highest and lowest intensity values in all Q images.
The Y values of all pixel locations are looped in an outer loop extending from Lines 45 to 63. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 46 to 62.
The utility "GetPixel" is called in Line 47. The pixel intensity values from the store of digital image representations ("Mylmages") are retrieved and placed into the array "Image Intensity Data Array" in the same manner as discussed in connection with the P-1 Stack (Line 13).
The buffers "Sum" and "Max" and "Min" are initialized to zero (Lines 48 and 49). The buffers "Min" is initialized to a value higher than any expected intensity (Line 50).
For each X value within the "X" loop, a nested loop (Lines 51 to 58) sequentially reads the array "Image Intensity Data Array" through all of Q values [0 to (Q-1 )].
On each iteration through the Q values several things occur, viz.: the buffer "Sum" is increased by the then-current Pixel Value (Line 53);
-the then-current Pixel Value is compared to the current value in the Max buffer. If the comparison is "True" the value in the Max buffer is changed to the current value (Line 54);
-the then-current Pixel Value is compared to the current value in the Min buffer. If the comparison is "True" the value in the Min buffer is changed to the current value (Line 55);
-the then-current Pixel value is also compared to the current LowestPixelValue and HighestPixelValue in these buffers (Lines 56 and 57). If either comparison is "True" the value in the appropriate buffer is changed. The average pixel value (equal to "Sum" divided by the number of images Q) is loaded into the then-current (X, Y) pixel location in the "Composite Average Image Array" (Line 59). The then-current (X, Y) pixel location in both the "Composite Maximum Image Array" and the "Composite Minimum Image Array" are loaded with the values in the Max and Min buffers, respectively (Lines 60, 61 ).
The X value is then incremented (Line 62) and the "X" loop (Lines 46 to 62) iteratively repeated for each updated then-current (X,Y).
After all X looping is complete, the Y value is incremented (Line 63) and the full "Y" loop (Lines 45 to 63) iteratively repeated for all values of Y. At the completion of the Y loop:
-the "Composite Average Image Array", the "Composite Maximum Image Array", the "Composite Minimum Image Array", each derived from all of the Q images, have been created (each iteration of Lines 59, 60 and 61 , respectively); and
-the highest and lowest intensity values in all the images have been identified and stored in the buffers IrliytrestPixerValue and LowestPixelValue (Lines 56, 57, respectively).
The value of the Analog Threshold is computed in Line 64. The Analog Threshold is shown using functional notation, indicating that the Analog Threshold is a function of the HighestPixelValue, LowestPixelValue and an appropriate Scale Factor. The Scale Factor may be interactively determined by a user, if desired.
The binary "P-2 Stack" file is then opened on disk (or other medium) in Line 65.
The files "PixelFileHeader" and "LaserRecord" are created on the disk in Lines 66 and 67.
Those pixel Records qualifying for inclusion in the set of Selected Pixel Records are chosen in Lines 68 to 85.
A Selected Pixel Record Number counter is initialized to zero in Line 68.
The Y values of the pixel locations are looped in an outer loop from Lines 69 to 85. For each Y value, the X values of the pixel locations are incremented in a first nested inner loop from Lines 70 to 84.
The Composite Maximum Image Array is then interrogated in raster fashion. For each "X" value within the "X" loop the value in the Composite Maximum Image Array stored at the then-current X and Y values is tested against the Analog Threshold using an "If" statement (Lines 71 to 83). If the comparison is "True", that is, if the stored maximum value exceeds the Analog Threshold, then:
-the then-current X and Y values of the pixel are loaded into the Selected Pixel Header (Lines 72 and 73);
-the Selected Pixel Record Number counter is incremented (Line 74);
-the updated value in the Selected Pixel Record Number counter is loaded into the then-current pixel location in the Pointer Array (Line 75); the value of the Composite Maximum Image Array under test is loaded into the corresponding pixel location in the Composite Thresholded Image Array (Line 76);
-the utility "GetPixel" is again invoked in Line 77 to retrieve the all Q intensity values from the selected pixel and to populate the Image Intensity Data Array for the selected pixel;
-the values at the then-current pixel in the Composite Average Image Array, the Composite Maximum Image Array and the Composite Minimum Image Array are loaded into Pixel Header for this Selected Pixel Record (Lines 78 to 80); and
-the Selected Pixel Record Header and the Image Intensity Data Array are then saved to disk (Lines 81 , 82).
The X value is then incremented (Line 84) and the "X" loop (Lines 70 to 84) iteratively repeated for each updated then-current (X1Y).
After all X looping is complete, the Y value is incremented (Line 32) and the full "Y" loop (Lines 69 to 85) iterativeiy repeated for all values of Y.
At the completion of the Y loop the "Pixel Header" and the "Image Intensity Data Array" for each Selected Pixel Record has been created and stored to disk (each iteration of Lines 81 and 82); and the "Composite Thresholded Image Array" has been created (each iteration of Line 76).
The earlier created "Composite Average Image Array" (Line 59), "Composite Maximum Image Array" (Line 60), and "Composite Minimum Image Array" (Line 61 ) are saved to disk in Lines 86, 87, 88, respectively.
The "Composite Threshold Image Array", is saved to disk in Line 89. The "Pointer Array", is saved to disk in Line 90.
The full, finished "Pixel File Header" (containing the number of Selected Pixel Records, the Lowest Pixel Value, the Highest Pixel Value and the Analog Threshold) is sent to disk for storage (Line 95).
The P-2 Stack closed (Line 96). Ad vantages of the P-2 Stack Since the collection of Pixel Records in a P-2 stack includes only a selected set of S number of Pixel Records, the storage requirements for the overall P-2 stack is significantly reduced.
Using the Pointer Array, access and retrieval of individual Pixel Records is still efficiently accomplished. The ordinal value in the Pointer Array defines the Record Number ("R") used to calculate the Position of desired Pixel Record.
The inherency of spectral information within the structure of an Image Intensity Data Array is maintained.
The advantage of binary format is also kept.
-o-O-o-
Those skilled in the art having the benefit of the teachings of the present invention as hereinabove set forth may impart numerous modifications. Such modifications are to be construed as within the scope of the present invention, as defined by the appended claims.
PROGRAM APPENDIX Creation of A P-1 Stack File
Open Binary File as #P-1 Stack Put #P-1 Stack Pixel FileHeader Put #P-1 Stack LaserRecord
Dim Image Intensity Data Array [0 to (Q-1)] Dim Composite Maximum Image Array [0 to (W-1 ), 0 to (H-1 )] Dim Composite Average Image Array [0 to (W-1), 0 to (H-1)] LowestPixelValue = 3200 HighestPixelValue = 0
For Y = 0 to (H-1) For X 0 to (W-1) PixelHeader.X = X PixelHeader.Y = Y GetPixel Mylmages(O), Q, bytes/pixel, W, X, Y,
Image Intensity Data Array(O) Sum = 0 Max = 0 For Pixel = [O to (Q -1 )] PixelValue = Image Intensity Data
Array(Pixel) Sum = Sum + PixelValue If PixelValue > Max Then Max = PixelValue If PixelValue < LowestPixelValue Then
LowestPixelValue = PixelValue If PixelValue > HighestPixelValue Then
HighestPixelValue = PixelValue Next PixelHeader.AvgPixel = Sum / Q PixelHeader.MaxPixel = Max Composite Average Image Array(X.Y) = Sum / Q Composite Maximum Image Array(X.Y) = Max Put #P-1 Stack PixelHeader Put #P-1 Stack Image Intensity Data Array Next X Next Y
Put #P-1 Stack Composite Average Image Array
Put #P-1 Stack Composite Maximum Image Array
PixelFileHeader.LowestPixelValue = Lowest PixelValue PixelFileHeader.HighestPixelValue = Highest PixelValue
Put Pixel FileHeader into the "P-1 Stack" Binary File Close the "P-1 Stack" Binary File Create P-2 Stack
Dim Image Intensity Data Array [0 to (Q-1)] Dim Composite Maximum Image Array [0 to (W-1 ), 0 to (H-1)] Dim Composite Minimum Image Array [0 to (W-1 ), 0 to (H-1 )] Dim Composite Average Image Array [0 to (W-1 ), 0 to (H-1 )] Dim Composite Threshold Image Array [0 to (W-1), 0 to (H-1)] Dim Pointer Array [0 to (W-1 ), 0 to (H-1 )] LowestPixelValue = 3200 HighestPixelValue = 0 For Y = 0 to (H-1) For X 0 to (W-1) GetPixel Mylmages(O), Q, bytes/pixel, W, X, Y,
Image Intensity Data Array(O) Sum = 0 Max = 0 Min = 3200 For Pixel = [O to (Q -1 )] PixelValue = Image Intensity Data
Array(Pixel) Sum = Sum + PixelValue If PixelValue > Max Then Max = PixelValue If PixelValue < Min Then Min = PixelValue If PixelValue < LowestPixelValue Then
LowestPixeiValue = PixelValue If PixelValue > HighestPixelValue Then
HighestPixelValue = PixelValue Next Composite Average Image Array(X,Y) = Sum / Q Composite Maximum Image Array(X,Y) = Max Composite Minimum Image Array(X.Y) = Min Next X Next Y
Analog Threshold = Function(LowestPixelValue, HighestPixelValue)
Open Binary File as #P-2 Stack
Put #P-2 Stack PixelFileHeader Put #P-2 Stack LaserRecord
SelectedPixelRecordNumber = 0 For Y = 0 to (H-1) For X = O to (W-1) If Composite Maximum Image Array(X,Y) > Analog
Threshold Then SelectedPixelHeader.X = X SelectedPixelHeader.Y = Y SelectedPixelRecordNumber =
SelectedPixelRecordNumber + 1 75 Pointer Array(X.Y) =
SelectedPixelRecordNumber
76 Composite Threshold Image Array(X.Y) =
Composite Maximum Image Array(X.Y) 77 GetPixel Mylmages(O), Q, bytes/pixel, W, X,
Y, Image Intensity Data Array(O) 78 SelectedPixelHeader.AvgPixel = Composite
Average Image Array(X,Y) 79 SelectedPixelHeader.MaxPixel = Composite
Maximum Image Array(X,Y) 80 SelectedPixelHeader.MinPixel = Composite
Minimum Image Array(X,Y)
81 Put #P-2 Stack SelectedPixelHeader 82 Put #P-2 Stack Selected Image Intensity
Data Array
83 End If 84 Next X 85 Next Y
86 Put #P-2 Stack Composite Average Image Array
87 Put #P-2 Stack Composite Maximum Image Array
88 Put #P-2 Stack Composite Mimimum Image Array
89 Put #P-2 Stack Composite Threshold Image Array
90 Put #P-2 Stack Pointer Array
91 PixelFileHeader.Pixels = SelectedPixelRecords
92 PixelFileHeader.LowestPixelValue = Lowest Pixel Value
93 PixelFileHeader.HighestPixelValue = Highest Pixel Value
94 PixelFileHeader.Threshold = Analog Threshold
95 Put #P-2 Stack PixelFileHeader
96 Close #P-2 Stack

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method for organizing image data representing light scattered from one or more substantially spherical microparticles, the method comprising the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels;
(b) for each of the N pixels, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; and
(c) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
2. The method of claim 1 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
3. A data structure stored in a memory accessible by an application program being executed on a data processing system, the system being operable to process information derived from a digital representation of each of a plurality of images produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels arranged in a predetermined raster order, the data structure comprising: a uølteσiiibn ©f N Pixel Records, each Pixel Record being associated with one pixel, the Pixel Records being arranged sequentially in a linear array in accordance with the raster order, each Pixel Record including a Record Header and an Image Intensity Data Array, each Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; the Record Header in each Pixel Record including information specifying the location on the electronic image plane of the pixel associated with the Image Intensity Data Array.
4. The data structure of claim 3 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
5. The data structure of claim 3 wherein the Record Header in each Pixel Record further includes information regarding the maximum intensity value in the Image Intensity Data Array.
6. The data structure of claim 3 wherein the Record Header in each Pixel Record further includes information regarding the average intensity value of the Image Intensity Data Array.
7. The data structure of claim 3 wherein the Pixel Records are stored in binary format.
8. The data structure of claim 3 wherein the pixels are arranged in a predetermined two-dimensional matrix on the electronic image plane, and wherein the data structure further includes a Composite Image Array having N values, the Composite Image Array being arranged as a two dimensional array corresponding to the arrangement of the pixels on ih® eiectante image plane, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
9. A computer-readable storage medium containing a set of instructions for organizing image data representing light scattered from one or more substantially spherical microparticles, the instructions causing the computing system to execute the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels;
(b) for each of the N pixels, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; and
(c) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
10. The computer-readable storage medium of claim 9 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
11. A computer-implemented method for organizing image data representing light scattered from one or more substantially spherical microparticles, the method comprising the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, a selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one mtørtφartiete. eaefii selected portion of each image having a pr Brmined number (N) of pixels;
(b) fc- ^ach of the N pixels in the selected portion of the image, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; and
(c) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
12. The method of claim 11 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
13. A data structure stored in a memory accessible by an application program being executed on a data processing system, the system being operable to process information derived from a digital representation of at least a selected portion of each of a plurality of images produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, the selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one microparticle, each selected portion of each of the Q images having a predetermined number (N) of pixels arranged in a predetermined raster order, the data structure comprising: a collection of N pixel records, each Pixel Record being associated with one pixel in the selected portion of the image, the Pixel Records being arranged sequentially in a linear array in accordance with the raster order, each Pixel Record including a Record Header and an Image Intensity Data Array, ®a.eh JlrBaiQ Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; the Record Header in each Pixel Record including information specifying the location on the electronic plane of the pixel associated with the Image Intensity Data Array.
14. The data structure of claim 13 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
15. The data structure of claim 13 wherein the Record Header in each Pixel Record further includes information regarding the maximum intensity value in the Image Intensity Data Array.
16. The data structure of claim 13 wherein the Record Header in each Pixel Record further includes information regarding the average intensity value of the Image Intensity Data Array.
17. The data structure of claim 13 wherein the Pixel Records are stored in binary format.
18. The data structure of claim 13 wherein the pixels are arranged in a predetermined two-dimensional matrix on the electronic image plane, and wherein the data structure further includes a Composite Image Array having N values, the Composite Image Array being arranged as a two dimensional array corresponding to the arrangement of the pixels in the selected portion of the image on the electronic image plane, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array. 1$: Α"C'αmputer-readable storage medium containing a set of instructions for organizing image data representing light scattered from one or more substantially spherical microparticles, the instructions causing the computing system to execute the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, a selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one microparticle, each selected portion of each image having a predetermined number (N) of pixels;
(b) for each of the N pixels in the selected portion of the image, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array; and
(c) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array.
20. The computer-readable storage medium of claim 19 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
21. A computer-implemented method for organizing image data representing light scattered from one or more substantially spherical microparticles, the method comprising the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels; φ) tor each of the N pixels, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array;
(c) from the N Image Intensity Data Arrays, creating a select set of S number of Image Intensity Data Arrays, each Image Intensity Data Array in the select set having at least one intensity value that exceeds a predetermined analog threshold; and
(d) creating a Pointer Array containing N values, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
22. The method of claim 21 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
23. The method of claim 21 further comprising the steps of:
(e) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array; and wherein the creation of the select set step (c) is performed by:
(f) scanning the Composite Image Array in a predetermined raster order and selecting an Image Intensity Data Array for inclusion in the select set on the basis of a comparison between the corresponding intensity value of the Composite Image Array and the predetermined analog threshold.
24. The method of claim 23 further comprising the step of:
(e) creating a Composite Thresholded Image Array containing N values, the Composite Thresholded Image Array being created by deleting from the Composite Image Array each value therein that is less than the predetermined analog threshold. 25. The method of claim 21 further comprising the step of:
(e) creating a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the analog threshold.
26. A data structure stored in a memory accessible by an application program being executed on a data processing system, the system being operable to process information derived from a digital representation of each of a plurality of images produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels arranged in a predetermined raster order, the data structure comprising: a select set of number S of pixel records, where the number S may be less than or equal to the number N, each Pixel Record in the select set being associated with one pixel, the Pixel Records in the select set being arranged sequentially in a linear array in accordance with the raster order, each Pixel Record including a Record Header and an Image Intensity Data Array, each Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array, at least one value in each of the S number of Image Intensity Data Arrays exceeding a predetermined analog threshold; the Record Header in each Pixel Record including information specifying the location on the electronic plane of the pixel associated with the Image Intensity Data Array. 27. The data structure of claim 26 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
28. The data structure of claim 26 wherein the Record Header in each Pixel Record further includes information regarding the maximum intensity value in the Image Intensity Data Array.
29. The data structure of claim 26 wherein the Record Header in each Pixel Record further includes information regarding the average intensity value of the Image Intensity Data Array.
30. The data structure of claim 26 further comprising a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the analog threshold.
31. The data structure of claim 26 wherein the Pixel Records are stored in binary format.
32. The data structure of claim 26 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Pointer Array containing N values, the Pointer Array being arranged as a two-dimensional array corresponding the arrangement of the pixels on the electronic image plane, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
33. The data structure of claim 32 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix. 34. The data structure of claim 32 wherein the two-dimensional shape on the electronic image plane is a square matrix.
35. The data structure of claim 26 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Maximum Image Data Array containing N values, the Maximum Image Data Array being arranged as a two dimensional array corresponding the arrangement of the pixels on the electronic image plane, each value in the maximum image array being the maximum intensity value in an Image Intensity Data Array.
36. The data structure of claim 35 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix.
37. The data structure of claim 35 wherein the two-dimensional shape on the electronic image plane is a square matrix.
38. The data structure of claim 26 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Composite Thresholded Image Array containing N values, the Composite Thresholded Image Array being arranged as a two dimensional array corresponding the arrangement of the pixels on the electronic image plane, each value in the Composite Thresholded Image Array being an intensity value in an Image Intensity Data Array, provided that such value is greater than the predetermined analog threshold.
39. The data structure of claim 38 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix. 40. The data structure of claim 38 wherein the two-dimensional shape on the electronic image plane is a square matrix.
41. A computer-readable storage medium containing a set of instructions for organizing image data representing light scattered from one or more substantially spherical microparticles, the instructions causing the computing system to execute the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, each of the Q images having a predetermined number (N) of pixels;
(b) for each of the N pixels, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array;
(c) from the N Image Intensity Data Arrays, creating a select set of S number of Image Intensity Data Arrays, each Image Intensity Data Array in the select set having at least one intensity value that exceeds a predetermined analog threshold; and
(d) creating a Pointer Array containing N values, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
42. The computer-readable storage medium of claim 41 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
43. The computer-readable storage medium of claim 41 further comprising the steps of: (e) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array; and wherein the creation of the select set step (c) is performed by:
(f) scanning the Composite Image Array in a predetermined raster order and selecting an Image Intensity Data Array for inclusion in the select set on the basis of a comparison between the corresponding intensity value of the Composite Image Array and the predetermined analog threshold.
44. The computer-readable storage medium of claim 43 further comprising the step of:
(e) creating a Composite Thresholded Image Array containing N values, the Composite Thresholded Image Array being created by deleting from the Composite Image Array each value therein that is less than the predetermined analog threshold.
45. The computer-readable storage medium of claim 41 further comprising the step of:
(e) creating a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the Analog Threshold.
46. A computer-implemented method for organizing image data representing light scattered from one or more substantially spherical microparticles, the method comprising the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, a selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one microparticle, each selected portion of each image having a predetermined number (N) of pixels; (fcr) for each of the N pixels in the selected portion of the image, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array;
(c) from the N Image Intensity Data Arrays, creating a select set of S number of Image Intensity Data Arrays, each Image Intensity Data Array in the select set having at least one intensity value that exceeds a predetermined analog threshold; and
(d) creating a Pointer Array containing N values, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
47. The method of claim 46 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
48. The method of claim 46 further comprising the steps of:
(e) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array; and wherein the creation of the select set step (c) is performed by:
(f) scanning the Composite Image Array in a predetermined raster order and selecting an Image Intensity Data Array for inclusion in the select set on the basis of a comparison between the corresponding intensity value of the Composite Image Array and the predetermined analog threshold.
49. The method of claim 48 further comprising the step of:
(e) creating a Composite Thresholded Image Array containing N values, the Composite Thresholded Image Array being created by deleting from the Composite Image Array each value therein that is less than the predetermined analog threshold. 50. The method of claim 46 further comprising the step of: (e) creating a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the Analog Threshold.
51. A data structure stored in a memory accessible by an application program being executed on a data processing system, the system being operable to process information derived from a digital representation of each of a plurality of images produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, a selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one microparticle, each selected portion of each image has a predetermined number (N) of pixels arranged in a predetermined raster order, the data structure comprising: a select set of number S of pixel records, where the number S may be less than or equal to the number N, each Pixel Record in the select set being associated with one pixel, the Pixel Records in the select set being arranged sequentially in a linear array in accordance with the raster order, each Pixel Record including a Record Header and an Image Intensity Data Array, each Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array, at least one value in each of the S number of Image Intensity Data Arrays exceeding a predetermined analog threshold; the Record Header in each Pixel Record including information specifying the location on the electronic plane of the pixel associated with the Image Intensity Data Array. 52. The data structure of claim 51 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering.
53. The data structure of claim 51 wherein the Record Header in each Pixel Record further includes information regarding the maximum intensity value in the Image Intensity Data Array.
54. The data structure of claim 51 wherein the Record Header in each Pixel Record further includes information regarding the average intensity value of the Image Intensity Data Array.
55. The data structure of claim 51 further comprising a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the analog threshold.
56. The data structure of claim 51 wherein the Pixel Records are stored in binary format.
57. The data structure of claim 51 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Pointer Array containing N values, the Pointer Array being arranged as a two-dimensional array corresponding the arrangement of the pixels on the electronic image plane, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
58. The data structure of claim 57 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix. 59. The data structure of claim 57 wherein the two-dimensional shape on the electronic image plane is a square matrix.
60. The data structure of claim 51 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Maximum Image Data Array containing N values, the Maximum Image Data Array being arranged as a two dimensional array corresponding the arrangement of the pixels on the electronic image plane, each value in the maximum image array being the maximum intensity value in an Image Intensity Data Array.
61. The data structure of claim 60 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix.
62. The data structure of claim 60 wherein the two-dimensional shape on the electronic image plane is a square matrix.
63. The data structure of claim 51 wherein the pixels are arranged in a predetermined two-dimensional shape on the electronic image plane, and wherein the data structure further includes a Composite Threshold Image Array containing N values, the Composite Thresholded Image Array being arranged as a two dimensional array corresponding the arrangement of the pixels on the electronic image plane, each value in the Composite Thresholded Image Array being an intensity value in an Image Intensity Data Array, provided that such value is greater than the predetermined analog threshold.
64. The data structure of claim 63 wherein the two-dimensional shape on the electronic image plane is a rectangular matrix. 65. The data structure of claim 63 wherein the two-dimensional shape on the electronic image plane is a square matrix.
66. A computer-readable storage medium containing a set of instructions for organizing image data representing light scattered from one or more substantially spherical microparticles, the instructions causing the computing system to execute the steps of:
(a) creating a digital representation of an image produced on an electronic image plane by light scattered from one or more substantially spherical microparticles at each of a predetermined number (Q) of illuminating wavelengths, a selected portion of each of the Q images corresponding to a region of interest on or adjacent to at least one microparticle, each selected portion of each image having a predetermined number (N) of pixels;
(b) for each of the N pixels in the selected portion of the image, creating an associated Image Intensity Data Array containing Q values, the Q values in at least some of the data arrays denoting the intensity of light at each of the Q wavelengths scattered from a location on a microparticle corresponding to the pixel associated with the data array;
(c) from the N Image Intensity Data Arrays, creating a select set of S number of Image Intensity Data Arrays, each Image Intensity Data Array in the select set having at least one intensity value that exceeds a predetermined analog threshold; and
(d) creating a Pointer Array containing N values, the Pointer Array correlating the position on the electronic image plane of the pixel associated with each Image Intensity Data Array in the select set with the order of selection of that data array into the select set.
67. The computer-readable storage medium of claim 66 wherein the image on the electronic image plane is produced by light scattered by resonant Mie scattering. 68'.' The~Computer-readable storage medium of claim 66 further comprising the steps of:
(e) creating a Composite Image Array having N values, each value in the Composite Image Array being generated using a corresponding Image Intensity Data Array; and wherein the creation of the select set step (c) is performed by:
(f) scanning the Composite Image Array in a predetermined raster order and selecting an Image Intensity Data Array for inclusion in the select set on the basis of a comparison between the corresponding intensity value of the Composite Image Array and the predetermined analog threshold.
69. The computer-readable storage medium of claim 68 further comprising the step of:
(e) creating a Composite Thresholded Image Array containing N values, the Composite Thresholded Image Array being created by deleting from the Composite Image Array each value therein that is less than the predetermined analog threshold.
70. The computer-readable storage medium of claim 66 further comprising the step of:
(e) creating a Pixel File Header containing information regarding the value of the number "S" of Image Intensity Data Arrays in the select set and the value of the Analog Threshold.
71. The computer-implemented method of claim 1 wherein the Composite Image Array is a Composite Maximum Array.
72. The computer-implemented method of claim 1 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array. 73'. "The data structure of claim 8 wherein the Composite Image Array is a Composite Maximum Array.
74. The data structure of claim 8 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
75. The computer-readable storage medium of claim 9 wherein the Composite Image Array is a Composite Maximum Array.
76. The computer-readable storage medium of claim 9 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
77. The computer-implemented method of claim 11 wherein the Composite Image Array is a Composite Maximum Array.
78. The computer-implemented method of claim 11 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
79. The data structure of claim 18 wherein the Composite Image Array is a Composite Maximum Array.
80. The data structure of claim 18 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array. 81'. The computer-readable storage medium of claim 19 wherein the Composite Image Array is a Composite Maximum Array.
82. The computer-readable storage medium of claim 19 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
83. The method of claim 23 wherein the Composite Image Array is a Composite Maximum Array.
84. The method of claim 23 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
85. The method of claim 24 wherein the Composite Image Array is a Composite Maximum Array.
86. The method of claim 24 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
87. The data structure of claim 38 wherein the value is the maximum value in the corresponding Image Intensity Data Array.
88. The data structure of claim 38 wherein the value is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
89. The computer-readable storage medium of claim 43 wherein the Composite Image Array is a Composite Maximum Array. 90. The computer-readable storage medium of claim 43 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
91. The computer-readable storage medium of claim 44 wherein the Composite Image Array is a Composite Maximum Array.
92. The computer-readable storage medium of claim 44 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
93. The method of claim 48 wherein the Composite Image Array is a Composite Maximum Array.
94. The method of claim 48 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
93. The method of claim 49 wherein the Composite Image Array is a Composite Maximum Array.
96. The method of claim 49 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
97. The data structure of claim 63 wherein the value is the maximum value in the corresponding Image Intensity Data Array. 88. The data structure of claim 63 wherein the value is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
99. The computer-readable storage medium of claim 68 wherein the Composite Image Array is a Composite Maximum Array.
100. The computer-readable storage medium of claim 68 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
101. The computer-readable storage medium of claim 69 wherein the Composite Image Array is a Composite Maximum Array.
102. The computer-readable storage medium of claim 69 wherein each value in the Composite Image Array is generated by taking the difference between the maximum and minimum intensity values in the corresponding Image Intensity Data Array.
PCT/US2005/033103 2004-09-14 2005-09-14 Computer-implemented methods for organizing image data produced by resonant mie scattering of light from microparticles and resulting data structures WO2006032015A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60975804P 2004-09-14 2004-09-14
US60/609,758 2004-09-14

Publications (2)

Publication Number Publication Date
WO2006032015A2 true WO2006032015A2 (en) 2006-03-23
WO2006032015A3 WO2006032015A3 (en) 2007-05-24

Family

ID=36060725

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/033103 WO2006032015A2 (en) 2004-09-14 2005-09-14 Computer-implemented methods for organizing image data produced by resonant mie scattering of light from microparticles and resulting data structures

Country Status (2)

Country Link
US (1) US7612769B2 (en)
WO (1) WO2006032015A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110081056A1 (en) * 2009-10-05 2011-04-07 Salafia Carolyn M Automated placental measurement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6593938B1 (en) * 1998-04-10 2003-07-15 Ricoh Company, Ltd. Image processing apparatus, method and computer-readable recording medium with program recorded thereon, for joining images together by using visible joining points and correcting image distortion easily

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6200820B1 (en) * 1992-12-22 2001-03-13 Sienna Biotech, Inc. Light scatter-based immunoassay
US6654505B2 (en) 1994-10-13 2003-11-25 Lynx Therapeutics, Inc. System and apparatus for sequential processing of analytes
BR9710836A (en) * 1996-04-25 2000-10-24 Spectrametrix Inc Analyte assay using particle marks
US6180415B1 (en) * 1997-02-20 2001-01-30 The Regents Of The University Of California Plasmon resonant particles, methods and apparatus
US6259807B1 (en) 1997-05-14 2001-07-10 Applied Imaging Corp. Identification of objects of interest using multiple illumination schemes and finding overlap of features in corresponding multiple images
US6169816B1 (en) 1997-05-14 2001-01-02 Applied Imaging, Inc. Identification of objects of interest using multiple illumination schemes and finding overlap of features in corresponding multiple images
EP1412536B1 (en) 2001-08-03 2009-02-25 Nanosphere, Inc. Nanoparticle imaging system and method
US7122384B2 (en) 2002-11-06 2006-10-17 E. I. Du Pont De Nemours And Company Resonant light scattering microparticle methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6593938B1 (en) * 1998-04-10 2003-07-15 Ricoh Company, Ltd. Image processing apparatus, method and computer-readable recording medium with program recorded thereon, for joining images together by using visible joining points and correcting image distortion easily

Also Published As

Publication number Publication date
US20060066851A1 (en) 2006-03-30
WO2006032015A3 (en) 2007-05-24
US7612769B2 (en) 2009-11-03

Similar Documents

Publication Publication Date Title
US8350905B2 (en) Microscope system, image generating method, and program for practicing the same
US8798394B2 (en) Quantitave, multispectral image analysis of tissue specimens stained with quantum dots
US6252979B1 (en) Interactive method and apparatus for sorting biological specimens
US8600143B1 (en) Method and system for hierarchical tissue analysis and classification
WO2020041517A1 (en) Systems and methods for enhanced imaging and analysis
JP2006266872A (en) Visual inspection method and device therefor
CN112014409B (en) Method and system for detecting defects of semiconductor etching lead frame die
JP2002098639A (en) Image data acquisition method
CN102855681A (en) Authenticity determination support device and support method, authenticity determination device and authenticity determination support method
CN112464802B (en) Automatic identification method and device for slide sample information and computer equipment
US7612769B2 (en) Computer-implemented methods for organizing image data produced by resonant Mie scattering of light from microparticles and resulting data structures
CN109557070A (en) A kind of Raman Imaging System based on space encoding light
JP2000292422A (en) Scanning site meter
CN105022995A (en) Calligraphy and painting element diffusion and penetration information extraction and analysis method based on light intensity information
Kriete et al. Computerized three-dimensional reconstructions of serial sections in electron microscopy
US20200349676A1 (en) Image processing device, system, and method for improving signal-to-noise of microscopy images
US20230386233A1 (en) Method for classifying a sequence of input images representing a particle in a sample over time
CN106326846A (en) Forest plant parallel extraction method based on image shot by unmanned aerial vehicle
Soenksen A fully integrated virtual microscopy system for analysis and discovery
CN116863011A (en) Method for quantum compression imaging
WO2023129632A2 (en) Efficient multi-dimensional storage of very large dense, sparse and semi-sparse image datasets with machine learning
CN114441450A (en) Multi-metal nodule typical characteristic simulation analysis device and method
CN116109994A (en) Lightweight disease identification method
CN116740459A (en) Point cloud classification method combining spatial features and spectral features

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase