Patent ID: 12196861

DETAILED DESCRIPTION

FIG.1shows an example underwater vehicle100having a laser imaging system101for generating an image of a seabed102and any objects on or about the seabed. In the illustrative figure, a bi-static version of an LLS sensor is shown with a separation between a transmitted laser beam and the receiver. The shaded area103emanating from the receiver is the projection of its instantaneous Field-of-View onto the ocean floor. In a bi-static configuration, the receiver aperture is elongated slightly in the vehicle's along-track direction to provide depth of field as the receiver is canted forward a few degrees to optimally receive the reflected laser return.

FIG.2shows cross-sectional views200of an example embodiment of a Monostatic 3D PTR LLS sensor packaged for compatibility with an example ˜12″ diameter UUV/AUV. The sensor is contained within an aluminum pressure vessel (PV)201. The PV201has a cylindrical optical window202. Internal components include a pulsed blue-green laser transmitter203, a rotating optical scanner assembly204, and a detector assembly comprising a photomultiplier tube (PMT)205and a high-speed digitizer/signal processor206.

In operation, as shown inFIG.3, a pulsed laser beam300is directed onto a rotating scan mirror301. In embodiments, the mirror301comprises a 4-facet pyramid that reflects the laser beam downward such as toward the ocean floor. It is understood that the PV304can be rotated such that the reflected laser beam302can be directed in any practical direction to meet the needs of a particular application. The system is not limited to looking downward or operating in seawater. The laser beam passes through a window303in the sensor's cylindrical PV304and reflects off the ocean floor305. A small portion of the beam306reflects back toward PV304, and passes through the window303to a focusing lens307. As the beam focuses, it reflects off the scan mirror301and, when best focus occurs, passes through a small hole in an aperture plate308onto a PMT309. The PMT309output can be converted to a time sequence by a digitizer310. The time sequence is processed to extract range and amplitude for a single image pixel, as described more fully below. As the scanner301rotates, the reflected beam302laterally transverses the ocean floor. The scan mirror301, the focusing lens307, and the aperture plate308all rotate together while the PMT309and window303are fixed in position. Each 90 degrees of scanner301rotation becomes a scan line311of received laser return. Forward motion of the host platform (e.g. UUV/AUV) places successive scan lines over new volumes of water leading to a continuous waterfall display of imagery. The scan width in degrees depends on the size and positioning of the window303, the focusing lens307, the scan mirror301, and the PMT309. For wide angle imaging applications, scan widths of 70 degrees out of each facet's 90 degrees of rotation are achievable.

In embodiments, the laser pulse transmitter is provided a commercial off—the shelf (COTS) pulsed blue-green laser. The laser pulse repetition frequency (PRF) is sufficiently high that it provides a pulse per pixel for the waterfall imagery display. The PRF selected may be a function multiple factors that depend on the specifics of the application. In selecting a PRF, the primary drivers for an application include the desired pixel spacing (ground-spatial distance-GSD) within and across scan lines, waterfall format (displayed pixels per scan line), and vehicle forward speed and imaging standoff ranges which together determine the sensor's area coverage rate. The range of values that can be obtained in practice are limited by sensor design parameters which include scan mirror301rotation rate and the laser beam302divergence assuming the GSD is more or less matched to the beam diameter at the standoff range. Average laser power, power per pulse, maximum energy per pulse, and pulse duration also play a role and are discussed later as they factor into imaging quality as a function of water clarity.

In operation,FIG.4provides example PRFs resulting from a range of possible scan rates and common display pixel per line options. A general rule of thumb for imaging in littoral waters is to operate the sensor at the highest laser PRF for which the maximum energy per pulse obtains.

FIG.5provides example average across-track (in the direction of scan) pixel GSD in inches as a function of laser pulses per scan line and imaging standoff range. Note that a 2-16 meter imaging standoff range is shown-actual imaging range can vary from <3 m to ˜60 m depending on water clarity.

FIG.6provides example average along track (in the direction of vehicle motion) pixel GSD in inches as a function of scanner rotation rate and vehicle forward speed.

FIG.7provides example across-track swath width as a function of standoff range given a 70-degree across-track scan line extent.

Taken together,FIG.5,FIG.6, andFIG.7enable a sensor user to determine sensor settings (e.g., PRF, scan rate, pixels per scan line) and engagement geometry (vehicle speed and imaging standoff range) to achieve a GSD and area coverage rate required for any given application. In addition,FIG.8provides the beam diameter at various imaging ranges for typically available COTS laser divergences. These diameters can be compared to the GSDs inFIG.5andFIG.6to determine if image quality is GSD-limited or resolution limited.

In embodiments, other laser parameters that affect performance include pulse duration, pulse-to-pulse uniformity, and pulse energy. A pulse duration may be bounded by the PMT rise time, digitizer sampling rate (the higher the better), and/or the desired range resolution (light travels ˜9 inches per nanosecond in seawater). Lower PMT rise times and higher sampling rates can accommodate shorter duration pulses, which together with advanced signal processing yield superior range resolution. Range resolution obtainable with currently available COTS components is ˜0.25″ employing a PMT rise time of 0.7 ns, a digitizer sampling rate of 2 Gsps (Giga-10{circumflex over ( )}9-samples per second) at 14 bits/sample, and a laser pulse duration (full width half max) of ˜2.5 nanoseconds. An example design rule of thumb is that the digitizer should provide at least 5 samples per laser pulse duration to keep pulse-to-pulse sampling noise at a manageable level (<2-3%).

Pulse-to-pulse energy and peak power uniformity are factors in system performance because each pulse return corresponds to a single pixel of imagery and thus pulse-to-pulse peak and energy differences translate to uncorrelated noise in the range and amplitude images. Non-uniformities of a few percent (<1% RMS) are desired. Image noise from higher non-uniformity lasers can be mitigated by applying scaling factors derived from high speed sampling of the outgoing transmit pulse.

Pulse energy may be bounded by available host vehicle power/energy, as well as packaging volume and thermal management constraints. 532 nm Laser average powers up to ˜1 W (2.9 μJ/pulse at 350 KHz PRF) should support example compact 3D PTR LLS configurations compatible with 12″ UUV/AUVs payload sizes and available mission power and energy. Higher power (20 W+; 28.6 μJ/pulse at 700 KHz PRF) pulsed lasers are available but may only be compatible with much larger systems and host platforms, which can provide more volume for thermal management.

In operation, the energy per pulse is also a factor in imaging standoff range. The ability of a pulse of laser light to travel through a scattering and absorbing medium, such as seawater, is a function of water clarity, which can be measured in terms of Beam Attenuation Length (BAL). One BAL is the path length a laser pulse travels before its energy reduces to 1/e of its original value due to a combination of absorption and scattering. Approximate rules-of-thumb for the BAL in various environments are:Turbid Littoral Waters: <1 mMedian Littoral Waters: 1.5-2 mClear Littoral Waters: 3-5 mOpen Ocean Waters: 7-10+m

As noted above, 3D PTR LLS is one of a number of underwater imaging sensor architectures having a scanned pencil beam-pinhole architecture well suited for mitigating the impacts of scattered light, which is the primary driver of BAL in littoral waters. Performance prediction modeling of Monostatic 3D PTR LLS indicates an ability to generate high quality imagery at ˜4.5-5 BALs without gating of the PMT or at ˜6-6.5 BALs with gating of the PMT. PMT gating is discussed below in conjunction withFIG.15.

FIG.9shows illustrative operating ranges of example Monostatic 3D PTR LLS embodiments in various water clarities. Unshaded cells are without gating, light gray shaded cells show the added operating environment with gating, and performance in the darker gray shaded cell region is not achievable without substantial increases in pulse energy and/or PMT gating efficiency. TheFIG.9estimates are for a 532 nm pulse energy of 2.9 μJ (1 W average power @ 350 KHz PRF). As mentioned above, this can be achieved with compact COTS lasers compatible with ˜12″ diameter UUV/AUVs operations. For larger platforms, increasing average laser power to 10 W or 20 W can improve performance by up to ˜1.5BAL (particularly in clearer absorption-limited waters).

FIG.10Ais a first side view,FIG.10Bis a front view, andFIG.10Cis a second side view (opposite of the first side view ofFIG.10A) showing components of an example embodiment of a Monostatic 3D PTR LLS Internal Sensor Assembly (ISA)1000. The ISA consists of transmit, scan, receive, embedded control, and power distribution subsystems.

In embodiments, the transmitter comprises a laser head1001, the laser electronics with heatsink1002, a beam sampling assembly1003, and a beam directing turn prism assembly1004. The scanner comprises a rotating optical assembly inside a housing1005and a digital scan motor controller1006. The receiver comprises a PMT with bias network1007, a High Voltage Power Supply (HVPS)1008, and a digitizer with an FPGA1009to perform the digital signal processing needed to convert the sampled PMT output into range and amplitude pixels for display. The embedded controller (EC)1010is a single board computer that controls the overall operation and time synchronization of the scanner1005and the digitizer1009. The EC1010also communicates with an external mission and payload control computer (not in embodiments) and data storage (not in embodiments) located off sensor in the host UUV/AUV. Power distribution comprises power converters1011and power supply1012the details of which depend on the power available from the host UUV/AUV platform and on the power needs of the various sensor components. Key structural elements include bulkhead plates1013and1014, structural rods (quantity4)1015, the laser head platform shelf1016, and hinged rotating component mounting wings supporting access to optical components for alignment.

FIG.11shows an example monostatic scanner1100having a common transmit and receive pyramid mirror1101. In embodiments, the scanner section has a fixed (non-rotating) main housing1102. A thin ring motor assembly1103attaches to the main housing. The motor1103attaches to a rotating optics assembly via a mounting plate1104, shaft1105, and bearing set1106. The optics assembly includes a housing1107, the four-faceted pyramid mirror1101, a receiver optics cartridge1108for each mirror facet, and an aperture slit plate1109mounted on a tube1110. The slit plate has four slightly elongated pinholes1111, one at each mirror facet focal plane. The transmit beam1112and received ray bundle envelop1113paths through the scanner are shown inFIG.11and detailed further inFIG.12.

In operation, the scanner is brought to the desired rotation rate (e.g., up to 4000 RPM) and the pulsed laser begins transmitting at a pre-determined PRF.FIG.12shows that a transmitted beam1201is directed onto the surface of the pyramid mirror1202a small distance away from the apex. The beam1201reflects 90 degrees downward toward the ocean bottom or imaging plane. The beam reflects off the bottom (generally in a more or less Lambertian manner) and the return1203that falls within the collecting area of the cartridge-based receiver optics1204is focused into the slit plate hole1205associated with the facet off which the transmit beam was reflected. The mirror and the slit plate rotate together to create the “pencil beam-pinhole” architecture characteristic of the monostatic LLS architecture.

FIG.13shows example locations of the transmit beam1301and the received return ray bundle1302on the pyramid scan mirror for on axis (e.g. down-look) 1303 and 35 degree off-axis1304imaging. For a compact imager compatible with a ˜12″ diameter AUV/UUV platform, the base of the scan mirror will be approximately 5″ and the separation between the transmitted and received beam will be approximately 1.125″ at the focal point of the received beam (1205inFIG.12).

FIG.14shows an example embodiment of the cartridge-based receiver optics referenced inFIG.12(1204). The rotating optics housing shown inFIG.11(1107) has four optical ports, one for each of the four pyramid mirror facets. Each optical port includes an opening1401for the transmit beam to pass through as well as a set of receiver optics. The receiver optical components include a corrective lens1402(if needed to compensate for a non-flat window to the outer environment), a narrow band (1-2 angstroms depending on the spectral linewidth and stability of the laser) solar filter1403, and a focusing lens1404. The solar filter and focusing lens are separated by a spacer1405and secured in a removable cartridge1406by a retaining clip1407. The corrective lens is held in place with a lens clip1408.

In embodiments, the 3D PTR LLS detector includes a PMT, a PMT Bias Network, a digitizer/signal processor (e.g., with an FPGA to support system timing and signal processing), and a High Voltage Power Supply (HVPS). The PMT Bias Network can include a conventional bias Network supported by a COTS HVPS or a custom Active Gated Bias Network (AGBN) supported by a network of power supplies. As mentioned earlier, example embodiments may support high quality 3D imaging with a 1 W blue-green laser at up to 4.5-5.5 BALs depending on standoff range. A custom PMT AGBN approach may support imaging at up to 6 BALs at shorter standoff ranges.

As shown above inFIG.12, the return signal passes through the aperture slit plate pinhole1205and into the PMT1206. The PMT's photosensitive cathode converts the return photons into an electron cloud that is accelerated through and amplified by the PMT's dynode chain. The voltages that accelerate the electrons between dynode plates and that provide stored charge for signal amplification are supplied by the HVPS acting through the PMT's bias network. The electrons accelerated off the final dynode stage are gathered by the PMT's anode and converted to an output current. This current passes through a shunt resister resulting in a voltage that is converted to a digital signal by the COTS digitizer.

The received signal (for each individual laser pulse) includes primarily backscatter return from the water column and the return from the ocean bottom and/or object being imaged, which includes both non-scattered and small angle scattered photons. The relative amplitude ratio and timing of these components depend on water turbidity and imaging standoff range.FIG.15shows modeling results for the photons received in 2 GHz increments at a standoff range of 4 m in two different turbidities. The top plot in which bottom return dominates is for median littoral waters (2 m beam attenuation length). The bottom plot in which backscatter dominates is for a very turbid littoral water (0.67 m beam attenuation length) case.

FIG.15illustrates substantial signal variation in two commonly encountered coastal water conditions. Yet more variability occurs if the standoff imaging range and the scan angle (−35 to +35 degrees) are also varied. The bottom plot inFIG.15is an example of an imaging condition that would benefit from PMT gating as introduced in theFIG.9discussion above. In this case, close range turbid water imaging at 6 BALs, the nearfield backscatter peak and total energies dominate those of the bottom return. Without gating, the PMT gain would be kept low to avoid operating the PMT above its maximum average anode current level and the bottom return signal would receive little if any amplification and would be subject to signal-to-noise limitations. With gating, the voltage differential between the photosensitive cathode and the first dynode would be momentarily reduced, resulting in a reduction in nearfield backscatter photoelectrons that get accelerated and thereby amplified through the PMT dynode chain. This reduces the PMT average anode output current enabling substantially more PMT gain to be applied thus increasing the bottom return signal above the non-PMT sourced system noise level and thereby increasing the range at which imaging can occur in more turbid water conditions. PMT gating has been experimentally demonstrated but is not included in embodiments.

FIG.16presents the range of non-scattered bottom photons per pulse over a broad set of operating conditions and shows that at least 5 decades of signal range need to be managed to cover those conditions.FIG.17compares the backscatter return with the information-containing bottom return over a similarly broad set of operating conditions.

In embodiments, the selection of the PMT, the bias network, the HVPS, and the digitizer depend on what operating sub-space the Monostatic 3D PTR LLS sensor is required to image in for any given application. Factors to consider include a requisite PMT gain range, and automation of the PMT gain control, and application of sufficient power to the PMT dynode chain to prevent bottom return signal droop after amplifying a dominant backscatter return. Automating the PMT gain control can include matching the PMT output signal range with the digitizer input voltage range to avoid saturation of the backscatter and/or bottom return signals and allowing for sudden changes in the bottom return reflectance (e.g. from the sudden appearance of a high contrast object of interest). Automating PMT gain control can further include preventing PMT damage (e.g. by exceeding the average anode current limit and/or peak current limit for an extended period of time as can happen when over-amplifying backscatter to “see” the bottom return). The information contained inFIG.15,FIG.16, andFIG.17combined with the design guidance above provide example guidance to select components for 3D PTR LLS detector embodiments that meet the needs of a particular application.

In operation and referring back toFIG.15, signal processing is employed to extract a range and an amplitude value from each pulse time return waveform. These values may constitute a single pixel's worth of data. The data from sequential pixels and the associated scan angles at which they occurred can then be formatted into a waterfall display line. Four display lines, for example, are generated from each physical rotation of the scan mirror, with each line parallel to but slightly displaced from the previous line in the direction of platform motion. This permits a waterfall imagery display of the range and/or amplitude data. It also permits a display of 3-dimensional imagery that can be very useful for object identification.

In embodiments, range and amplitude information may be extracted from the 3D PTR LLS time return waveforms. Example embodiments are configured to extract bottom return amplitude and range information from2048-sample laser pulse time return sequences, for example. In embodiments, a calculation sequence is performed for pulse time return sequences received in the active imaging portion of the scan line (e.g., central 70 degrees).

Example inputs include:Altitude[m]: platform altitude above bottom in meters (from UUV/AUV)

Example constants include:ADC_Sample_Rate=3.6 Gsps (for this example—actual value depends on digitizing rate)IoR_H20=Seawater Index of Refraction=1.333Laser Pulse Width−full width half max (PW)=3 nsec (for example)Pix_Per_Line=Pixels per Scan Line (derived from operator selected scanner RPM and Laser PRF; corresponds to the central 70 degrees of the return off a single 90 degree pyramid mirror facet)

Example sensor Set-Up variables include:Up_App_%=Upper Aperture %: determines distance from sensor to begin looking for the bottom return at any current scan angle (e.g. given a platform altitude input of 10 m, a scan angle of 0 degrees/downward, and a Up_App % of 80=>begin looking for object/bottom returns corresponding to an 8 m standoff)Lower_App_%=Lower Aperture %: determines distance from sensor to stop looking for the bottom return at the current scan angle (e.g. given a platform altitude input of 10 m, a scan angle of 0 degrees/downward, and a Lower_App_% of 110=>stop looking for object/bottom returns corresponding to an 11 m standoff)

In example calculation sequence, for each scan-line pixel, there is extracted a time return sequence of 2048 ADC samples, for example. The first ADC sample in the sequence should be a fixed offset from laser trigger. Alternatively, one could extract only those samples in and around bottom return window that are needed to generate amplitude and range data.

FIG.18shows an example implementation of the processing required to calculate amplitude and range values from the digitized time return sequences of each laser pulse. In this example, each sequence comprises 2048 digitized samples.

In step1800, the system identifies the last backscatter sample number, Last_BS_Samp. Example values for return processing are set forth below:Pix_Num=pixel number associated with time return sequence (e.g. Pix_Num=1 for first pixel at start of 70 degree scan line)Scan_Width[m]=2*Altitude[m]+tan (70/2)Pix_GSD[m]=Scan_Width/Pix_Per_LinePix_X_Pos[m]=−1*Scan_Width/2+ (Pix_Num-1)*Pix_GSDPix_Ang[rad]=atan (Pix_X_Pos/Altitude)Last_BS_Time[nsec]=((Up_App_%/100)*1e9*(2*Pix_X_Pos/sin (Pix_Ang)))/(3e8/IoR_H2O)Last_BS_Samp=int((Last_BS_Time+Pulse_Width)*ADC_Sample_Rate+0.5)

In step1810, the system identifies the bottom return window samples, as set forth below:First_Bottom_Sample=Last_BS_Sample+int(pulse width*ADC_Sample_Rate+0.5)Last_Bottom_Sample=int ((((Lower_App_%/100)*1e9*(2*Pix_X_Pos/sin (Pix_Ang)))/(3e8/IoR_H2O))*ADC_Sample_Rate+0.5)

In step1820, the system finds the bottom return peak ADC sample. In step1821, the system convolves the bottom return window ADC samples with a pre-calculated Gaussian filter for noise reduction, as set forth below:Set the filter kernel half-width to the number of ADC samples in the laser pulse width Full-Width-Half-Max (FWHM); e.g. for a 3 nsec pulse width and a 3.6 Gsps digitizer sampling rate, the half-width is: int (3 nsec*3.6 Gsps+0.5)=11 samplesSet the filter kernel size=half width*2+1=23 samples for this caseCalculate the Gaussian function with +/−1 sigma corresponding to the central 50% of the kernel size.Normalize the Gaussian filter weights so they sum to 1Convolve the kernel with the bottom return ADC samples; begin the convolution with the kernel centered on the ADC value of the First_Bottom_Sample and finish with the kernel centered on Last_Bottom_SampleRetain this filtered data sequence as it is the input to the Range & Amplitude Extraction process

In step1822, the system convolves the Gaussian filtered bottom return window ADC samples with a high pass filter to reduce the impact of nearfield backscatter roll-off on bottom return peak finding, as set forth below:Set the averaging window half-width to 1.5× the number of ADC samples in the laser pulse width FWHM (e.g. for a 3 nsec pulse width and a 3.6 Gsps digitizer sampling rate, the window half-width is: int (1.5*3 nsec*3.6 Gsps+0.5)=17 samples)The averaging window size=half width*2+1=35 samples for this caseFor each Gaussian-filtered ADC sample value in the bottom return window, center the averaging window on that sample, calculate the average of all samples in the averaging window, and subtract that value from the current sample. This is the Gaussian and high-pass filtered ADC sample value

In step1823, the bottom peak ADC sample number is found as set forth below:Bottom_Pk_Samp=find the sample with the largest Gaussian high-pass filtered value within the bottom return windowConfirm the peak is a local maxima and not on the falling slope of the backscatter. If not, use 2ndhighest peak

Referring again toFIG.18, in step1830, the system extracts pixel value and range information. In example embodiments, the system fits a 2ndOrder Polynomial (y=ax2+bx+c) to the N Gaussian filtered ADC output values (from step1821) centered on or about the bottom return peak, where N=nearest odd number to: int (Pulse_Width*ADC_Samp_Rate+0.5); Pulse_Width=3 ns; n=#ADC Gsps=3.6. The system can calculate the curve fit coefficients (a, b, c) using equations below where: x is the sample number from the time return sequence of 2048 ADC samples and y is the corresponding ADC raw amplitude.D=n*sumx2*sumx4+2*sumx*sumx2*sumx3-sumx2{circumflex over ( )}3-sumx{circumflex over ( )}2*sumx4-n*sumx3{circumflex over ( )}2a=(n*sumx2*sumx2y+sumx*sumx3*sumy+sumx*sumx2*sumxy-sumx2{circumflex over ( )}2*sumy-sumx{circumflex over ( )}2*sumx2y-n*sumx3*sumxy)/Db=(n*sumx4*sumxy+sumx*sumx2*sumx2y*sumx2*sumx3*sumy-sumx2{circumflex over ( )}2*sumxy-sumx*sumx4*sumy-n*sumx3*sumx2y)/Dc=(sumx2*sumx4*sumy+sumx2*sumx3*sumxy+sumx*sumx3*sumx2y-sumx2{circumflex over ( )}2*sumx2y-sumx*sumx4*sumxy-sumx3{circumflex over ( )}2*sumy)/D

In example embodiments, the system then extracts the peak value and the range from the curve fit coefficients:Peak Amplitude (counts)=c−b2/4aRange (meters)=(12/39.37)*(−b/2a)*(0.2778)/(2*1.333)

FIG.19presents an example of the range and amplitude processing with and without notional system and scattering noise.

FIG.20shows an exemplary computer2000that can perform at least part of the processing described herein. The computer2000includes a processor2002, a volatile memory2004, a non-volatile memory2006(e.g., hard disk), an output device2007and a graphical user interface (GUI)2008(e.g., a mouse, a keyboard, a display, for example). The non-volatile memory2006stores computer instructions2012, an operating system2016and data2018. In one example, the computer instructions2012are executed by the processor2002out of volatile memory2004. In one embodiment, an article2020comprises non-transitory computer-readable instructions.

Processing may be implemented in hardware, software, or a combination of the two. Processing may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform processing and to generate output information.

The system can perform processing, at least in part, via a computer program product, (e.g., in a machine-readable storage device), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). Each such program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs may be implemented in assembly or machine language. The language may be a compiled or an interpreted language and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer. Processing may also be implemented as a machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate.

Processing may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the system. All or part of the system may be implemented as, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit)).

Having described exemplary embodiments of the invention, it will now become apparent to one of ordinary skill in the art that other embodiments incorporating their concepts may also be used. The embodiments contained herein should not be limited to disclosed embodiments but rather should be limited only by the spirit and scope of the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety.

Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Various elements, which are described in the context of a single embodiment, may also be provided separately or in any suitable subcombination. Other embodiments not specifically described herein are also within the scope of the following claims.