Abstract:
Generally, the present invention is directed towards a system and method for displaying a scientific research data set viewable on an electronic display. The system is made up of a computerized device having an electronic display for displaying a selectable range of data points, an input device for receiving user input, and a digital processor for processing data and a memory for storing computer instructions and data. A set of graphical user interface instructions executable by the digital processor is stored within the memory to realize the method. The method includes steps of generating at least one data graphing area on the electronic display; graphing within the at least one data graphing area at least one line graph of data points representing at least a portion of the graphical data set; generating at least one graphical interface control for selectively rendering or removing from view a selectable range of the at least one line graph of data points; receiving input by way of the at least one graphical user interface control values indicative of the selectable range to render or remove and an indication of whether or not to render or remove from view the selectable range; and dynamically rendering or removing from view the selectable range of the at least one line graph of data points.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention is directed towards displaying a graph of a numerical data set contaminated with non-relevant data known as noise. In particular, the present invention is directed towards a method and system for allowing a user to select and omit non-relevant data from a graph representing the numerical data set.  
       Description of the Prior Art  
       [0002]     In medical and other scientific research, scientists collect large volumes of data. Although a lot of this data is archived for research, the scientists actually use only a small portion of the data for their study results. Scientists define the way they select their data in a study “protocol”.  
         [0003]     In general terms, computers can automate some protocols but not all. Those that cannot be automated by computer require a researcher to visually identify the data of interest by reviewing the data both in graph and table form. Once the data of interest has been identified, the researcher typically manually selects the data they want to include in their results.  
         [0004]     Even in those protocols that can be automated by computer, data collected from animal based medical research is often contaminated with non-relevant data such as noise and artifacts. All noise and artifacts should be excluded from the data being studied. For example, in medical research some studies are performed on conscious animals that perform activities that contaminant a data set. For instance, conscious animals may do things such as groom themselves. Acts such as this create data points that should be ignored. Some non-relevant data can be rejected at the time of data collection, using computer algorithms, but most non-relevant data rejection algorithms are flawed. Thus, ultimately a person trained to perform data screening can improve the effectiveness of rejecting non-relevant data from a research study data set. A data rejection process used by the data screener or researcher typically involves inspection of the research study data set in graphical and tabular form to identify data regions that possibly contain non-relevant data due to noise and/or artifacts.  
         [0005]     Prior to the widespread use of computers, researchers would collect data on paper strip chart recorders, which would produce yards of printouts. Then, they would hand-mark regions on the printouts as “data of interest”, in a sort of mechanical filtering. When reading the marked up printouts they would often fold over sections of non-relevant data, so only to show the data of interest.  
         [0006]     Now that computers are widespread, a great advantage over chart recorders can be realized, yet the techniques developed for screening and rejecting non-relevant data need not be lost. What is needed is a method and system that empowers a researcher with the ability to view data over time in a combined graphical and tabular form while tapping the tremendous power offered by modern digital computers. Tables are necessary for seeing the data up close and on a microscopic level and graphs give a macroscopic view. Both should work together to allow the researcher to define regions of study data, and to reject non-relevant data due to noise and artifacts. Once regions are identified, researchers should be able to “collapse” any non-relevant regions of data, so that they can view only the data of interest.  
       SUMMARY OF THE INVENTION  
       [0007]     The present invention relates to a system and method for displaying only relevant research data in a graphical form on an electronic display. In particular, the present invention provides a system and method for removing non-relevant data from the display.  
         [0008]     Generally, the present invention provides a system and method that displays on an electronic display one or more graphs of a numerical data set. For the purposes of this disclosure, a graph area is a single graph in which data points can be plotted. Also, whenever the plotted data points are connected by line segments, the combined plotted data points and line segments are referred to as a trace. More than one graph area can be displayed at a time. While each graph area has its own vertical axis and independent scale if desired, it is preferred that only one horizontal axis, usually a time axis, be displayed for all graph areas concurrently displayed.  
         [0009]     Each graph area has a graphical user interface control referred to as a graphical user interface (GUI) button. By activating the GUI button using a computer input device such as computer mouse, the user can display or remove from view the associated graph area.  
         [0010]     A section is defined as a portion of the graph, which is a continuous segment versus a parameter such as time. A section can be subdivided into regions. A region is a portion of a section that a user can selectively display or remove from view by activating the GUI button using a computer input device. Also for the purposes of this disclosure, the removal of a section or region from view is analogous to collapsing or folding regions and sections of a paper strip chart. The terms collapse and fold used within this disclosure mean to remove from view a section or region of a section of a graph presented on an electronic display. Each region may be selected individually or an entire section containing a plurality of regions can be collapsed all at once.  
         [0011]     In particular, the present invention includes a system for graphing a selectable range of the set of data points. The system is made up of a computerized device having an electronic display for displaying the selectable range of data points, an input device for receiving user input, and a digital processor for processing data and a memory for storing computer instructions and data. A set of graphical user interface instructions executable by the digital processor is stored within the memory to direct said computer to:  
         [0012]     i) generate at least one data graphing area on the electronic display;  
         [0013]     ii) graph within the at least one data graphing area at least one selectable range of data points representing at least a portion of the scientific research data set;  
         [0014]     iii) generate at least one graphical user interface control for selectively rendering or removing from view the at least one selectable range of data points;  
         [0015]     iv) receive input by way of the at least one graphical user interface control the at least one selectable range of the plurality of data points along with an indicator of whether or not to render or remove from view the at least one selectable range of data points; and  
         [0016]     v) render or remove from view a selected range of the at least one selectable range of data points in response to the input received by way of the at least one graphical user interface control.  
         [0017]     Moreover, the method of the present invention includes steps for generating at least one data graphing area on the electronic display; plotting within the at least one data graphing area a plurality of data points representing at least a portion of the graphical data set; generating at least one graphical interface control for selectively rendering or removing from view a selectable range of the plurality of data points; receiving input by way of the at least one graphical user interface control the selectable range of the plurality of data points to render or remove along with a logical value indicative of whether or not to render or remove from view the selectable range of the plurality of data points; and dynamically rendering or removing from view the plurality of data points indicated.  
         [0018]     The present invention also provides a graphical user interface for managing the display of the scientific research data set. The graphical user interface is made up of:  
         [0019]     a) a graph control object for generating at least one data graphing area on the electronic display;  
         [0020]     b) a section object for generating a section within the at least one data graphing area;  
         [0021]     c) a region object for generating a region within the section object;  
         [0022]     d) a data plotting object for plotting data points within the sections and regions of the at least one graphing area, the data points being from the scientific research data set;  
         [0023]     e) a vertical axis object for generating a vertical axis scaled appropriately for the scientific research data;  
         [0024]     f) a span object for storing information about the horizontal span of data points plotting by the data plotting object; and  
         [0025]     g) a horizontal axis object for generating a horizontal axis scaled according to the information stored by the span object.  
         [0026]     In operation, the user will select the non-relevant data for removal by way of the at least one graphical user interface (GUI) control. Preferably, the at least one GUI control is a GUI button selectable using a computer input device such as a computer mouse, keyboard, touch-screen or light pen.  
         [0027]     Preferably, there is a GUI control for every graph item such as every section of each graph, every region of each graph as well as each graph as a whole. Each GUI control has a logical value for determining whether or not an associated graph item is rendered displayed or removed from view. In the case of the preferred GUI button, the logical value changes state responsive to a user input. For example, the logical value of the GUI button will change state when a cursor representing a mouse position is placed over the GUI button and a switch within a computer mouse in control of the cursor is activated by a user action commonly referred to as a mouse click. As long as the mouse cursor is on the GUI button and the user performs a mouse click, the logical value will change state, alternately displaying and removing (e.g. collapsing) from display the graphic item controlled by the GUI button.  
         [0028]     It is also preferable for a region GUI button to have a user adjustable length placed adjacent to and directly above the graph area. In this way, all data plotted directly under the adjustable button length is associated with the button. Therefore, the length of the button is proportional to the range of data selected. In other words, the longer the button, the greater the range is of the data selected and vice versa. A click and drag type mouse operation is used to stretch the length of the region GUI button. Thereby, extending a region to include more data points. Likewise, a click and drag mouse operation is used to reduce the length of the region GUI button. Thereby, reducing the number of data points within a region.  
         [0029]     These and other aspects of the invention will become apparent to those skilled in the art after a reading of the following description of the preferred embodiment. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0030]     In the following drawings, like reference characters in the same or different figures indicate like items.  
         [0031]      FIG. 1  is a diagram showing the system components of the present invention.  
         [0032]      FIG. 2  is a block diagram showing the major software objects of the present invention.  
         [0033]      FIG. 3  is a depiction of a graphic display according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0034]      FIG. 1  depicts a system  10  for graphing a selectable range of the set of data points. The system is made up of a computerized device having an electronic display  12  for displaying the selectable range of data points, an input device  14  for receiving user input, and a digital processor  16  for processing data and a memory  18  for storing computer instructions and data. A set of graphical user interface instructions stored on software media  20  executable by digital processor  16  is stored within the memory  18 .  
         [0035]     In the preferred embodiment, the method of the present invention is realized with object based or object oriented software. The overall graph control is constructed using a set of software objects or classes that define properties and behaviors of each graph presented on the electronic display.  
         [0036]      FIG. 2  illustrates the major software objects and their relationships. Graph control object  22  is the main control for the present invention. It contains properties and methods that are associated with the control as a whole. It contains two public object collections  24  and  26  as well as one internal object collection  28 .  
         [0037]     Graph control object  22  has the following properties:  
         [0000]     Title  
         [0038]     As shown in  FIG. 3 , the Title property is a user definable text  30  description that appears above a graph. Preferably, the user can select the font, size and color of the text.  
         [0000]     VisibleDuration  
         [0039]     The VisibleDuration property represents the user defined time scale to show across a horizontal axis  32  of one or more graphs. However, since a collapsed region  34  or collapsed section  36  occupies some display space, the user defined time scale sometimes will be slightly adjusted by the software in order to be realisable.  
         [0000]     Divisions  
         [0040]     The Divisions property assigns a number of tick mark divisions  38  to show across horizontal axis  32 . As depicted in  FIG. 3 , horizontal axis  32  is a time axis. In other embodiments, horizontal axis  32  could just as well be related to some other parameter other than time.  
         [0000]     Show Grid  
         [0041]     A grid  40  is a plurality of horizontal and vertical lines that overlay a graph area  42 . Typically, horizontal grid lines represent a scale of magnitude for the graphed data, whereas vertical grid lines typically represent units of time. The show grid property is a logical value that is set by the user to either show or not show a grid over a selected graph. If the show grid property&#39;s logical value is set true, then a grid is shown otherwise no grid is shown.  
         [0000]     Relative Time  
         [0042]     The relative time property is a logical value for a selected section that when set true, forces the time on horizontal axis  32  to be presented relative to a trace  44  within the selected section. In other words, horizontal axis  32  will represent a time scale that is related specifically to the data graphed within a graph area  46  for which the relative time property is set.  
         [0000]     Scroll Position  
         [0043]     The scroll position property is associated with the position of a slider  48  within a scroll bar  50 , relative to the start of the first section (in scroll units), where the left side of the graph will begin rendering. The scroll units have the same time duration as a pixel on the screen. However, a zero value in scroll units always refers to the first pixel of the first section.  
         [0000]     Scroll Maximum  
         [0044]     The scroll maximum property is the maximum value that is assignable to the scroll position property.  
         [0000]     Metrics  
         [0045]     The metrics properties describe dimensions of a graph control icon. Moreover, the metrics properties include the width of a collapsed section or region, as well as the width of a graph area. Other properties involving the dimensions of other graphic related members can be added due to the polymorphic nature of objects such as the graph control object.  
         [0000]     Border Pen  
         [0046]     The border pen properties define the pen used to render borders  52  around graph areas and the like. Border pen properties include the color and stroke weight of the line or lines used to render a border.  
         [0000]     Grid Pen  
         [0047]     The grid pen properties define the pen used to render grid  40  overlaying graph area  42 . Like the border pen properties, the grid pen properties include the color and strike weight of the lines used to render grid  40 . Additionally, the grid pen properties also define the style of the line such as continuous, dotted or dashed.  
         [0000]     Selection Mode  
         [0048]     The selection mode property is a value that determines the type of data selection enabled. Possible values for the selection mode property include Trace, which is used to select ranges, Region used to select regions and re-dimension them, or Range, which is used to select a scroll unit range.  
         [0000]     Selected Range  
         [0049]     The SelectedRange property defines the data range in scroll units. If the value is left NULL, no range is selected.  
         [0000]     SelectedTrace  
         [0050]     The SelectedTrace property is a logical value associated with selecting a trace. If the value is set true, then the associated trace is selected. If the value is left Null or set false, the particular trace associated with the true value is not selected.  
         [0000]     SelectedRegion  
         [0051]     The SelectedRegion property is a logical value associated with selecting a region. If the value is set true, then the associate region is selected. On the other hand, if the value is set false or is NULL, then the associated region is not selected.  
         [0052]     Regions are selected by way of a plurality of region GUI buttons  51  and are adjacent the topmost of graph areas  52 . Whenever a user clicks on any one of region GUI buttons  51 , that particular region GUI button and the region under it will either collapse or be rendered viewable, depending on the previous logical state represented by the logical value of the SelectedRegion property. In the preferred embodiment, a positive or true logical value will render the selected region viewable, whereas a negative or false logical value will collapse or remove from view the selected region. In their collapsed state, region GUI buttons  51  are reduced to a minimal length. On the other hand, whenever the SelectedRegion logical value is true, region GUI buttons  51  have region boundary markers  53  that aid in identifying selected regions of graph areas  46 . The distance between region boundary markers associated with a particular region GUI button is substantially equal to the length of its respective button.  
         [0000]     Area Collection:  
         [0053]     Turning back to  FIG. 2 , the Area collection of objects  26  is a public member of the Graph control object  22 . The Area collection holds a set of graph area objects. Each graph area object represents the methods and properties associated with each graph area of the control. A Graph Area Object  56  has the following properties: Height The height property is an integer value to which the height of a graph area relative to others is given. For example, if all the heights are set to the integer value one, then all graph areas selected will be rendered the same height. If one graph is set to two and the others are set to one, then the one set to two will be twice the height of all the others.  
         [0000]     Divisions  
         [0054]     The divisions property is an integer that sets the number of vertical divisions  54  to display on the axis and grid.  
         [0000]     Collapsed  
         [0055]     The collapsed property is a logical value that determines if an associated graph area is collapsed or not. If the collapsed property logic value is true the graph area is collapsed, otherwise it is displayed. Any one of graph areas  46  is selected by way of an associated graph area GUI button  57 . Whenever, a user clicks on any one of graph area GUI buttons  57 , the associated graph area will either collapse or be rendered viewable depending on the previous logical state represented by the logical value of the collapsed property. In the preferred embodiment, a positive or true logical value will render the selected graph area viewable, whereas a negative or false logical value will collapse or remove from view the selected graph area.  
         [0000]     Axis Objects:  
         [0056]     There are several axis objects, one is a Left axis object  58  and another is a Right axis object  60 . These objects are used by graph areas for rendering their respective axis and by traces for rendering a trace within a graph area. Left axis object  58  and Right axis object  60  each have a Title property that allows a user to give each axis a descriptive title.  
         [0057]     Other axis objects fall with the public Axis Label Collection  62 . These objects have properties such as a numeric Format property that allows a user to select the proper number format for the numbers associated and presented with each axis. For example, the Format property can be used to fix the decimal of the numbers associated with each axis. Additional properties, such as Max and Min are values that further define each axis. The Max property value sets the top of the axis and the Min property value sets the bottom of the axis. An Axis label object  64  is a public object within Axis Label Collection  62 .  
         [0000]     Section Collection:  
         [0058]     Section collection  24  contains a set of section objects. Each section object in turn contains a trace collection and a region collection. A Section object  66  has the following properties:  
         [0000]     Collapsed  
         [0059]     The collapsed property is a logical value that determines if an associated section is collapsed or not. If the collapsed property logic value is true the section is collapsed, otherwise it is displayed. Any one of sections  36  is selected by way of an associated section GUI button  57 . Whenever, a user clicks on any one of section GUI buttons  57 , the associated section will either collapse or be rendered viewable depending on the previous logical state represented by the logical value of the collapsed property. In the preferred embodiment, a positive or true logical value will render the selected section viewable, whereas a negative or false logical value will collapse or remove from view the selected section.  
         [0000]     Title  
         [0060]     The section Title property is a user definable text description that appears above a section. Preferably, the user can select the font, size and color of the text.  
         [0000]     Start Time  
         [0061]     The start time property is the actual date and time of the start of a section.  
         [0000]     End Time  
         [0062]     The end time property is the actual date and time of the end of the section.  
         [0000]     Relative Start Time  
         [0063]     The actual time for which a time relative to the section start time and end time is set to zero.  
         [0000]     Trace Object:  
         [0064]     A Trace object collection  68  has a Trace object  70  that contains properties and methods that manage the display of a stream of data. Associated with each trace are a Trace Style object  72  and an Axis object  74 . In addition, the following properties are associated with a trace:  
         [0000]     Graph Area  
         [0065]     The graph area property is associated with the graph area selected to render a trace. It is preferred that this property be assigned one of the areas within the Area Collection.  
         [0000]     Selected  
         [0066]     The property known as “Selected” is a Boolean value that indicates whether or not to render a trace within the section as a selected trace.  
         [0000]     Tag  
         [0067]     The Tag property is a general-purpose value, which stores application-specific information associated with the trace.  
         [0000]     Axis  
         [0068]     The Axis property is a value used to render a trace within a graph area. Preferably, the axis property is one of a number of axis objects associated with an area.  
         [0000]     Title  
         [0069]     The title property stores a string of alphanumeric characters that can be used to title traces of a graph legend.  
         [0000]     Trace Style  
         [0070]     The Trace Style property is a value assigned to an instance of a trace style object. This value stores information related to the rendering of a trace. It is preferred that the trace style instance be shared among multiple traces.  
         [0000]     Trace Style Object:  
         [0071]     The Trace Style Object  72  contains the following properties:  
         [0000]     Pen  
         [0072]     The pen property is a value used to draw an unselected trace.  
         [0000]     Selected Pen  
         [0073]     The selected pen property is a value used to draw a selected trace.  
         [0000]     Point Marker  
         [0074]     The Point Marker Property is a value that determines the shape of a data point displayed within a trace. For example, the trace point property may specify, but is not limited to, a filled or unfilled triangle, circle or rectangle. It is also possible to assign a value to this property that will result in no marker being visible.  
         [0000]     Join Type  
         [0075]     The Join Type Property is a value that indicts whether or not to join the data points that make up a trace, and if so, how to do it, either with straight line, cubic splines, or with horizontal and vertical pairs.  
         [0000]     Region Object:  
         [0076]     A Region Collection  76  has a Region Object  78  that provides information about additional folds in the graph. The following are properties associated with Region Object  78 :  
         [0000]     Collapsed  
         [0077]     The Collapsed property indicates whether or not a region is collapsed.  
         [0000]     Start Time  
         [0078]     The starting time property is a value representing a start time and date for a region.  
         [0079]     The end time is automatically used as the start of the region that directly follows.  
         [0000]     Background Color  
         [0080]     The background color property is a color value that determines the background color applied to a graph area within an associated region.  
         [0000]     Title  
         [0081]     The title property is an alphanumeric string making up the title of an associated region.  
         [0000]     Internal Structures:  
         [0082]     The internal structures are used to manage the information associated with a specific view of the data. That is, these structures are used internally for the current rendering, and are used to make subsequent renderings more efficient and for making the use of computer input devices, such as a computer mouse more efficient.  
         [0000]     Time Span Object:  
         [0083]     A Time Span Object  80  stores information about a region of the graph along the horizontal or time axis. For example, in  FIG. 2 , there are eight time spans. Each Time Span object manages the visible regions. A Trace Segment Collection  82  and a Time Axis Label Collection  84  are associated with each instance of Time Span object  80 . A Time Axis Label object  86  is a member of Time Axis Label collection  84 . Trace Segment Collection  82  includes a Trace Segment Object  88 , a Data Point Collection  90 , and a Data Point Object  92 . The following properties are relevant to Time Span object  80 :  
         [0000]     Start Scroll Position  
         [0084]     The start scroll position property is a value that determines the starting scroll position of a time span scroll indicator.  
         [0000]     End Scroll Position  
         [0085]     The end scroll position property is a value that determines the ending scroll position of a time span scroll indicator.  
         [0000]     Collapsed  
         [0086]     The collapsed property is a logical value that determines if an associated Time Span is collapsed or not. If the collapsed property logic value is true the Time Span is collapsed, otherwise it is displayed.  
         [0000]     Time Axis Label Objects:  
         [0087]     An Axis Label Collection  82  has a time Axis Label Object  84  that contains properties and methods that make rendering the horizontal or time axis more efficient.  
         [0000]     Time  
         [0088]     The time property is a date and time property value for a label associated with the horizontal axis.  
         [0000]     Relative Time  
         [0089]     The relative time property is a section-relative time value of an associated label.  
         [0000]     X-Coordinate  
         [0090]     The X-coordinate property is a value used to determine the tick interval of the horizontal axis.  
         [0000]     Visible  
         [0091]     The visible property is a logical value that determines the visibility of a label. An associated label is drawn, if the visible property is set true, otherwise the label is hidden. For example, the visible property value would be automatically set to false if the label would overlap with an adjacent label.  
         [0000]     Size  
         [0092]     The size property is a value that determines the dimensions of a rendered label in pixels.  
         [0000]     Text  
         [0093]     The text property is a string of alphanumeric characters that become the text of the label when rendered.  
         [0094]     In operation, rendering of a graph begins by erasing all graph background areas and drawing a border around the graph areas. Next, in no particular order, scroll bar  50  and section/region map  59  are rendered along with at least one marker  61 , as well as vertical axis  55  and border of each graph area  52 . The horizontal or time axis  32  is also rendered before, during or after the rendering of the previous items.  
         [0095]     The Scroll Position and Scroll Maximum properties of Graph Control  22  have values measured in units that are similar to display pixel units. For the purposes of this description, these units are called “scroll units”. A scroll unit represents the same display distance as a pixel on the display. Scroll units are necessary to ensure that the scrollbar positions each graph in a fashion that is intuitive to the user. Essentially, the image of the graph visible to the user is a small portion of an entire graph range. In other words, the graph visually represents only a portion of the data available.  
         [0096]     Using scroll units, collapsed regions and sections can be maintained appropriately with the scrollbar. Internal to each region and section is information that tracks how many scroll units it currently occupies. The sum of all these scroll units determines the Scroll Maximum value.  
         [0097]     The properties of the section and region objects have a Start Time property, and the section has an End Time property, but neither have a property that specifically indicates their width in scroll units. A collapsed section or region will occupy a fixed number of scroll units. This number is part of the metrics exposed on the graph control.  
         [0098]     The VisibleDuration property determines the time that each pixel of the display monitor represents. Also, a pixel also represents the amount of time to associate with a single scroll unit since a pixel has the same display distance as a scroll unit.  
         [0099]     Moreover, since the amount of time assigned to a scroll unit is known, the amount of scroll units a single section would occupy if all the regions were expanded can be calculated. Collapsed regions are a fixed number of scroll units, so calculating scroll unit positions of every section and region within the section collection is a matter of iterating through each section and each region in each section.  
         [0100]     To plot data on this graph control, it is useful to break the plot up into a series of smaller graphs. Each of these smaller graphs is formed at the intersection of each graph area and time span. By forming them this way, the smaller graphs will have a continuous X range and Y range, and as a result, the programmer can use traditional graph plotting techniques to draw the trace segments on each of these smaller graphs.  
         [0101]     A note about this architecture: Each trace has a vertical axis object associated with it. This axis object provides the trace-to-pixel coordinate translation information for the Y coordinate. Since each trace can have a separate axis object, it is not necessary to implement specific trace scaling properties (so that traces of different magnitudes may be overlaid).  
         [0102]     To render the control, the programmer should perform the following tasks, though not necessarily in this order:  
         [0103]     i) Draw the Y axis or axes for each Graph Area  
         [0104]     ii) Render the Time Axis for each Time Span  
         [0105]     iii) Draw the collapse buttons and controls  
         [0106]     iv) Render each Time Span for each Graph Area  
         [0107]     For each Time Span in each Graph Area, the programmer should perform the following tasks, though not necessarily in the following order:  
         [0108]     i) Fill with the Region Background Color  
         [0109]     ii) Draw the grid using the Grid Pen  
         [0110]     iii) Plot the data associated with each Trace Segment using traditional graph plotting techniques.  
         [0111]     Certain modifications will occur to those skilled in the art upon a reading of the foregoing description. It should be understood that all such modifications and improvements have been deleted herein for the sake of conciseness and readability, but are properly within the scope of the following claims.