The present invention generally relates to a user interface and methods for interacting with a computer system, and more particularly, to a touch-based user interface and method for interacting with a medical-imaging system.
In the field of medical imaging, prior to the digitization of medical imaging, medical-imaging users (e.g., Radiologists) would analyze physical film printed images in light boxes, and use physical devices such as magnifying glasses, rulers, grease pencils, and their hands to manipulate the physical printed medical images in order to interpret and diagnose the images. With the digitization of medical imaging, the physical film became a digital image, displayable on a computer monitor. A medical-imaging system became a computer application or collection of computer applications, which require a computer or computers to operate. At present, medical-imaging systems are interacted with through a mouse and keyboard. Commands to the medical-imaging system are typically invoked through mouse and/or keyboard interactions.
For image-intensive computing with rich graphical user interfaces, the mouse is showing its age. The mouse constrains the interaction to a single x, y point on the display with buttons to make selections and initiate modes of operation, such as click and drag. Most modern computer mice also have a special purpose scroll mechanism, often a wheel. Much of the human hand and finger capabilities and dexterity are not utilized with a mouse, and a mouse is limited to only one hand. Using the mouse for long periods of time tends to cause fatigue and repetitive stress symptoms due to the need to grasp the device and repeatedly perform small stressing motions of the fingers to click buttons.
For alphanumeric text entry, and initiating commands, keyboards have remained much the same for many decades and it has been difficult to find alternatives that perform better at text entry, for most users. When used as an input device for medical-imaging systems, some form of keyboard may remain in use for text entry for a long time to come. However, another common purpose for which keyboards are used with medical-imaging systems is for shortcuts to operations generally also available with the mouse but at the cost of navigation time and additional mouse clicking. The trade-off with mapping functions to keyboard shortcuts is the user has to learn and remember non-intuitive mappings of functions to keys, and most people have trouble remembering more than a few. In some cases, shortcuts to operations are also mapped to mouse modes of operation, often in conjunction with the keyboard. For example, a medical-imaging system zoom-image function could be mapped to the combination of holding down the Ctrl key and moving the mouse forward and back or rolling the scroll wheel. A better alternative to keyboard and mouse shortcuts for triggering medical-imaging system operations must make this mapping highly visible to reduce cognitive load, as well as make the interaction easy to reach quickly for efficiency.
In light of the foregoing background, exemplary embodiments of the present invention provide an improved apparatus and method for more intuitively and efficiently interacting with a computer system, such as a medical-imaging system. According to one aspect of exemplary embodiments of the present invention, an apparatus is provided that includes a processor configured to receive data representative of points on a touch-sensitive surface with which an object comes into contact. The touch-sensitive surface is divided into a plurality of regions each of a number of which is associated with a distinct set of one or more of the plurality of gestures. The gestures are associated with respective functions of a software application operable by the apparatus. The points on the touch-sensitive surface are located within one of the regions and correspond to one of the gestures. The processor is configured to determine the region within which the points are located, and determine a gesture corresponding to the points as a function of the data representative of the points and the distinct set of gestures associated with the determined region. And the processor is configured to execute the function of the software application associated with the determined gesture.
The apparatus may further include the touch-sensitive surface, and one or more displays integrated with or separate and distinct from the touch-sensitive surface. At least one of the display(s) may be configured to present a graphical output of the software application. The processor being configured to execute the function, then, may include being configured to effectuate a change in the graphical output presented by the respective display. The apparatus may further include one or more removable graphic overlays for the touch-sensitive surface, where the graphic overlay visibly represents the regions and a layout of the regions into which the touch-sensitive surface is divided. Additionally or alternatively, a display may be configured to present an image visibly representing the regions into which the touch-sensitive surface is divided.
In one example, the apparatus further includes a touch-sensitive display with the touch-sensitive surface. The touch-sensitive display may then be configured to present at least a portion of a graphical output of the software application, where the respective portion of the graphical output is presented in a region into which the touch-sensitive surface is divided.
The removable graphic overlay in various instances may include a set of one or more uniquely-placed contacts that, when the overlay is placed on the touch-sensitive surface, are detectable by the touch-sensitive surface and interpretable by the processor to correspond to the regions and the layout of the regions. And in instances in which the apparatus includes a plurality of graphic overlays, the graphic overlays may visibly represent respective distinct sets of regions and layouts of the regions; and the touch sensitive-surface may be selectively divided into a plurality of regions according to the removable overlays.
The apparatus may further include memory configured to store a configuration file defining the regions in a coordinate space relative to the touch-sensitive surface, where the configuration file may further specify, for each region, the associated set of one or more gestures and respective, associated functions. This configuration file may be modifiable to thereby modify one or more of the coordinate space of one or more regions, or the set of one or more gestures or respective, associated functions associated with one or more regions. In such instances, the processor may be configured to determine the region based upon the configuration file, and may be configured to determine a gesture based upon the configuration file.
The processor may be configured to identify, from the received data, at least one of the points having a force of contact of the object with the touch-sensitive surface less than a threshold force. The processor being configured to determine a gesture may, then, include being configured to ignore the point(s) having a force of contact less than the threshold force. Similarly, the processor may be configured to identify, from the received data, at least one of the points having a size greater than a threshold size; and in these instances, the processor being configured to determine a gesture may include being configured to ignore the point(s) having size greater than the threshold size.
In a more particular example, one of the regions is defined as a toggle on-off for one or more other regions. In such instances, the processor may be configured to determine the region defined as a toggle on-off. Accordingly, the processor may be configured to determine a toggle-on gesture associated with a function comprising activating the one or more other regions, where the other region(s) are inactive (the processor being incapable of receiving data representative of points within the other region(s)) when the processor determines the toggle-on gesture. The processor being configured to execute the function may then include being configured to activate the one or more other regions (the processor thereafter being capable of receiving data representative of points within the other region(s)).
The plurality of regions may further include a region associated with a free-form digital handwriting function. In these instances, the processor being configured to determine a gesture corresponding to the points may include being configured to determine a gesture corresponding to the points when the region determined by the processor is a region associated with a distinct set of one or more of the plurality of gestures. Otherwise, the processor may be configured to receive data representative of free-form digital handwriting on the touch-sensitive surface when the region determined by the processor is the region associated with the free-form digital handwriting function.
According to other aspects of exemplary embodiments of the present invention, a method and computer-readable storage medium are provided. Exemplary embodiments of the present invention therefore provide an improved apparatus, method and computer-readable storage medium for directing operation of a software application via a touch-sensitive surface divided into regions associated with respective functions. As indicated above, and explained below, exemplary embodiments of the present invention may solve problems identified by prior techniques and provide additional advantages.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
a and 2b are schematic block diagrams of a touch-sensitive surface and an object that may come into contact with that surface to effectuate a trace or movement interaction, according to exemplary embodiments of the present invention;
a and 3b illustrate block diagrams of division of a touch-sensitive surface into a plurality of regions, according to exemplary embodiments of the present invention;
a-5c are schematic block diagrams illustrating a region and gestures that may be implemented with respect to the region, according to exemplary embodiments of the present invention;
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. For example, references may be made herein to directions and orientations including vertical, horizontal, diagonal, right and left; it should be understood, however, that any direction and orientation references are simply examples and that any particular direction or orientation may depend on the particular object, and/or the orientation of the particular object, with which the direction or orientation reference is made. Like numbers refer to like elements throughout.
Referring to
Generally, the apparatus of exemplary embodiments of the present invention may comprise, include or be embodied in one or more fixed electronic devices, such as one or more of a laptop computer, desktop computer, workstation computer, server computer or the like. In a more particular example, the apparatus may comprise, include or be embodied in a picture archiving and communication system (PACS) or other medical-imaging system workstation. Additionally or alternatively, the apparatus may comprise, include or be embodied in one or more portable electronic devices, such as one or more of a mobile telephone, portable digital assistant (PDA), pager or the like.
As shown in
In addition to the memory 14, the processor 12 may also be connected to at least one interface or other means for displaying, transmitting and/or receiving data, content or the like. In this regard, the interface(s) may include at least one communication interface 18 or other means for transmitting and/or receiving data, content or the like, such as to and/or from other device(s) and/or network(s) coupled to the apparatus. In addition to the communication interface(s), the interface(s) may also include at least one user interface that may include one or more wireline and/or wireless (e.g., Bluetooth) earphones and/or speakers, one or more displays 20, and/or a user input interface 22. The user input interface, in turn, may comprise any of a number of wireline and/or wireless devices allowing the entity to receive data from a user, such as a microphone, an image or video capture device, a keyboard or keypad, a joystick, or other input device.
According to a more particular exemplary embodiment, the user input interface 22 may include a touch-sensitive surface and/or one or more biometric sensors. The touch-sensitive surface may be integral with or separate from a display 20, although it should be understood that even in instances in which the touch-sensitive surface is integral with a display (forming a touch-sensitive display), the apparatus 10 may additionally include a further display (e.g., primary display) separate and distinct from the touch-sensitive display (e.g., reference display). The biometric sensor(s), on the other hand, may include any apparatus (e.g., image capture device) configured to capture one or more intrinsic physical or behavioral traits of a user of the apparatus such as to enable access control to the apparatus, provide presence information of the user relative to the apparatus, or the like.
Referring to
In accordance with exemplary embodiments of the present invention, the touch-sensitive surface 24 may be configured to detect points of contact 26 of one or more objects (e.g., fingers 28, stylus 32) with the surface. The touch-sensitive surface may be configured to detect points of contact in accordance with any of a number of different technologies. Examples of suitable touch-sensitive technologies include resistive, capacitive, surface acoustic wave, surface capacitance, projected capacitance, optical (e.g., infrared), strain gauge, dispersive signal, acoustic pulse recognition or other similar technologies. Other examples of suitable touch-sensitive technologies include force sensitive resistor (FSR), quantum tunneling composite (QTC), Stantum-type touch sensors (by Stantum of Bordeaux, France) or the like.
Upon detection of one or more points of contact 26, an accompanying gesture-recognition engine (software application 16), then, may be configured to receive and interpret data representative of those points of contact, and interpret those points of contact (including concatenated points of contact representative of a trace 34 as in
In accordance with exemplary embodiments of the present invention, the touch-sensitive surface 24 may be divided into regions each of which is associated with a distinct set of one or more gestures and respective functions of the apparatus 10 or software application for which the gesture(s) direct operation. The regions may but need not have a rectangular shape. The regions may be visibly represented by a removable physical graphic overlay for the touch-sensitive surface, or by an image presented on a display 20. In either instance, the regions may be visibly represented with an optional text label and/or iconic image shown to identify the functions associated with the respective regions. A general example of a touch-sensitive surface divided into regions 38 is shown in
Each region 38 may provide a mapping between a distinct set of one or more gestures (e.g., point(s) of contact 26, traces 34 and/or movements 36) and respective functions of the apparatus 10 or software application. That is, the gesture-recognition engine may detect one or more gestures as inputs, and in response thereto, direct respective functions of the apparatus or software application as outputs. The gestures within a set or across sets may be implemented in any appropriate sequence, or in various instances, multiple gestures may be implemented simultaneously. In the context of a PACS workstation, for example, gestures may be associated with imaging functions such as open a currently-selected study, close a study, zoom within an image in a selected viewport to fit the viewport size, change the viewport layout, scroll through a series, adjust an image window and level or the like. Gestures that may be simultaneously-implementable include those for functions such as simultaneous zoom and scroll, zoom and pan, scroll and adjust window and level or the like. Through division of the touch-sensitive surface into regions, exemplary embodiments of the present invention may allow a user to more immediately access their common functions through gesturing on visible, and possibly labeled, regions.
In various instances, a region 38 may be associated with a single point of contact 26 (single-touch) or multiple simultaneous points of contact (multi-touch), and may be configured to require the point(s) of contact to have at least a threshold force value (force of contact of the finger(s) on the touch-sensitive surface 24)—ignoring points of contact having less than the threshold force value. Such a region may be considered a virtual button, and may have the capability of being activated with a configurable number of simultaneous touch points (≧1) and at a configurable force threshold. An example of a region configured as a virtual button is shown in
Other regions 38 may be defined to vary a software application value through a range. Examples of varying a value through a range include scrolling a series of images, adjusting image parameters such as scale (zoom), translation (pan) and orientation (rotation), drawing an annotation such as a distance measure or arrow or the like. These regions may implement single or multiple-finger (from one or both hands 30) movement 36 interactions to vary the respective software application value. As shown in
For rate-varying functions (or equally other appropriate functions), the amount of applied force of contact of the finger(s) on the touch-sensitive surface 24 may vary a rate at which a respective value changes as the movement interaction is performed. For example, when scrolling through displayed images, the velocity of the scrolling function may be dependent upon an amount of applied force of contact of the finger(s) effectuating the respective function. Or in another instance, a number of fingers applied to carry out the movement interaction may vary a rate at which a respective value changes (e.g., one finger indicating one velocity, and two fingers indicating another velocity). In yet another instance, a combination of applied force and number of fingers may change the velocity of the value change.
If so desired, a single region 38 may be defined for the entire area of the touch-sensitive surface 24, or two or more regions may be defined so as to overlap. As shown in
Different users may have different layouts of regions 38 for directing functions of the same or different software applications, such as to account for user preferences.
Different applications may have different layouts, or different modes of operation of the same application may have different layouts. In the context of a PACS workstation, for example, different modalities of a medical imaging study may have different layouts, such as a computerized tomography (CT) study and mammography study having different layouts.
According to exemplary embodiments of the present invention, a layout may have a physical graphical overlay with a set of one or more uniquely-placed, physical contacts that, when the overlay is placed on the touch-sensitive surface 24, may be detected by the touch-sensitive surface and interpreted by the apparatus 10 to correspond to the respective layout. In such instances, the apparatus may store configuration files for these layouts indexed according to the placement of their respective sets of contacts so that the desired configuration file may be recalled upon detection of a particular set of contacts. Even further, the locations of the regions 38 of the layout may be referenced to the contacts such that the physical graphical overlay may be placed in any of a number of positions and orientations on the touch-sensitive surface, and the apparatus may determine the position and orientation of the overlay and its regions based on detection of the contacts. Thus, although the apparatus may receive user input to designate a particular layout for operation, the apparatus may automatically detect the particular layout—as well as its position and orientation on the touch-sensitive surface—as a function of the unique placement of contacts detected by the apparatus.
In a more particular example, as shown in
In instances in which a more tactile feel is desired, the keyboard overlay representing the keyboard layout 42 may be constructed to appear similar to a conventional keyboard including physical keys but without internal electronics, and configured such that the downward pressing of its keys may cause a corresponding contact of the touch-sensitive surface 24. In these instances, the contacts 44 may serve to not only identify the keyboard and detect its position and orientation, but may also serve to raise the keyboard layout above the touch-sensitive surface. This may allow the physical keys of the keyboard to be pressed down creating an additional contact that can be detected by the touch-sensitive surface.
In addition to defining regions 38 to be associated with gestures directing functions of the apparatus 10 or a software application, a region may be defined for capturing digital handwritten notes, signatures, drawings or other free-form digital handwriting. In such instances, a user may, for example, place a piece of paper on the touch-sensitive surface 24 over a region defined for digital handwriting capture, and using a standard writing instrument such as a pen or pencil, write out a note or drawing on the paper; and simultaneously or nearly simultaneously, the touch-sensitive surface may capture a digital representation of the note or drawing. Or in another example, if the user does not require a paper copy, the user may simply write directly on the touch-sensitive surface using an instrument such as a writing stylus 32, as shown in
In any instance, however, the captured free-form handwriting may be converted or otherwise formatted in any of a number of different manner suitable for storage, display or further processing. Handwritten text may, for example, be converted into ASCII text (e.g., for presentation on a display 20, as in
By including a region defined for capturing free-form digital handwriting, the apparatus 10 of exemplar embodiments of the present invention may provide a multi-purpose, configurable input device that accounts for different manners by which the user may desire to interact with the apparatus or software application operating on the apparatus. That is, the touch-sensitive surface 24 including an appropriate layout may not only permit control of the apparatus or software application, but it may also permit the inputting of text and free-form handwriting including hand written notes, drawings and annotations—and may do so using the same pen or pencil as the user would otherwise use in a non-digital environment.
Returning to the general example of
In a further aspect, exemplary embodiments of the present invention may be configured to distinguish between intended and unintended contacts with the touch-sensitive surface 24, and may be configured to ignore unintended contacts. For example, for a user to be comfortable using the touch-sensitive surface, the user may desire to rest the heel or side of their hand(s) and part of their arm(s) on the surface. And the user may desire to have this extraneous contact with the touch-sensitive surface without having the contact cause the underlying regions to assume they are actionable contacts, and yet still allow the user's finger(s) 28 or stylus 32 to provide input to regions on the touch-sensitive surface. As an arm or hand resting on the surface may produce a larger contact area than a finger or stylus, the gesture-recognition engine may be configured to detect and reject or otherwise ignore (as an input) contacts greater than a threshold size. An example of such an increased-size contact area 48 is shown in
As suggested above, the layout of the regions 38 and their associated gestures and functions, as well as any other related parameters (e.g., applied force) and/or apparatus or software application parameters (e.g., application windows to which functions may be directed), may be configurable and stored in a configuration file. The configuration file may define the regions of the layout in a coordinate space relative to the touch-sensitive surface 24, such as by defining x-y coordinate areas of the regions; and for each region, may specify a set of one or more gestures and associated functions (or actions). The configuration file may be formatted in any of a number of different manners, such as in an extensible markup language (XML) file including XML schema, an example of which is presented in an Appendix below. A particular layout of regions may include a visible representation (e.g., physical graphic overlay or presented image) and configuration file, and multiple layouts may be selectively implemented by the apparatus. Also, changes to the regions or their associated gestures or functions may be carried out by changing or replacing the configuration file, and similarly changing or replacing the visible representation of the regions (e.g., physical graphic overlay or presented image).
Reference is now made to
As shown in
When a series of one or more points of contact are captured during a polling period, the gesture-recognition engine may be configured to pick the first (or next) point of contact in the series and determine if this current point of contact is from within a defined region 38, as shown in blocks 54 and 56. This may be accomplished, for example, by determining if the x-y coordinates of the respective point of contact is within the x-y area of a defined region. When the current point of contact is not within a defined region, the gesture-recognition engine may be configured to determine if the series includes any other points of contact, and if so, select the next point of contact and repeat the process, as shown in block 58 and again in blocks 54 and 56.
When the current point of contact is within a defined region 38, and for each subsequent point of contact within the same or another defined region, the gesture-recognition engine may be configured to load information defining the gestures and associated functions for the respective region, such as from the configuration file for the particular layout, as shown in block 60. The gesture-recognition engine may then be configured to determine if the current point of contact starts or completes a gesture, as shown in blocks 62 and 64. When the current point of contact starts a gesture, such as in the case of the first point of contact within a defined region, the gesture-recognition engine may be configured to start a contact history for the gesture, as shown in block 66. And when the current point of contact does not start a gesture but also does not complete a gesture, the gesture-recognition engine may be configured to add to the contact history for the gesture, as shown in block 68.
As the gesture-recognition engine builds the contact history, the gesture-recognition engine may be configured to compare the gesture being defined by the contact history with the loaded information defining the gestures for the respective region 38, and may be configured to filter out any of the region's gestures that do not match or substantially match the gesture being defined, as shown in block 68. Upon completion of the gesture defined by the contact history, then, a single match or substantial match may be made between the respective gesture and the region's gestures; and from this match, the gesture-recognition engine may be configured to identify and execute the function associated with the matching gesture, as shown in block 70. The gesture-recognition engine may then be configured to continue processing any further points of contact, or may reset for the next polling period.
As explained above, the apparatus may include one or more displays 20, and may include a display (e.g., primary display) separate and distinct from the touch-sensitive surface 24, and/or a touch-sensitive display (e.g., reference display) including an integral display and touch-sensitive surface. As also explained above, the display(s) may be configured to present a graphical output that may be changed during operation of an application, and/or may be configured to present an image visibly representing a layout of regions 38. The number and manner of presentations of the display(s) may be carried out in a number of different manners. For example, a primary display may be configured to present the graphical output of the application, while a reference display may present an image of a layout of regions.
As another example, a reference display may not only present an image of a layout of regions 38, but the reference display may also present a portion or all of the graphical output of an application—such as in a general purpose region of the layout (e.g.,
According to one aspect of the present invention, all or a portion of the apparatus of exemplary embodiments of the present invention, generally operates under control of a computer program. The computer program for performing the methods of exemplary embodiments of the present invention may include one or more computer-readable program code portions, such as a series of computer instructions, embodied or otherwise stored in a computer-readable storage medium, such as the non-volatile storage medium.
It will be understood that each step of a method according to exemplary embodiments of the present invention, and combinations of steps in the method, may be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable apparatus to produce a machine, such that the instructions which execute on the computer or other programmable apparatus create means for implementing the functions specified in the step(s) of the method. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement steps of the method. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing steps of the method.
Accordingly, exemplary embodiments of the present invention support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each step or function, and combinations of steps or functions, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. It should therefore be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.