The present disclosure provides systems and methods for automatically detecting lanes on images of electrophoresed samples.
When analyzing electrophoresed samples on a gel, on a membrane following Western Blot analysis or on a substrate, for example, one of the first steps is to identify the lanes (the number, location and orientation) in an image generated after electrophoresis and/or followed by electrophoresed sample transfer to a membrane or other substrate. Oftentimes the lane widths vary from lane to lane. Also, the width of each individual lane can vary from the top to the bottom of the gel, membrane or substrate. Additionally, the lanes do not always run straight, nor do they always run parallel to each other. Moreover, the lanes are not always evenly spaced nor are the lane signal intensities uniform. These anomalies are the results of the biology, chemistry and physics when electrophoresing samples and vary from gel to gel, membrane to membrane or substrate to substrate as well as within each individual gel, membrane or substrate. This can be problematic when attempting to perform an accurate analysis of the electrophoresed samples or image data thereof. Present manual and automated techniques for analyzing electrophoresis data are tedious, error-prone, and unreliable.
The adaptive lane detection systems and methods according to the present embodiments automatically and accurately detect the number of lanes as well as the left and right boundaries of each corresponding individual lane in an image of electrophoresed samples. The embodiments are also able to account for variable lane widths, non-uniform signal intensities, and varying degrees of lane curvature. The embodiments advantageously solve the challenging problem of detecting and extracting the lane boundary characteristics on an image of electrophoresed samples where the lane characteristics may be inconsistent and are often located on a non-uniform background which can contain other gel, membrane or substrate artifacts.
According to an embodiment, a computer-implemented method of automatically identifying and characterizing one or more lanes in image data for one or more electrophoresed samples is provided. The method includes receiving data representing an image of one or more electrophoresed samples, segmenting the data into one or multiple data segments or portions within a region of interest (ROI), wherein the one or multiple data segments represent (e.g., when visually displayed) one or multiple lane segments along a first axis in the ROI, each of the one or multiple lane segments traversing one or multiple lanes of the one or more lanes in the image data, generating an intensity profile for at least a first data segment of the one or multiple data segments along a second axis orthogonal to the first axis (e.g., by summing up intensity values along the second axis for each first axis location), processing the intensity profile to determine a location and parameters for each of one or multiple lanes in the first data segment, and outputting the determined locations and parameters of the one or multiple lanes in the first data segment. It should be understood that a “data segment” may also be referred to herein as a “ROI segment”.
In certain aspects, the method further includes rendering an image of the one or multiple lanes in the first data segment in the ROI, and/or an outline of the one or multiple lanes in the first data segment in the ROI based on the determined locations and parameters of the one or multiple lanes in the first data segment. In certain aspects, generating the intensity profile includes summing up intensity values in the first data segment along the second axis for each of a plurality of first axis locations.
According to an embodiment, a computer-implemented method of automatically identifying and characterizing one or more lanes in image data for one or more electrophoresed samples is provided. The method includes receiving data representing an image of one or more lanes of electrophoresed samples, segmenting the data into one or multiple data segments within a region of interest (ROI), wherein the one or multiple data segments represent one or multiple lane segments along a first axis in the ROI, each of the one or multiple lane segments traversing multiple lanes of the one or more lanes in the image data, generating an intensity profile for at least a first data segment of the one or multiple data segments along a second axis orthogonal to the first axis in the ROI, processing the intensity profile to determine a location and parameters for each of one or multiple lanes in the first data segment, and outputting the determined locations and parameters of the one or multiple lanes in the first data segment.
In certain aspects, the method further includes, for each of the one or multiple lanes in the one or multiple data segments, rendering an image of the one or multiple lanes and/or an outline of the one or multiple lanes in the one or multiple data segments based on the determined locations and parameters of the one or multiple lanes in the one or multiple data segments. In certain aspects, the method further includes, for each of the one or multiple lanes, combining together the corresponding locations and parameters determined for each of the one or multiple data segments.
According to certain aspects, the parameters may include an approximate lane width value, and the processing includes determining the approximate lane width value for the one or multiple lanes. In certain aspects, determining the approximate lane width value includes: calculating a derivative of the intensity profile across the first axis to produce a differential curve, the differential curve including positive and negative differential curve pairs; iteratively producing an array of shifted differential curves by: incrementally shifting the positive and negative differential curve pairs relative to each other by incremental amounts defined by a minimum and a maximum lane width shift parameter value; and combining the positive and negative differential curve pairs together for each lane width shift parameter value to produce a shifted differential curve; for each of the shifted differential curves in the array: squaring or taking the absolute value and combining the differential curve, and determining a lane width fit error; and determining a minimum lane width fit error, wherein the lane width shift parameter value corresponding to the minimum lane width fit error is determined as the approximate lane width value.
In certain aspects, a method may further include detecting the one or multiple lanes in the one or multiple data segments based on the determined approximate lane width value.
In certain aspects, detecting the one or multiple lanes in a data segment includes: determining a minimum lane width value, a maximum lane width value and an increment value based on the approximate lane width value; and detecting an optimal lane width and locations for each of the one or more lanes using an iterative lane width and location determination algorithm, wherein for each incremental value starting with the maximum or minimum lane width value, a model profile is determined and compared with the intensity profile in the one or multiple data segments.
According to an embodiment, a system is provided that is configured to automatically identify and characterize one or more lanes in image data for one or more electrophoresed samples, the system comprising one or more processors, and a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to receive or acquire data representing an image of one or more lanes of electrophoresed samples, segment the image into one or multiple data segments within a region of interest (ROI), along a first axis in the ROI, each of the one or multiple data segments traversing one or multiple lanes of the one or more lanes, generate an intensity profile for at least a first data segment of the one or multiple data segments along a second axis orthogonal to the first axis in the ROI, process the intensity profile to determine a location and parameters for each of the one or multiple lanes in the first data segment, and output the determined locations and parameters of the one or multiple lanes in the first data segment.
According to a further embodiment, a system is provided that is configured to automatically identify and characterize one or more lanes in image data for one or more electrophoresed samples, the system comprising one or more processors, and a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to receive data representing an image of one or more electrophoresed samples, segment the image data into one or multiple data segments within a region of interest (ROI) along a first axis in the ROI, each of the one or multiple data segments traversing one or multiple lanes, generate an intensity profile for each of the one or multiple data segments along a second axis orthogonal to the first axis in the ROI, process each intensity profile to determine a location and parameters for each corresponding segment of the one or multiple data segments, and output the determined locations and parameters of the one or multiple lanes for each of the one or multiple data segments.
According to yet another embodiment, a computer-implemented method is provided for automatically identifying and characterizing one or more lanes in image data for one or more electrophoresed samples, the method including receiving image data representing an image of one or more lanes of electrophoresed samples, segmenting the image into one or multiple data segments within a region of interest (ROI) in the image, along a first axis in the ROI, each of the one or multiple data segments traversing one or multiple lanes of the one or more lanes, generating an intensity profile for each of the one or multiple data segments along a second axis orthogonal to the first axis in the ROI, determining an approximate lane width value for the one or multiple lanes, processing, in a synchronous manner, the intensity profile and the approximate lane width value to determine lane characteristics for each of the one or multiple lanes represented in each of the one or multiple data segments, wherein the lane characteristics include a number of the one or multiple lanes, a location of each lane along the second axis, and a left edge and a right edge of each lane along the second axis, and outputting at least some of the lane characteristics of the one or multiple lanes represented in the one or multiple data segments.
In certain aspects, the processing, in a synchronous manner, the intensity profile and the approximate lane width value to determine lane characteristics for each of the one or multiple lanes represented in the first data segment includes calculating minimum and maximum values for each lane width and gap width for the one or multiple lanes represented in each of the one or multiple data segments, calculating average intensity values for each lane and each gap, calculating a lane-to-gap ratio and delta values based on the average lane intensity values and average gap intensity values, and synthesizing a set of intensity profiles for the one or multiple data segments that maximize a summation of the segment lane-to-gap values and/or delta values without exceeding limits on differences that can occur between consecutive lane width and gap width values.
In certain aspects, the determining the approximate lane width value includes calculating a derivative of the intensity profile across the second axis to produce a differential curve, the differential curve including positive and negative differential curve pairs, iteratively producing an array of shifted differential curves by: incrementally shifting the positive and negative differential curve pairs relative to each other by incremental amounts defined by a minimum and a maximum lane width shift parameter value; and combining the positive and negative differential curve pairs together for each lane width shift parameter value to produce a shifted differential curve, for each of the shifted differential curves in the array: squaring or taking the absolute value and combining the differential curve, and determining a lane width fit error, and determining a minimum lane width fit error, wherein the lane width shift parameter value corresponding to the minimum lane width fit error is determined as the approximate lane width value.
According to an embodiment, a system is provided that is configured to automatically identify and characterize one or more lanes in image data for one or more electrophoresed samples, the system including one or more processors, and a memory storing instructions. The instructions, when executed by the one or more processors, cause the one or more processors to receive image data representing an image of one or more lanes of electrophoresed samples, segment the image into one or multiple data segments within a region of interest (ROI) in the image, along a first axis in the ROI, each of the one or multiple data segments traversing one or multiple lanes of the one or more lanes, generate an intensity profile for each of the one or multiple data segments along a second axis orthogonal to the first axis in the ROI, determine an approximate lane width value for the one or multiple lanes, process, in a synchronous manner, the intensity profile and the approximate lane width value to determine lane characteristics for each of the one or multiple lanes represented in each of the one or multiple data segments, wherein the lane characteristics include a number of the one or multiple lanes, a location of each lane along the second axis, and a left edge and a right edge of each lane along the second axis, and output at least some of the lane characteristics of the one or multiple lanes represented in the one or multiple data segments.
According to certain aspects, a method (or system) may further include receiving a selection of the ROI, the ROI including data representing the one or multiple lanes. In certain aspects, the selection of the ROI includes a selection received from a user input device. In certain aspects, the selection of the ROI includes a selection received from, or identified by, an artificial intelligence algorithm.
In a further embodiment, a non-transitory computer readable medium is provided that stores instructions, which when executed by one or more processors, cause the one or more processors to implement a method of automatically identifying and characterizing one or more lanes in image data for one or more electrophoresed samples as described herein.
Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
Accurate quantitative analysis of image data derived from electrophoresis or Western Blot analysis is dependent upon the accurate characterization of the locations of the lanes. The adaptive lane detection systems and methods of the present embodiments automatically and accurately detect and characterize the number of lanes as well as the left and right boundaries of each corresponding lane in an image of electrophoresed samples. The embodiments are also able to account for variable lane widths, non-uniform signal intensities, and varying degrees of lane curvature. The embodiments advantageously solve the challenging problem of detecting and extracting the lane boundary characteristics on an image of electrophoresed samples where the lane characteristics may be inconsistent and are often located on a non-uniform background which can contain other gel, membrane or substrate artifacts.
In one example, a region of interest (ROI) is specified and includes the desired lanes to be identified and characterized. In an x-y coordinate system, for example, the lanes to be identified may run parallel to the y-axis and orthogonal to the x-axis. The region of interest is then divided along the y-axis into one or multiple sub-regions (or segments) extending along the x-axis. Each segment is then processed to determine a segment intensity profile along the x-axis, location wherein each segment profile represents the cross-section of the intensity of the lanes along the x-axis of the ROI. Each segment profile is then processed by an iterative method to identify the left and right boundaries of each of the lanes within each of the segments in the ROI. The lane boundaries within a segment may be combined with corresponding lane boundaries from other segments to formulate the (entire) lane boundaries in the ROI.
The image 102 is received by lane detection and characterization engine 108. In one example, a region of interest (ROI) is identified at 104. The ROI includes the desired lanes to be identified and characterized. For example, the ROI may include the entire image 102 or a portion of the image 102. As shown in
A flow diagram of a method 200 for determining characteristics (e.g., the number, location, orientation, left and right edges) of the lanes present in image data of electrophoresed samples is illustrated in
At step 220, a region of interest (ROI) is identified or selected within the image 102. As shown in
At step 230, the ROI is subdivided along the y-axis into one or multiple image sub-regions or segments. As shown in
At step 240, segment intensity profiles are generated for each of the subdivided regions/ROI segments, e.g., by summing along the y-axis (at each x-axis location) within each of the segments. Each segment profile represents a cross-section of the lane intensity values along the x-axis for each of the ROI segments. An example segment intensity profile for one ROI segment from
An approximate lane width value for each of the segment profiles is determined at step 250. A flow diagram illustrating an embodiment of a method for determining an approximate lane width value is shown in
At step 260, the lane(s) from each of the ROI segment intensity profiles being processed are identified or detected using the determined approximate lane width value(s) from step 250. A flow diagram illustrating an embodiment of a method for implementing step 260 will be discussed in more detail below with regard to
At step 270, identified lane segments from each ROI segment may be assembled together, e.g., to form entire lanes. For example, based on x-axis locations, lanes segments having similar or overlapping locations may be combined to form full lanes in the image.
At step 280, the detected lane characteristics or parameters are output. Output lane characteristics may include the number of lanes, the locations of lanes, the left and right edges of lanes, etc., and may be displayed as values, or output or stored for use by another processing algorithm or processing system. In an embodiment, an image of one or more lanes in each data segment and/or an outline of the one or more lanes in each data segment may be rendered based on the determined locations and parameters of the one or more lanes in each data segment.
It should be appreciated that various processing steps as described herein above and below may occur in series/sequentially, simultaneously/in parallel, or individually as would be apparent to one skilled in the art. For example, the determination of features such as the intensity profiles, lanes (location, widths, etc.), and fit error in one ROI segment can occur simultaneously/independent to the determination of the same features in the other ROI segments. As another example, multiple ROI segments may be processed sequentially or in parallel and/or within any segment, multiple lanes may be identified/processed sequentially or in parallel.
As illustrated in
where
An example of a differential curve generated from Equation 1 is illustrated in
In an embodiment, the positive and negative differential curve pairs are combined at step 740. In an embodiment, the positive and negative differential curve pairs are mathematically combined and a lane width fit error (lwFitErrw) is formulated in accordance with Equation 4 for the determination of the approximate lane width value. Equation 4 is as follows:
where
At step 750, an approximate lane width value that produces the lowest lane width fit error is determined. Adding the positive and negative differential curve pairs together results in the original calculated differential curve. In an embodiment, the positive and negative differential curves are incrementally shifted relative to each other and then added together to formulate an array of shifted differential curves. Each of these shifted differential curves may be squared (or the absolute value taken) and summed together, in which the resulting value can be utilized as an indicator of the approximate lane width. In an embodiment, the shift value resulting in the lowest sum of the squares represents the approximate lane width value. Equation 4 is a mathematical representation of an embodiment of the approximate lane width determination method, in which the sum of the squared differentials (or the absolute value) is calculated as a function of shift (lane width) and is illustrated in
At step 760, the determined approximate lane width value is output. The determined approximate lane width value may be utilized in the detection of the lanes for each ROI segment intensity profile at step 260. A flow diagram of a method for lane detection for each segment profile (step 260) is illustrated in
At step 1030, locations and lane width values for each of the lanes in an ROI segment are determined by an iterative optimal lane width and location determination algorithm. An embodiment of a method for detecting an optimal lane width and location (step 1030) is illustrated in the flow diagram of
As shown in
As shown in
profileFitErri=Σm=1N(segProfile(i,m)−modelProfile(i,m))2 (5)
where
At decision step 1270, when a fit error is not determined to be a minimum fit error, the process moves to decision step 1280. When a fit error is determined to be a minimum fit error, the lane location and fit error is updated (step 1275) and the process proceeds to decision step 1280. At decision step 1280, if the maximum lane location value has been used, the lane location and fit error is output at step 1285. At decision step 1280, if the maximum lane location value has not been used, the lane location value is incremented at step 1290 and the process returns to step 1230.
In this manner, the profile fit error is calculated for all possible lane locations and associated lane width increments. The detected lane is the lane location and associated lane width value resulting in the lowest profile fit error. The model of the segment intensity profile for the resultant detected lane is illustrated in
Returning to step 270 of
The following embodiments build upon the system and method embodiments disclosed above, which provide systems and methods for detecting the lanes (e.g., number, location and orientation) on gel electrophoresis images where the lanes oftentimes have non-uniform widths, intensities and spacings. The following embodiments advantageously perform the lane detection and assembly in a sequential asynchronous manner. This may provide for a more robust and accurate lane detection capability, particularly when the lane signals are sparse, and the intensities are weak. This is accomplished, in certain embodiments, by searching for a set of lanes in a synchronous fashion, rather than searching for the lanes asynchronously.
The ability to more accurately detect lanes on an image where the lane signals are sparse, and the intensities are weak is significant, because this is a common occurrence on images of substrates derived from the performance of electrophoresis, including but not limited to gels, membranes and other like substrates. The present embodiments address the challenging conditions where the lanes have variable widths, spacings and intensities, along with the additional challenges of sparse lane signals with low signal intensities. It is important to perform accurate lane identification and characterization, because identifying the lanes is one of the first steps when analyzing Western Blot data or related images. The present embodiments provide an improvement in the robustness and accuracy in the execution of this first step.
Similar to step 210, the method is initiated at step 2710 by synchronous lane detection and characterization engine 2606 receiving or acquiring an image or image data to be processed, such as an input electrophoresis image data, an example of which is illustrated in
Similar to step 250, an approximate lane width value for all the segment profiles is then determined in step 2750. This is an important step in the characterization for each of the individual lanes. A method for determining the approximate lane width value is described in detail above, with reference to
At step 2760, the determined approximate lane width value may then be utilized in a process to synchronously detect and synthesize the lanes from the ROI segment intensity profiles, an example of which is shown in
A flow diagram of an example method 3200 for synchronous lane detection and synthesis for the ROI segment intensity profiles is illustrated in
At step 3230, synchronous lane and gap average intensity values are determined. In an embodiment, these values may be collected in or as an array of values. For example, in an embodiment, synchronous lane and gap average intensity array values are calculated in accordance with Equations 6 through 12 as follows:
where:
In an embodiment, the lane and gap average intensity values are calculated for all segment profiles and for all combinations of lane width, gap width, and shift values. An example of this calculation for a specified lane width, gap width and shift value of a specified segment intensity profile, as previously shown in
At step 3240, a lane-to-gap ratio value and a delta array value are then calculated from the average lane and gap intensity values. In an embodiment, the lane-to-gap ratio and delta array values are calculated from the average lane and gap intensity values in accordance with Equations 13 and 14 as follows:
In an embodiment, the lane-to-gap ratio and delta values are calculated for all segment profiles and for all combinations of lane width, gap width, and shift values. The lane-to-gap ratio and delta parameters are important in that the intensity of their values are correlated to the optimal lane width, gap width, and shift values present in the data. For example, the plots in
At step 3250, the limits on the differences that can occur in the lane width, gap width, and shift values between two consecutive segment intensity profiles are established. These limits can be calculated as a percentage of the approximate lane width value, in an embodiment. At step 3260, a set of successive segment intensity profiles is synthesized or generated such that the maximum summation of the segment lane-to-gap ratio and/or delta values occurs without exceeding the previously established limits in the differences between consecutive segment lane width, gap width, and shift values. In other words, one objective is to obtain the optimal combination of lane widths, gap widths, and shift values for each of the segment intensity profiles within the established limits of each consecutive segment lane parameter, which produces the maximum summation of the sequential segment lane-to-gap ratios and/or deltas.
At step 3270, the results of the synthesized set of segment intensity profiles may be output. For example, examples of results of a synthesized set of segment intensity profiles that produced the maximum summation of the segment lane-to-gap ratio and/or delta values within the limits in the differences between consecutive segment lane width, gap width and shift values are illustrated in
Two additional examples of image data of electrophoresed samples are illustrated in
As illustrated, processor(s) 2511 are configured to implement functionality and/or process instructions for execution within computing device 2502. For example, processor(s) 2511 execute instructions stored in memory 2512 or instructions stored on storage devices 2514. The processor may be implemented as an ASIC including an integrated instruction set. Memory 2512, which may be a non-transient computer-readable storage medium, is configured to store information within computing device 2502 during operation. In some embodiments, memory 2512 includes a temporary memory, area for information not to be maintained when the computing device 2502 is turned OFF. Examples of such temporary memory include volatile memories such as random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM). Memory 2512 maintains program instructions for execution by the processor(s) 2511. Example programs can include the adaptive lane detection engine 108 in
Storage devices 2514 also include one or more non-transient computer-readable storage media. Storage devices 2514 are generally configured to store larger amounts of information than memory 2512. Storage devices 2514 may further be configured for long-term storage of information. In some examples, storage devices 2514 include non-volatile storage elements. Non-limiting examples of non-volatile storage elements include magnetic hard disks, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
The computing device 2502 uses network interface 2513 to communicate with external devices via one or more networks. Network interface 2513 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Other non-limiting examples of network interfaces include wireless network interface, Bluetooth®, 9G and WiFi® radios in mobile computing devices, and USB (Universal Serial Bus). In some embodiments, the computing device 2502 uses network interface 2513 to wirelessly communicate with an external device or other networked computing device.
The computing device 2502 includes one or more separate or integrated input devices 2580. Some input devices 2580 are configured to sense the environment and capture images or other signals. Some input devices 2580 are configured to receive input from a user through tactile, audio, video, or other sensing feedback. Non-limiting examples of input devices 2580 include a presence-sensitive screen, a mouse, a keyboard, a voice responsive system, camera 2503, a video recorder 2504, a microphone 2506, a GPS module 2508, or any other type of device for detecting a command from a user or for sensing the environment. In some examples, a presence-sensitive screen includes a touch-sensitive screen.
One or more output devices 2560 are also included in computing device 2502. Output devices 2560 are configured to provide output to another system or device or to a user using tactile, audio, and/or video stimuli. Output devices 2560 may include a display screen (e.g., a separate screen or part of the presence-sensitive screen), a sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines. Additional examples of output device 2560 include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user. In some embodiments, a device may act as both an input device and an output device.
The computing device 2502 includes one or more power sources 2515 to provide power to the computing device 2502. Non-limiting examples of power source 2515 include single-use power sources, rechargeable power sources, and/or power sources developed from nickel-cadmium, lithium-ion, or other suitable material.
The computing device 2502 includes an operating system 2518. The operating system 2518 controls operations of the components of the computing device 2502. For example, the operating system 2518 facilitates the interaction of communications client 2540 with processors 2511, memory 2512, network interface 2513, storage device(s) 2514, input device 2580, output device 2560, and power source 2515.
As also illustrated in
According to various embodiments, one or more of the components shown in
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the disclosed subject matter (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or example language (e.g., “such as”) provided herein, is intended merely to better illuminate the disclosed subject matter and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
Certain embodiments are described herein. Variations of those embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the embodiments to be practiced otherwise than as specifically described herein. Accordingly, this disclosure includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
This application is a continuation-in-part of, and claims the benefit of priority to U.S. patent application Ser. No. 16/911,898, filed on Jun. 25, 2020, titled “ADAPTIVE LANE DETECTION SYSTEMS AND METHODS,” and which claims priority to U.S. Provisional Patent Application No. 62/869,361, filed Jul. 1, 2019. This application also claims the benefit of priority to U.S. Provisional Patent Application No. 63/151,351, filed Feb. 19, 2021. All of the afore-mentioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
63151351 | Feb 2021 | US | |
62869361 | Jul 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16911898 | Jun 2020 | US |
Child | 17486143 | US |