SYSTEMS AND METHODS FOR MESH AND TACK DIAGNOSIS

A system for surgical mesh analysis includes a display screen, a processor, and a memory. The memory has instructions stored thereon, which when executed by the processor, cause the system to: access an image of a surgical site (602). The image includes the surgical mesh. The surgical mesh includes a grid of cells. The instructions, when executed by the processor further cause the system to detect a first desired location on the surgical mesh in the image (604); detect a second desired location on the surgical mesh in the image (606); determine a distance between the first desired location and the second desired location along the surgical mesh in the image (608); and display, on the display screen, the determined distance (610).

FIELD

This disclosure relates generally to meshes and, in particular, meshes used in medical treatment.

BACKGROUND

Hernia mesh, or surgical mesh, is a medical device that supports damaged tissue around hernias as it heals. Surgeons, for example, during hernia surgery, or laparoscopic surgery, place the mesh across the area surrounding the hernia, attaching it with tacks, stitches, staples, or glue. Pores in the mesh allow the tissue to grow into the device. There is a high chance of hernias returning after repair surgery. It would aid surgeons to diagnose and/or determine mesh and tack placement. Accordingly, a continuing need exists for mesh and tack diagnosis.

SUMMARY

In accordance with the disclosure, a system for surgical mesh analysis is presented. The system includes a display screen, a processor, and a memory. The memory has instructions stored thereon, which when executed by the processor, cause the system to: access an image of a surgical site. The image includes the surgical mesh. The surgical mesh includes a grid of cells. The instructions, when executed by the processor further cause the system to detect a first desired location on the surgical mesh in the image; detect a second desired location on the surgical mesh in the image; determine a distance between the first desired location and the second desired location along the surgical mesh in the image; and display, on the display screen, the determined distance.

In an aspect, the image may be obtained by an imaging device directed at the surgical mesh.

In another aspect, the accessed image may include a 2D image and/or a 3D image.

In an aspect, when executing the instructions to determine the distance between the first desired location and the second desired location, the instructions may further cause the system to: determine a number of cells of the grid of cells along a shortest distance between the first desired location and the second desired location; perform a Euclidean reconstruction based on analyzing the surgical mesh as a 3D structure and/or a 2D structure composed of polygons, each polygon corresponding to a unique cell of the grid of cells; and/or perform a geodesic reconstruction based on analyzing the surgical mesh by forming a topographic map of the surgical mesh and calculating distances between the first desired location and the second desired location based thereon.

In another aspect, the instructions, when executed by the processor, may further cause the system to identify an item located on the surgical mesh.

In yet another aspect, the item may include a tack configured for attaching the surgical mesh to a tissue.

In still yet another aspect, the instructions, when executed by the processor, may further cause the system to identify, based on the image, whether the surgical mesh is attached to the tissue by a tack located at a location along the surgical mesh.

In still yet another aspect, the surgical site may be a hernia surgical site and/or a laparoscopy surgical site.

In still yet another aspect, the instructions, when executed by the processor, may further cause the system to display on the display screen a pre-selected placement of tacks on the surgical mesh.

In accordance with aspects of the disclosure, the instructions, when executed by the processor, may further cause the system to: determine at least one placement location for at least one tack; and display the determined at least one placement location on the display screen.

In another aspect, displaying, on the display screen, the determined distance may further include displaying a trajectory between the first desired location and the second desired location.

In accordance with the disclosure, a computer-implemented method for surgical mesh analysis is presented. The method includes: accessing an image of a surgical site, the image including the surgical mesh. The surgical mesh includes a grid of cells. The method further includes detecting a first desired location on the surgical mesh in the image, detecting a second desired location on the surgical mesh in the image, determining a distance between the first desired location and the second desired location along the surgical mesh in the image, and displaying, on the display, the determined distance.

In an aspect, the method may further include using an imaging device directed at the surgical mesh to obtain the image.

In another aspect, the accessing of the image may include accessing a 2D image and/or a 3D image.

In yet another aspect, determining the distance between the first desired location and the second desired location may further include determining a number of cells of the grid of cells along a shortest distance between the first desired location and the second desired location; performing a Euclidean reconstruction based on analyzing the surgical mesh as a 3D structure composed of polygons, each polygon corresponding to a unique cell of the grid of cells; and/or performing a geodesic reconstruction based on analyzing the surgical mesh by forming a topographic map of the surgical mesh and calculating a distances between the first desired location and the second desired location based thereon.

In still yet another aspect, the method may further include identifying an item located on the surgical mesh.

In still yet another aspect, the method may further include determining placement locations for one or more tacks and displaying the determined placement locations.

In still yet another aspect, the method may further include identifying, based on the image, when the surgical mesh is attached to the tissue by a tack located at a location along the surgical mesh.

In accordance with other aspects of the disclosure, a computer-implemented method for surgical mesh analysis, using at least one processing unit. The method includes: accessing an image of a surgical site, the image including the surgical mesh. The surgical mesh includes a grid of cells. The method further includes detecting a first desired location on the surgical mesh in the image, detecting a second desired location on the surgical mesh in the image, determining a distance between the first desired location and the second desired location along the surgical mesh in the image, and displaying, on the display, the determined distance.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn accurately or to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity, or several physical components may be included in one functional block or element. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

The disclosed surgical device will now be described in detail with reference to the drawings in which like reference numerals designate identical or corresponding elements in each of the several views. However, it is to be understood that the aspects of the disclosure are merely exemplary of the disclosure and may be embodied in various forms. Well-known functions or constructions are not described in detail to avoid obscuring the disclosure in unnecessary detail. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the disclosure in virtually any appropriately detailed structure. In addition, directional terms such as front, rear, upper, lower, top, bottom, distal, proximal, and similar terms are used to assist in understanding the description and are not intended to limit the disclosure.

This disclosure relates generally to meshes and, in particular, meshes used in medical treatment.

Embodiments of the presently disclosed devices, systems, and methods of treatment are described in detail with reference to the drawings, in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the term “distal” refers to that portion of a structure that is farther from a user, while the term “proximal” refers to that portion of a structure that is closer to the user. The term “clinician” refers to a doctor, nurse, or other care provider and may include support personnel.

The disclosure is applicable where images of a surgical site are captured. Endoscope systems are provided as an example, but it will be understood that such description is exemplary and does not limit the scope and applicability of the disclosure to other systems and procedures.

Referring initially toFIGS.1-3, an endoscope system1, in accordance with the disclosure, includes an endoscope10, a light source20, a video system30, and a display device40. With continued reference toFIG.1, the light source20, such as an LED/Xenon light source, is connected to the endoscope10via a fiber guide22that is operatively coupled to the light source20and to an endocoupler16disposed on, or adjacent to, a handle18of the endoscope10. The fiber guide22includes, for example, fiber optic cable which extends through the elongated body12of the endoscope10and terminates at a distal end14of the endoscope10. Accordingly, light is transmitted from the light source20, through the fiber guide22, and emitted out the distal end14of the endoscope10toward a targeted internal feature, such as tissue or an organ, of a body of a patient. As the light transmission pathway in such a configuration is relatively long, for example, the fiber guide22may be about 1.0 m to about 1.5 m in length, only about 15% (or less) of the light flux emitted from the light source20is outputted from the distal end14of the endoscope10.

With reference toFIGS.2and3, the video system30is operatively connected to an image sensor32mounted to, or disposed within, the handle18of the endoscope10via a data cable34. An objective lens36is disposed at the distal end14of the elongated body12of the endoscope10and a series of spaced-apart, relay lenses38, such as rod lenses, are positioned along the length of the elongated body12between the objective lens36and the image sensor32. Images captured by the objective lens36are forwarded through the elongated body12of the endoscope10via the relay lenses38to the image sensor32, which are then communicated to the video system30for processing and output to the display device40via cable39. The image sensor32is located within, or mounted to, the handle18of the endoscope10, which can be up to about 30 cm away from the distal end14of the endoscope10.

Referring toFIG.4, there is shown a schematic configuration of a system, which may be the endoscope system ofFIG.1or may be a different type of system (e.g., visualization system, etc.). The system, in accordance with the disclosure, includes an imaging device410, a light source420, a video system430, and a display device440. The light source420is configured to provide light to a surgical site through the imaging device410via the fiber guide422. The distal end414of the imaging device410includes an objective lens436for receiving or capturing the image at the surgical site. The objective lens436forwards or transmits the image to the image sensor432. The image is then communicated to the video system430for processing. The video system430includes an imaging device controller450for controlling the endoscope and processing the images. The imaging device controller450includes a processor452connected to a computer-readable storage medium or a memory454which may be a volatile type memory, such as RAM, or a non-volatile type memory, such as flash media, disk media, or other types of memory. In various embodiments, the processor452may be another type of processor such as, without limitation, a digital signal processor, a microprocessor, an ASIC, a graphics processing unit (GPU), field-programmable gate array (FPGA), or a central processing unit (CPU).

In various embodiments, the memory454can be random access memory, read only memory, magnetic disk memory, solid state memory, optical disc memory, and/or another type of memory. In various embodiments, the memory454can be separate from the imaging device controller450and can communicate with the processor452through communication buses of a circuit board and/or through communication cables such as serial ATA cables or other types of cables. The memory454includes computer-readable instructions that are executable by the processor452to operate the imaging device controller450. In various embodiments, the imaging device controller450may include a network interface540to communicate with other computers or a server.

Referring toFIG.5, an image of a surgical mesh502is shown, specifically, a mesh used for hernia treatment. A surgical mesh502is a medical device that supports damaged tissue around hernias as it heals. Clinicians, for example, during hernia surgery, or laparoscopic surgery, place the surgical mesh502across the area surrounding the hernia, attaching it with tacks504. The disclosed method calculates the distance between two points along the surgical mesh502, in this particular example, between the tacks504a,504balong the surgical mesh502.

With reference toFIG.6, a flow diagram for a computer-implemented method for surgical mesh analysis is shown. For example, the systems and methods of the disclosure may determine distances between tacks and suggest optimized tack location. The flow diagrams include various blocks described in an ordered sequence. However, those skilled in the art will appreciate that one or more blocks of the flow diagram may be performed in a different order, repeated, and/or omitted without departing from the scope of the disclosure. The below description of the flow diagram refers to various actions or tasks performed by one or more video system30, but those skilled in the art will appreciate that the video system30is exemplary. In various embodiments, the disclosed operations can be performed by another component, device, or system. In various embodiments, the video system30or other component/device performs the actions or tasks via one or more software applications executing on a processor. In various embodiments, at least some of the operations can be implemented by firmware, programmable logic devices, and/or hardware circuitry. Other implementations are contemplated to be within the scope of the disclosure.

Initially, at step602, the video system30accesses an image of a surgical site from the imaging device (e.g., endoscope10). The image includes a surgical mesh502(FIG.5), which includes a grid of cells. For example, the image may include a surgical mesh in the form of a hernia mesh. The image may include a 2D or a 3D image. The surgical mesh502includes a known mesh structure. For example, parameters of the known mesh structure may include but are not limited to a spacing and/or a thickness of the grid of cells of the mesh. The parameters may be known to the video system30based on the type of surgical mesh502used in the procedure. These parameters of the known surgical mesh structure may be entered into the video system30by a clinician before and/or during a procedure.

Next, at step604, the video system30detects a first desired location on the surgical mesh in the image, for example, a first tack504a. Next, at step606, the video system30detects a second desired location on the surgical mesh502in the image, for example, a second tack504b. The video system30may use a machine learning network to detect the locations. The detection may be based on image segmentation and/or a recursive convolutional neural network (RCNN). For example, the image may be split into many different regions to check if any of the regions have signs of an object, such as a tack504. In aspects, the locations may be manually entered into the video system30, by a clinician using a user interface.

At step608, the video system30determines a distance between the first desired location and the second desired location along the surgical mesh in the image. The determination of the distance may be based on one or more (e.g., a combination) of the following methods.

In aspects, the video system30may determine the distance between the first desired location and the second desired location distance by a 2D geodesic method. For example, the video system30may find the shortest path between two points along the mesh and calculate the number of cells of the grid of cells along that path. The determining of the 2D geodesic distance may be performed by the video system30according to the method ofFIG.7.

In aspects, the video system30may determine the distance between the first desired location and the second desired location by modeling the surgical mesh502as a polygon as structure (e.g., a 3D Euclidean reconstruction). The video system30performs a 3D Euclidean reconstruction based on analyzing the surgical mesh502as a 3D structure composed of polygons (FIG.11). The video system30analyzes the surgical mesh502and extracts cells of the grid of cells as polygons. In aspects, each polygon corresponds to a unique cell of the grid of cells and has a specific size and orientation. In aspects, the mesh may be modeled as a 2D structure. In aspects, the video system30may detect an outer boundary of the mesh and determine the distance between points on the mesh from the outer boundary of the mesh. In aspects, the video system30may determine orientation of the cells. For example, determining the orientation of the cells may support analyzing a mesh with asymmetrical cells.

In aspects, the video system30may determine the distance between the first desired location and the second desired location by performing a geodesic reconstruction (seeFIG.9). The geodesic reconstruction is based on analyzing the surgical mesh502by forming a topographic map of the surgical mesh and calculating a distance between the first desired location (e.g., a first tack) and the second desired location (e.g., a second tack) based thereon (FIG.10). For example, a user can choose a first and a second desired location and the video system30can determine the distance between the two points. It is contemplated that determining the distance is not restricted to a quantitative analysis, e.g., displaying a number, and can also include determining a trajectory/route between two or more locations.

In aspects, the video system30may identify items located on the surgical mesh502. For example, the video system30may identify a tack504, which is configured for attaching the surgical mesh502to tissue. In aspects, the video system30may determine a pre-selected placement of tacks on the surgical mesh502. In aspects, the video system30may determine placement locations for one or more tacks and display the determined placement locations (seeFIG.9).

Next, at step610, the video system30displays, on the display device40, the determined distance. In aspects, the determined distance may be displayed, for example as a number, or as a trajectory/route between the two desired locations.

Referring toFIG.7, a flow diagram for a 2D geodesic method for determining the distance between two points on the surgical mesh is shown. At a high level, the geodesic approach for measuring distance includes weighing pixels, arranging the pixels in blobs, and then determining the path crossing the minimal number of blobs between two given points along the mesh.

Initially, at step704, the video system30detects the structure of the surgical mesh502(FIG.8) in the image and determines weights for the pixels in the image. At step706, the video system30then extracts BLOBs (Binary Large OBjects) by connecting neighboring pixels based on the weights of the pixels. A BLOB refers to a group of connected pixels in a binary image. The term “large” indicates that only objects of a certain size are of interest and that “small” binary objects are usually noise. Next, at step708, the video system30constructs a weighted graph between BLOBs. In aspects, the video system30may penalize the weights of pixels that are not part of the same BLOB. At step702, the video system30detects tacks504(FIG.8) in the image. At step710, the video system30then determines the 2D geodesic distance between the detected tacks by finding a path802(FIG.8) that crosses the minimal number of BLOBs.

Referring toFIG.9, a flow diagram for a method for determining the 3D distance between two points on the surgical mesh is shown. Initially, at step904, the video system30detects a structure of a surgical mesh502in the image. At step908, the video system30models the 3D shape of the surgical mesh502by extracting BLOBs and providing a clean image of the mesh (FIG.13). The video system30may fit an ellipse for each BLOB and find the axis for the ellipse. Next, the video system30may solve a PnP problem (Perspective-n-Point) to estimate each BLOB location. PnP is the problem of estimating the pose of a calibrated camera given a set of n 3D points in the world and their corresponding 2D projections in the image. For example, a camera model may be used to solve the PnP problem. Based on the solved PnP problem, the video system30may reconstruct the mesh as a 3D structure (FIG.12). Next, at step910, the video system30fits a local linear surface to the reconstructed mesh (seeFIG.13) and uses smoothness constraints to remove outlier pixels. At step702, the video system30detects tacks504(FIGS.10and11) in the image. Next, at step912, the video system30determines the 3D distance (the Euclidian distance1002(FIG.11) and/or the 3D geodesic distance1102(FIG.10)) between the detected tacks based on the resulting mesh surface.

With reference toFIGS.14A and14B, a flow diagram for training a convolutional neural network (CNN) to predict a mesh structure of an RGB image that includes a surgical mesh is shown. A CNN is a type of deep learning neural network that is typically used in image processing and generally consists of an input and an output layer, as well as multiple hidden layers. The CNN may be trained using supervised training. For example, training images that include tacks are labeled and used to train the CNN (FIG.14B). In aspects, the video system30may use a student-teacher cascade to predict labeling the training images. A student-teacher cascade generally consists of transferring “knowledge” from one machine learning model (i.e., the teacher network) to another (e.g., the student network). Commonly, the teacher network is a high-capacity model (e.g., a deep learning neural network) with formidable performance, while the student network is more compact. By transferring “knowledge,” the system benefits from the student's compactness without sacrificing too much performance. For example, the deep learning neural network (e.g., a teacher) may produce soft labels and then using the soft labels to train the smaller neural network (e.g., a student). In aspects, the student-teacher cascade may include a combination of two or more deep learning networks (e.g., a CNN), classical machine learning models (e.g., an SVM, a decision tree, etc.), and/or computer vision models.

Turning now toFIGS.15and16, a CNN1506can be trained to predict the mesh structure1508using an image1504, in which the tacks are labeled1502. The CNN may be trained using a student-teacher prediction. The image ofFIG.16demonstrates the image analyzed by the CNN1506(FIG.15) in which the mesh1612and the tacks1610are shown.

FIG.17depicts a view of a diagnosis of a mesh providing additional information about the mesh and tacks, in accordance with the disclosure. In aspects, the image may be augmented to display a diagnosis. For example, during a procedure, the video system30may analyze the mesh and/or tack placement based on the determined distances between tacks and provide a diagnosis. In aspects, the video system30may determine a location for a clinician to install the next tack and display and augmented image showing an indication of the determined next tack location.

In addition, the video system may identify proper attachment of the mesh to a tissue using a tack. In particular, during placement of the tacks, it may so happen that instead of puncturing the mesh and firmly attaching the mesh to the tissue, the tack penetrates the mesh and, thereafter, lifts it above the tissue.

For example, the video system30may display a proposed tack location1702for the next tack. The displayed indication may include a graphic, such as, but not limited to, a target graphic. For example, the target graphic may have rings of various colors and/or animations indicating where the clinician should place the next tack. In aspects, the video system30may augment the image to display a “missing tack area”1704. The missing tack area may include a colored graphic and/or animation indicating an area on the surgical mesh that the system decides should have additional tacks placed to properly support the surgical mesh. The system and method of the present disclosure may also be useful in predicting a desired location for placing the tacks, obtaining more data for quantitative accuracy evaluation, and developing alert/recommendation based on results. The results may be imaged onto the mesh using an augmented imaging system.

Since such a situation changes the topography of the 3D mesh model, the system may be configured for identifying such localized elevations and alerting the surgeon/physician and improper mesh attachment.

The embodiments disclosed herein are examples of the disclosure and may be embodied in various forms. For instance, although certain embodiments herein are described as separate embodiments, each of the embodiments herein may be combined with one or more of the other embodiments herein. Specific structural and functional details disclosed herein are not to be interpreted as limiting, but as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the disclosure in virtually any appropriately detailed structure. Like reference numerals may refer to similar or identical elements throughout the description of the figures.

The disclosure and concepts described herein may be incorporated into a robotic surgical system, for example the robotic surgical system ofFIG.18. Various electromechanical surgical instruments and/or electrosurgical instruments, for example, endoscope10(FIG.1) may be configured to be detachably coupleable and controllable by a robotic surgical system. One exemplary robotic surgical system may generally include a plurality of surgical robotic arms each having an instrument drive unit and the endoscope10removably attached thereto; a control device; and an operating console coupled with the control device.

The operating console includes a display device, which is set up in particular to display three-dimensional images; and manual input devices by means of which a person, for example, a surgeon, is able to telemanipulate the robotic arms in a first operating mode, as known in principle to a person skilled in the art. Each of the robotic arms may be composed of a plurality of members, which are connected through joints. The robotic arms may be driven by electric drives that are connected to the control device. The control device (e.g., a computer) is set up to activate the drives, in particular by means of a computer program, in such a way that the robotic arms, the attached instrument drive units, and thus the endoscope10execute a desired movement according to a movement defined by means of the manual input devices. The control device may also be set up in such a way that it regulates the movement of the robotic arms and/or of the drives.

The robotic surgical system is configured for use on a patient lying on a surgical table to be treated in a minimally invasive manner by means of the endoscope10. The robotic surgical system may also include more than two robotic arms, the additional robotic arms likewise being connected to the control device and being telemanipulatable by means of the operating console. The endoscope10may also be attached to the additional robotic arm.

The control device may control a plurality of motors, with each motor configured to drive movement of the robotic arms in a plurality of directions. Further, the control device may control the activation of the instrument drive unit to drive various operations of endoscope10, and may control a rotation of an internal motor pack of the instrument drive unit to ultimately rotate the endoscope10about a longitudinal axis thereof.

The robotic surgical system may further include a surgical instrument holder configured to be coupled with or to the robotic arm. The surgical instrument holder holds the instrument drive unit and the endoscope10. The surgical instrument holder supports or houses a motor, which receives controls and power from the control device to effect a rotation of an internal motor pack of the instrument drive unit, which results in a rotation of the endoscope10about a longitudinal axis thereof. The surgical instrument holder may be slidably mounted onto a rail of the robotic arm and moved along the rail via a motor driven chain or belt or the like to adjust a position of the endoscope10.

For a detailed description of the construction and operation of a robotic surgical system, reference may be made to U.S. Pat. No. 8,828,023, entitled “Medical Workstation,” the entire contents of which are incorporated by reference herein.

With continued reference toFIG.18, a robotic surgical system configured for use in accordance with the present disclosure is shown generally identified by reference numeral1000. Aspects and features of robotic surgical system1000not germane to the understanding of the present disclosure are omitted to avoid obscuring the aspects and features of the present disclosure in unnecessary detail.

Robotic surgical system1000generally includes a plurality of robot arms1002,1003; a control device1004; and an operating console1005coupled with control device1004. Operating console1005may include a display device1006, which may be set up in particular to display three-dimensional images; and manual input devices1007,1008, by means of which a person, e.g., a surgeon, may be able to telemanipulate robot arms1002,1003in a first operating mode. Robotic surgical system1000may be configured for use on a patient1013lying on a patient table1012to be treated in a minimally invasive manner. Robotic surgical system1000may further include a database1014, in particular coupled to control device1004, in which are stored, for example, pre-operative data from patient1013and/or anatomical atlases.

Each of the robot arms1002,1003may include a plurality of members, which are connected through joints, and an attaching device1009,1011, to which may be attached, for example, a surgical tool “ST.” One or more of the surgical tools “ST” may include a DLU, e.g., DLU100, similar to those detailed above, thus providing such functionality on a robotic surgical system1000.

Robot arms1002,1003may be driven by electric drives, e.g., motors, connected to control device1004. Control device1004, e.g., a computer, may be configured to activate the motors, in particular by means of a computer program, in such a way that robot arms1002,1003, their attaching devices1009,1011, and, thus, the surgical tools “ST” execute a desired movement and/or function according to a corresponding input from manual input devices1007,1008, respectively. Control device1004may also be configured in such a way that it regulates the movement of robot arms1002,1003and/or of the motors.

The phrases “in an embodiment,” “in embodiments,” “in some embodiments,” or “in other embodiments” may each refer to one or more of the same or different embodiments in accordance with the disclosure. A phrase in the form “A or B” means “(A), (B), or (A and B).” A phrase in the form “at least one of A, B, or C” means “(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).” The term “clinician” may refer to a clinician or any medical professional, such as a doctor, nurse, technician, medical assistant, or the like, performing a medical procedure.

The systems described herein may also utilize one or more controllers to receive various information and transform the received information to generate an output. The controller may include any type of computing device, computational circuit, or any type of processor or processing circuit capable of executing a series of instructions that are stored in a memory. The controller may include multiple processors and/or multicore central processing units (CPUs) and may include any type of processor, such as a microprocessor, digital signal processor, microcontroller, programmable logic device (PLD), field programmable gate array (FPGA), or the like. The controller may also include a memory to store data and/or instructions that, when executed by the one or more processors, causes the one or more processors to perform one or more methods and/or algorithms.

Any of the herein described methods, programs, algorithms or codes may be contained on one or more machine-readable media or memory. The term “memory” may include a mechanism that provides (for example, stores and/or transmits) information in a form readable by a machine such a processor, computer, or a digital processing device. For example, a memory may include a read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, or any other volatile or non-volatile memory storage device. Code or instructions contained thereon can be represented by carrier wave signals, infrared signals, digital signals, and by other like signals.

It should be understood that the foregoing description is only illustrative of the disclosure. Various alternatives and modifications can be devised by those skilled in the art without departing from the disclosure. Accordingly, the disclosure is intended to embrace all such alternatives, modifications and variances. The embodiments described with reference to the attached drawing figures are presented only to demonstrate certain examples of the disclosure. Other elements, steps, methods, and techniques that are insubstantially different from those described above and/or in the appended claims are also intended to be within the scope of the disclosure.