Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHODS FOR DIAGNOSTIC IMAGE ANALYSIS AND IMAGE QUALITY ASSESSMENT
Document Type and Number:
WIPO Patent Application WO/2017/168424
Kind Code:
A1
Abstract:
A method of analyzing and assessing an image comprises the steps of: (a) obtaining said image in a digital form; (b) processing said image; and (c) establishing at least one edge line within said image. The step of processing said image further includes: (a) building a 3D graph of intensity distribution within said image; (b) calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image; (c) setting a range of lower and upper thresh-hold level values (THLV1 and THLV2) between which edge points are indicatable; and (d) indicating edge points according to said THLV1 and THLV2.

Inventors:
CHADI BENJAMIN H (US)
Application Number:
PCT/IL2017/050391
Publication Date:
October 05, 2017
Filing Date:
March 29, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
EYES LTD (IL)
International Classes:
G06T7/13
Foreign References:
US20120026352A12012-02-02
US7043080B12006-05-09
US20130278776A12013-10-24
Other References:
KHUNTETA AJAY ET AL.: "Edge detection via edge-strength estimation using fuzzy reasoning and optimal threshold selection using particle swarm optimization", ADVANCES IN FUZZY SYSTEMS, 14 December 2014 (2014-12-14), pages 18, XP055300542
SAURABH GARG ET AL.: "Unsupervised curvature-based retinal vessel segmentation", ISBI, 2007, pages 344 - 347, XP031084281
FEUDJIO ET AL.: "Automatic extraction of pectoral muscle in the MLO view of mammograms", PHYS. MED. BIOL., vol. 58, 2013, pages 8493 - 8515, XP020253712, DOI: 10.1088/0031-9155/58/23/8493
JAYANTHI SIVASWAMY ET AL.: "An Alternaive Curvature Measure for Topographic Feature Detection", COMPUTER VISION, GRAPHICS AND IMAGE PROCESSING, pages 228 - 23
See also references of EP 3437068A4
Attorney, Agent or Firm:
BRESSLER, Eyal et al. (IL)
Download PDF:
Claims:
CLAIMS:

1. A method of analyzing and assessing an image, said method comprising steps of:

a. obtaining said image in a digital form;

b. processing said image; and

c. establishing at least one edge line within said image;

wherein said step of processing said image comprises:

a. building a 3D graph of intensity distribution within said image; b. calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image;

c. setting a range of lower and upper thresh-hold level values (THLV1 and THLV2) between which edge points are indicatable; and

d. indicating edge points according to said THLV1 and THLV2.

2. The method according to claim 1, wherein said image is a medical image usable for diagnostics.

3. The method according to claim 2, wherein said step of processing said image comprises a sub-step of locating a central area of ventricular cavity automatically or manually.

4. The method according to claim 3, wherein said step of tracing said edge line is performed in polar coordinates with an origin positioned in said central area of ventricular cavity.

5. The method according to claim 1, wherein said step of tracing said edge line comprises a sub-step of finding discontinuities indicated by a jump of said IV AV and removing found discontinuities by connecting the previously found fragments of said edge line adjacent to said discontinuities.

6. The method according to claim 2, wherein said step of tracing said edge line comprises a sub-step of forming borders of an object selected from the group consisting of: epicardium, left ventricular endocardium, right epicardium any combination thereof.

7. The method according to claim 2 comprising a step of calculating of a characteristic selected from the group consisting of: a minimal wall thickness, an epicardial ventricular volume, an endocardial ventricular volume, difference therebetween, and any combination thereof.

8. The method according to claim 1, wherein said image is an image obtained from a vehicle camera usable for identification of surrounding obstacles.

9. A device for analyzing and assessing an image; said device comprising:

a. a unit configured for digital input of said image;

b. a processor configured for analyzing and assessing said image;

c. an interface unit configured for controlling said device and displaying processed images and contiguous data;

wherein said processor is further configured for:

a. building a 3D graph of intensity distribution within said image;

b. calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image; c. setting a range of lower and upper thresh-hold level values (THLV1 and THLV2) between which edge points are indicatable; and

d. tracing said edge points according to said THLV1 and THLV2.

10. The device according to claim 9, wherein said image is a medical image usable for diagnostics.

11. The device according to claim 10, wherein said step processor is configured for finding a central area of ventricular cavity carried out automatically or manually.

12. The device according to claim 11 wherein said processor is configured for tracing said edge line in polar coordinates with an origin positioned in said central area of ventricular cavity.

13. The device according to claim 10, wherein said processor is configured for finding discontinuities indicated by a jump of said IV AV and removing found discontinuities by connecting the previously found fragments of said edge line adjacent to said discontinuities.

14. The device according to claim 10, wherein said processor is configured for forming borders of an object selected from the group consisting of: epicardium, left ventricular endocardium, right epicardium any combination thereof.

15. The device according to claim 10, wherein said processor is configured for calculating of a characteristic selected from the group consisting of: a minimal wall thickness, an epicardial-ventricular volume, an endocardial ventricular volume, difference therebetween, and any combination thereof.

16. The device according to claim 9, wherein said image is a medical image usable for diagnostics.

17. A non-transitory computer-readable medium having thereon software instructions configured to cause a processor to perform operations comprising:

a. obtaining said image in a digital form;

b. establishing at least one edge line within said image;

wherein said operation of processing said image comprises:

a. building a 3D graph of intensity distribution within said image; b. calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image;

c. setting a range of lower and upper thresh-hold level values (THLV1 and THLV2) between which edge points are indicatable; and

d. tracing said edge points according to said THLV1 and THLV2.

18. The non-transitory computer-readable medium according to claim 17, wherein said image is a medical image usable for diagnostics.

19. The non-transitory computer-readable medium according to claim 18, wherein the stored software instructions is configured to cause a processor to perform said step of processing said image comprising a sub-step of finding a central area of ventricular cavity carried out automatically or manually.

20. The non-transitory computer-readable medium according to claim 19, wherein the stored software instructions is configured to cause a processor to perform said step of tracing said edge line in polar coordinates with an origin positioned in said central area of ventricular cavity.

21. The non-transitory computer-readable medium according to claim 18, wherein the stored software instructions is configured to cause a processor to perform said step of tracing said edge line comprising a sub-step of finding discontinuities indicated by a jump of said IV AV and removing found discontinuities by connecting the previously found fragments of said edge line adjacent to said discontinuities.

22. The non-transitory computer-readable medium according to claim 18, wherein the stored software instructions is configured to cause a processor to perform said step of tracing said edge line comprising a sub-step of forming borders of an object selected from the group consisting of: epicardium, left ventricular endocardium, right epicardium any combination thereof.

23. The non-transitory computer-readable medium according to claim 18, wherein the stored software instructions is configured to cause a processor to perform a step of calculating of a characteristic selected from the group consisting of: a minimal wall thickness, an epicardial ventricular volume, an endocardial ventricular volume, difference therebetween, and any combination thereof.

24. The non-transitory computer-readable medium according to claim 18, wherein said image is a medical image usable for diagnostics.

Description:
SYSTEM AND METHODS FOR DIAGNOSTIC IMAGE ANALYSIS AND

IMAGE QUALITY ASSESSMENT

FIELD OF THE INVENTION

The present invention relates generally to the field of image assessment and analysis. More specifically, the present invention relates to an automated image analysis and image quality assessment based on the extraction of predefined data from the input of images to be used for further analysis as accurate quantitative measurements and qualitative inferences regarding individuals and classes of objects in the image.

BACKGROUND OF THE INVENTION

The following description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.

Scientific endeavors generally require precise and accurate quantification to determine results. In medicine and in the field of cardiology in particular, the results obtained from various tests are used in further decision-making regarding the patient including accurate diagnosis and treatment. Many tests, especially those involving imaging, provide results that require great skill to analyze by a trained expert or specialist. Due to the huge amount of information presented in an image and the lack of accurate fully automated systems for analysis, the field of medicine is frequently left to semi-quantitation (e.g., grade on a 1 to 4 scale). While this may be adequate for many purposes, observer bias, lack of reproducibility, and lack of the ability to be precise often results in the need for more testing to try to be certain of the diagnosis, or painstaking effort by the physician to make sure the treatment is given in the effective regions (e.g., that the proper location on the field of image is treated by X-rays, etc.). The ability to perform rapid and accurate quantification using computer-assisted image analysis can be a great aid in these fields. Currently there have been great limitations in the full automation of image analysis. There are edge-detection system and methods available that look for a general change in the picture but generally require noise subtraction and input from a user to focus on the areas of interest or from an encyclopedic database to compare the image to in order to identify or delimit the object of interest in the image. The edges detected are generally based on first and second differentiation and are binary (edge present/absent) but not qualitative (do not reflect information about different types of edges present). Users of current processes need frequent and direct operator input to effectuate an analysis.

None of the current technologies and prior art, taken alone or in combination, address nor provide a utility solution for a fully automated precise image analysis and image quality assessment based on the extraction of predefined data from the input of images using a real-time simultaneous technology. The present invention can identify fine edges and distinguish between different objects without the need to make assumptions about the input image or to use filters or noise reduction methods that result in a net loss of data.

Specific uses and applications of this process include the field of coronary angiography and echocardiography. The raw images obtained in these arts including cineangiograms of the coronary arteries and echo images of the cardiac chamber walls until presently have not readily been amenable to accurate fully automated analysis of artery caliber (diameter along its length to evaluate amount of stenosis) or chamber dimensions and wall thickness.

In coronary angiography until present the cardiologist has had to estimate the percent stenosis along the length of the artery as revealed by the gold standard coronary angiogram (luminogram) or by other techniques including intravascular ultrasound or Computerized Tomographic (CT) scan. However, actual automation of this analysis is burdensome and currently has been inaccurate and therefore unreliable. Using the new detection methods inside a larger method of straightening the artery so that perpendicular cuts are obtained for measurement is providing the ability for both a fully automated and a more accurate analysis of the whole length of the artery. In echocardiography field, there is currently no fully automated method of measuring cardiac chamber borders and dimensions. The input of the technologist is required in multiple steps of the image analysis. The new method is being developed to enable fully automated chamber measurements and wall thickness analyses and ejection fraction calculation. This would enable accurate noninvasive hemodynamic and cardiac output determinations.

Furthermore, great promise is expected in the field of artificial vision. By comparing two pictures temporally or side-by-side, with the fine resolution and discriminating abilities of the new method, the distances and dimensions of objects will be quickly amenable to calculation. By efficiently and automatically determining the shape and size of the object, automated identification should be greatly improved.

Further uses include the field of CT and MRI (magnetic resonance imaging) and ultrasound scans. The ability to accurately automatically measure chamber edges is expected to allow for automated analysis of normal and abnormal and for generation and comparison to encyclopedic database for further refinement of the art and science besides improving diagnosis and treatment for each individual patient. Another use would be for automated identification and marking of an organ edge for radiation therapy, for example.

US 20130278776 discloses a method for automatic left ventricular (LV) inner border detection. The method comprises the steps of: performing image mapping on an echocardiogram in order to produce a multi-level image map; converting the image map into a binary image by attributing pixels of one or more darker levels of the image map to the LV cavity and pixels of one or more lighter levels of the image map to the

myocardium; applying a radial filter to contours of the myocardium in the binary image, to extract an approximate inner border of the LV; and performing shape modeling on the approximate inner border, to determine the LV inner border.

It should be emphasized that precision of shape modelling of edge lines in binary images strongly depends on a dynamic range of the original image. The narrow dynamic range results in lower precision of obtained edge line. Thus, there is a long-felt and unmet need to provide a method and a device that overcomes the problems associated with the prior art.

SUMMARY OF THE INVENTION

It is hence one object of the invention to disclose a method of analyzing and assessing an image. The aforesaid method comprises the steps of: (a) obtaining said image in a digital form; (b) processing said image; and (c) establishing at least one edge line within said image.

It is a core purpose of the invention to provide the step of processing said image comprising: a) building a 3D graph of intensity distribution within said image; (b) calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image; (c) setting a range of lower and upper thresh-hold level values (THLVl and THLV2) between which edge line points are indicatable; and (d) tracing said edge points according to said THLVl and THLV2.

Another object of the invention is to disclose the step of processing said image comprising a sub-step of finding a central area of ventricular cavity carried out automatically or manually.

A further object of the invention is to disclose the step of tracing said edge line performed in polar coordinates with an origin positioned in said central area of ventricular cavity.

A further object of the invention is to disclose the step of tracing said edge line comprising a sub-step of finding discontinuities indicated by a jump of said IVAV and removing found discontinuities by connecting the previously found fragments of said edge line adjacent to said discontinuities.

A further object of the invention is to disclose the step of tracing said edge line comprising a sub-step of forming borders of an object selected from the group consisting of: epicardium and ventricular endocardium, of the left or right heart in the image and any combination thereof. A further object of the invention is to disclose the boundaries of objects in an image which is an image obtained from a vehicle camera usable for identification of surrounding obstacles.

A further object of the invention is to disclose a step of calculating of a characteristic selected from the group consisting of: a minimal wall thickness, an epicardial ventricular volume, an endocardial ventricular volume, difference therebetween, and any combination thereof.

A further object of the invention is to disclose the device for analyzing and assessing an image. The aforesaid device comprises: (a) a unit configured for digital input of said image; (b) a processor configured for analyzing and assessing said image; (c) an interface unit configured for controlling said device and displaying processed images and contiguous data.

It is another core purpose of the invention to provide the processor is further configured for: (a) building a 3D graph of intensity distribution within said image; (b) calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image; (c) setting a range of lower and upper thresh-hold level values (THLVl and THLV2) between which edge points are indicatable; and (d) tracing said edge points according to said THLVl and THLV2.

A further object of the invention is to disclose a non-transitory computer-readable medium having thereon software instructions configured to cause a processor to perform operations comprising: (a) obtaining said image in a digital form; (b) establishing at least one edge line within said image.

It is another core purpose of the invention to provide the operation of processing said image comprising: (a) building a 3D graph of intensity distribution within said image; (b) calculating identifying vector angle values (IVAVs); said angles adjoin to points of said 3D intensity distribution graph which correspond to individual pixels of said image; said angles lie in a plane defined by an intensity axis of said image; (c) setting a range of lower and upper thresh-hold level values (THLVl and THLV2) between which edge points are indicatable; and (d) tracing said edge points according to said THLVl and THLV2. BRIEF DESCRIPTION OF THE PREFERRED EMBODIMENTS

The novel features believed to be characteristics of the invention are set forth in the appended claims. The invention itself, however, as well as the preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 is a flowchart of a method of analyzing and assessing an image;

Figs 2a to 2e are schematic diagram explaining a procedure of scanning an image in polar coordinates and calculation of identifying vector angle values; and

FIGs 3 a and 3b are exemplary processed echocardiographic images with closed and open edge lines, respectively.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description is provided, so as to enable any person skilled in the art to make use of said invention and sets forth the best modes contemplated by the inventor of carrying out this invention. Various modifications, however, are adapted to remain apparent to those skilled in the art, since the generic principles of the present invention have been defined specifically to provide method, device and software for analyzing and assessing an image.

The term "intensity" refers hereinafter to an intensity value of a gray scale image, an integral intensity value of a color image, an intensity value of a color selected image and combination thereof.

The term "image" refers hereinafter to any image in a digital form describable by a function of intensity distribution which includes recognizable edge structures. For example, the present invention is applicable to images captured by medical devices, surveillance cameras and alike. Reference is now made to Fig. 1 presenting a flow chart of a method 100 of for analyzing and assessing an image. The known procedure includes providing the image to be analyzed and assessed in a digital form (step 1 10), processing the provided images (step 120) and establishing at least one edge line (step 130). In order to increase precision of pinpointing the edge line, step 120 comprises building a 3D graph of intensity distribution within the image (step 121 ). Then, at step 122, identifying vector angle values (IV A V) are calculated. The aforesaid angles adjoin to points of 3D intensity distribution graph which correspond to individual pixels of the image. The angles to be calculated lie in a vertical plane defined by an intensity axis (ordinate axis). Any function of original intensity function, such as its integral or differential, or a linear or quadratic modification, or combination of these, or other modifications or curves derived from the original intensity function used for obtaining the IVAVs are in the scope of the present invention.

At step 123, criteria of indicating an edge line are set. Specifically, lower and upper thresh-hold level values (THLV1 and THLV2) define an angle range in which the edge line is indicatable. When the THLV1 and THLV2 are applied to the calculated IVAVs, points meeting THLV 1 and THLV2 requirements are traced (step 124). Thus, the obtained points form the sought-for edge line. IV AV and THLV expressed by means of any function of the aforesaid angles such as its complement, supplement, or its sine or cosine or tangent are in the scope of the present invention,

Reference is now made to Fig. 2a explaining the abovementioned procedure. The 3D graph of intensity distribution within the image (not shown) is placed into Cartesian coordinates (/, X, Y). Planes X=Xi and Y=Yi orthogonal to each other illustrate the process of scanning the 3D graph of intensity distribution in the polar coordinates. For each intensity curve Ci/C 2 lying in planes X=Xi and Y=Yi, IVAVs are calculated. Points Po to P 4 are the points on the 3D graph of intensity distribution and correspond to the pixels of the image to be analyzed. Point Po belongs curves Ci and C 2 lying to both X=Xi and Y=Yi. Points Pi and P 2 belong to Ci lying in plane X=Xi while P 3 and P 4 belong to C 2 lying in plane Y=Yi. Reference is now made to Figs 2b and 2c illustrating calculation of an IV AV which is attributed to point Po.

As seen in Fig. 2a, an Y-component of the IV AV of point Po Φγ is defined as a reciprocal between slopes of tangent lines Ti and T 2 established in points Pi and P 2 of curve Ci corresponding to adjoining pixels.

Solving right triangles with respect to the rule of angle signs, we have for the Y- component:

<5 Y = atan (5Xi/5Ii) - atan(5X 2 /5I 2 ).

Referring to Fig. 2b, we have for the X-component:

Φχ= atan (δΥι/δΙ 3 ) - atan (δΥ 2 /δΐ4).

Reference is now made to Fig. 2d presenting a simplified approach to calculation of IV A Vs. Specifically, the tangent lines are replaced with the lines interconnecting point Po with points Pi and P 2 . As defined above, the IV A V attributed to Po, is a difference between the arccotangent of the slopes of the intensity curve in points Pi and P 2 , in this case, between arccotangent of the slopes of line segments PoPi and PoP 2 .

The standard calculations give sought-for value Φ:

Φ = +arcsin

If calculated angle Φχ or Φγ falls within the predetermined angle range between THLV1 and THLV2, pixel Po is indicated as an edge pixel. A greater number of components of angle Φ than 2 is also in the scope of the present invention. Pixels meeting the aforesaid criterion form the edge line. According to one embodiment of the present invention, a certain type of edge is indicated in the specific pixel location in the picture if either component Φχ or Φγ falls between 0° and 15°.

According to an exemplary embodiment of the present invention, method, device and software for analyzing and assessing medical images is disclosed. All considerations in the present application concerning the left ventricle are equally applicable to the right ventricle.

Reference is now made to Fig. 2e illustrating calculation of an IV AV which is attributed to point Mo. Planes So, Si and S 2 correspond to scanning along R-axis at constant values of angle p, specifically at pO, pl and p2, respectively. Similar to the previous consideration in Cartesian coordinates, curves Ci and C 2 intersect each other in point Mo. Points Mi and M 2 belong to curve CI. Points M 3 and M 4 belong to curve C 2 . Along with this, points Mi and M 2 lie in plane So, points M 3 in plane Si and M 4 in plane S 2 .

Reference is now made to Figs 3a and 3b, presenting exemplary processed echocardiographic images with closed and open edge lines, respectively. Referring to Fig. 2a, numeral 10 indicates an echocardiographic image. Edge line 20 borders a left ventricle of heart. Shown edge line 20 is closed.

From a practical standpoint, a median filter can be applied to the image to be processed. Additionally, polar coordinates are more convenient for the aforesaid procedure. The origin of coordinates is positioned into a central area of the ventricular cavity. This operation can be carried out automatically or manually. The center of the ventricular cavity can be found as an area of minimal intensity within the echocardiographic image.

Referring to Fig. 3b, edge line 25 is open. According to the present invention, discontinuities in the edge line should be found and closed. The discontinuities can arise in the area of an open valve.

The algorithm of forming the edge line enables calculating an area of the traced ventricular endocardium. On the basis of Simpson's formula and presumption of conicity of the left ventricle, volume of the left ventricle can be calculated from obtained locations of apical and midpoints on a 2D image. Building edge lines within 3D images is also in the scope of the present invention.

The disclosed algorithm enables building boundaries not only the left endocardium but also the right endocardium. Thus, a left ventricular wall, a right ventricular wall or pericardial sack can be evaluated. Similar, an actual wall thickness can be calculated across the whole ventricular septum, with a mean and standard deviation calculated and reported. The same can be performed for all the walls (lateral, inferior, anterior, etc.). Regions of relative thinning or thickening can be reported. Overall cardiac mass can be calculated using the difference between the total LV volume (outer, epicardial) minus the internal LV volume (endocardial).

In the case of synchronization of echocardiographic images with an EKG signal and location of the R wave, end-diastole (ED) and end-systole (ES) volumes can be obtained. In addition, ED and ES volumes can be determined by comparing different frames for maximum and minimum LV volume, respectively. The timing mark can be obtained from valve opening or closure (ED corresponds to the closed mitral valve while ES corresponds to the closed aortic valve and the open mitral valve). These volumes can then be reported (as a plot against time, for example).

Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

While the technology will be described in conjunction with various embodiment(s), it will be understood that they are not intended to limit the present technology to these embodiments. On the contrary, the present technology is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the various embodiments as defined by the appended claims. Furthermore, in the following description of embodiments, numerous specific details are set forth in order to provide a thorough understanding of the present technology. However, the present technology may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present embodiments.

Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present description of embodiments, discussions utilizing terms such as "obtaining", "calculating", "processing", "performing," "extracting," "configuring" or the like, refer to the actions and processes of a computer system, or similar electronic computing device. The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices, including integrated circuits down to and including chip level firmware, assembler, and hardware based micro code.

As will be explained in further detail below, the technology described herein relates to generating, storing and using semantic networks and databases to correlate physiological and psychological states of users and/or groups of users using their voice intonation data analysis.

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and the above detailed description. It should be understood, however, that it is not intended to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

In some embodiments, the illustrated system elements could be combined into a single hardware device or separated into multiple hardware devices. If multiple hardware devices are used, the hardware devices could be physically located proximate to or remotely from each other. The methods can be implemented in a computer program product accessible from a computer-usable or computer-readable storage medium that provides program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer-readable storage medium can be any apparatus that can contain or store the program for use by or in connection with the computer or instruction execution system, apparatus, or device.

A data processing system suitable for storing and/or executing the corresponding program code can include at least one processor coupled directly or indirectly to computerized data storage devices such as memory elements. Input/output (I/O) devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. To provide for interaction with a user, the features can be implemented on a computer with a display device, such as an LCD (liquid crystal display), virtual display, or another type of monitor for displaying information to the user, and a keyboard and an input device, such as a mouse or trackball by which the user can provide input to the computer.

A computer program can be a set of instructions that can be used, directly or indirectly, in a computer. The systems and methods described herein can be implemented using programming languages such as Flash™, JAVA™, C++, C, C#, Visual Basic™, JavaScript™, PHP, XML, HTML, etc., or a combination of programming languages, including compiled or interpreted languages, and can 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. The software can include, but is not limited to, firmware, resident software, microcode, etc. Protocols such as SOAP/HTTP may be used in implementing interfaces between programming modules. The components and functionality described herein may be implemented on any desktop operating system executing in a virtualized or non-virtualized environment, using any programming language suitable for software development, including, but not limited to, different versions of Microsoft Windows™, Apple™ Mac™, iOS™, Android™, Unix™/X- Windows™, Linux™, etc. The system could be implemented using a web application framework, such as Ruby on Rails.

The processing system can be in communication with a computerized data storage system. The data storage system can include a non-relational or relational data store, such as a MySQL™ or other relational database. Other physical and logical database types could be used. The data store may be a database server, such as Microsoft SQL Server™, Oracle™, IBM DB2™, SQLITE™, or any other database software, relational or otherwise. The data store may store the information identifying syntactical tags and any information required to operate on syntactical tags. In some embodiments, the processing system may use object-oriented programming and may store data in objects. In these embodiments, the processing system may use an object-relational mapper (ORM) to store the data objects in a relational database. The systems and methods described herein can be implemented using any number of physical data models. In one example embodiment, an RDBMS can be used. In those embodiments, tables in the RDBMS can include columns that represent coordinates. In the case of environment tracking systems, data representing user events, virtual elements, etc. can be stored in tables in the RDBMS. The tables can have pre-defined relationships between them. The tables can also have adjuncts associated with the coordinates.

Suitable processors for the execution of a program of instructions include, but are not limited to, general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer. A processor may receive and store instructions and data from a computerized data storage device such as a read-only memory, a random access memory, both, or any combination of the data storage devices described herein. A processor may include any processing circuitry or control circuitry operative to control the operations and performance of an electronic device.

The processor may also include, or be operatively coupled to communicate with, one or more data storage devices for storing data. Such data storage devices can include, as non- limiting examples, magnetic disks (including internal hard disks and removable disks), magneto-optical disks, optical disks, read-only memory, random access memory, and/or flash storage. Storage devices suitable for tangibly embodying computer program instructions and data can also include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). The systems, modules, and methods described herein can be implemented using any combination of software or hardware elements. The systems, modules, and methods described herein can be implemented using one or more virtual machines operating alone or in combination with each other. Any applicable virtualization solution can be used for encapsulating a physical computing machine platform into a virtual machine that is executed under the control of virtualization software running on a hardware computing platform or host. The virtual machine can have both virtual system hardware and guest operating system software.

The systems and methods described herein can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front- end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks that form the Internet.

One or more embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, microprocessor systems, microprocessor- based or programmable consumer electronics, minicomputers, mainframe computers, etc. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a network.