Embodiments of the subject matter disclosed herein relate to medical imaging, and more particularly, to management of images generated by medical imaging systems.
Clinicians, such as radiologists, often review large image datasets generated by medical imaging systems, such as ultrasound or computerized tomography (CT) imaging systems, to determine patient treatment and/or diagnosis. Image datasets generated by such medical imaging systems can include a large number of sequential image frames, and a number of image frames within an image dataset generated by a medical imaging system may correspond to a length of a scan of a patient and an image capture rate of the medical imaging system. Scans having a longer length or a higher image capture rate may generate an image dataset having a larger number of image frames. Depending on the type of scan being performed, the image dataset may include image frames showing a same anatomical feature of the patient at different times throughout the scan or different anatomical features at different times, such that different portions of the image dataset may provide different information about the anatomy of the patient being imaged.
In one embodiment, a method for a medical image management system comprises: acquiring a medical image dataset and displaying a timeline bar of the medical image dataset via a graphical user interface (GUI) of a display device; adjusting a position of a first key image indicator and a position of a second key image indicator along the timeline bar; generating an image subset from the medical image dataset based on the position of the first key image indicator and the position of the second key image indicator and storing the image subset for replay; and forming a visual indicator of the image subset within the GUI that when selected, displays the image subset.
It should be understood that the brief description above is provided to introduce in simplified form a selection of concepts that are further described in the detailed description. It is not meant to identify key or essential features of the claimed subject matter, the scope of which is defined uniquely by the claims that follow the detailed description. Furthermore, the claimed subject matter is not limited to implementations that solve any disadvantages noted above or in any part of this disclosure.
The present disclosure will be better understood from reading the following description of non-limiting embodiments, with reference to the attached drawings, wherein below:
The following description relates to systems and methods for management of images generated by medical imaging systems. A medical image management system, such as the medical image management system shown by
The medical image management system disclosed herein provides specification and navigation of image subsets (e.g., image ranges or frame ranges) within a medical image dataset (e.g., a series of images). In some examples. some image subsets may overlap each other. As described herein, an overlapping image subset, or frame range, refers to an image subset which includes a key frame included within a frame range of another image subset (e.g., arranged between first and second key frames of another image subset). A nested image subset, or frame range, as described herein refers to an image subset that includes first and second key frames each included within a frame range of another image subset (e.g., first and second key frames of a first, nested image subset are included between first and second key frames of a second image subset).
An image subset, or frame range, may refer to a sequence of one or more images forming a subset of a medical image dataset, or larger image series. The images of the medical image dataset may be acquired sequentially in real time and may be stored to a storage device prior to acquisition by the medical image management system. In the following description, the terms “image” and “frame” may be used interchangeably.
Time series image data may include image sequences from video, or image sequences generated in real time by a medical imaging system, such as a radiological imaging system, ultrasound imaging system, computerized tomography (CT) imaging system, etc. For example, a medical image dataset may include 1000 images acquired sequentially. Responsive to a user input, the medical image management system may generate an image subset having a first key frame corresponding to frame 100 of the medical image dataset and a second key frame corresponding to frame 200 of the medical image dataset. The medical image management system may further generate a second image subset having a first key frame corresponding to frame 150 of the medical image dataset and a second key frame corresponding to frame 250 of the medical image dataset. In this configuration, the first image subset and second image subset overlap (e.g., a frame range of the first image subset at least partially overlaps a frame range of the second image subset). The medical image management system may further generate a third image subset having a first key frame corresponding to frame 120 of the medical image dataset and a second key frame corresponding to frame 180 of the medical image dataset. In this configuration, the third image subset is nested within the first image subset.
Overlapping or nested image subsets (e.g., frame ranges of the medical image dataset) may be represented via visual indicators such as tabs shown by the graphical user interface such that the frame ranges can be easily identified and selectively viewed. The medical image management system displays each new image subset in a separate tab of the graphical user interface. A user may select an image subset (which may be referred to herein as a frame range) of interest via input to the graphical display device, customize the label of the tab of the selected image subset, and view and navigate between various different image subsets generated from the medical image dataset by the medical image management system. The graphical user interface may also include interface elements for navigating image frames of the medical image dataset and image subsets, such as cine controls for playing, fast-forwarding, rewinding, etc. through image frames of the image subsets and/or medical image dataset.
The graphical user interface includes control elements that provide navigation through image subsets and display elements, such as tabs, that sort and display the image subsets. Each image subset includes a range of frames of the medical image dataset, with the range defined by a first key frame (e.g., a starting point in a sequence of images) and a second key frame (e.g., an end point the sequence of images). Two or more of the image subsets may be overlapping and/or nested image subsets.
Additionally, a user may customize the label of the respective tab associated with each image subset such that the user may more easily navigate between the image subsets by selecting the respective tab. Thus, a plurality of image subsets may be sorted to different tabs arranged along a top portion of the GUI, with one image subset associated with each tab, and where each image subset is labeled by the corresponding tab. The user may select a tab in order to view the corresponding image subset associated with the tab. The image subset of a selected tab is displayed in a display panel of the GUI, and cine controls are included for advancing through the image frames of the image subset, skipping to the beginning or end image frames of the image subset, cycling through images in a loop of images of the image subset, etc., as well as other controls as discussed further below.
Referring now to
The medical image dataset (which may be referred to herein as an image series dataset) is received by medical image management system 103. In particular, medical image management system 103 includes a computing device 104 having processors 108, memory 110, and display device 106. The medical image management system 103 receives the medical image dataset from the medical imaging system 102 and may store the medical image dataset in memory 110. In some examples, the medical image management system 103 may be included within the medical imaging system 102. For example, medical image management system 103 may be directly coupled to the medical imaging system 102, and computing device 104 may receive the medical image dataset store the medical image dataset in memory 110 as the medical image dataset is acquired by the medical imaging system 102 (e.g., via a scan of a subject by the medical imaging system 102). However, in the example shown by
The computing device 104 includes processors 108. Processors 108 may include a central processing unit (CPU) 113 and a graphics processing unit (GPU) 115. In some examples, processors 108 may include additional processors not shown by
Image management module 111 is stored within non-transitory memory of memory 110 of the medical image management system 103 and includes one or more image management algorithms for generating image subsets based on the medical image dataset acquired by the medical image management system 103 from medical imaging system 102. Processors 108 may execute image management instructions (e.g., an image management algorithm) stored by image management module 111 and may display an output of the image management algorithm at display device 106. For example, the output of the image management algorithm may include a graphical user interface (GUI) displayed at the display device 106. The processors 108 generate image subsets from the medical image dataset via the instructions stored by the image management module 111 based on user input and the medical image dataset acquired by the medical image management system 103 from the medical imaging system 102.
The display device 106 is configured to display image series data of the image subsets and/or medical image dataset (e.g., for viewing by a user of the medical image management system 103). In some examples, the display device 106 may be configured as a cathode ray tube (CRT) monitor, liquid crystal display (LCD) monitor, or light-emitting diode (LED) monitor. In other examples, such as examples in which the computing device 104 is a mobile (e.g., portable) computing device such as a smart phone, the display device 106 may be a screen of the mobile computing device. In some examples, the display device 106 may be a touchscreen configured to respond to a touch of the user in order to enable the user to interact with the GUI displayed by the display device 106.
The display device 106 is configured to display graphical user interface (GUI) 107, with the GUI 107 configured according to instructions stored in the image management module 111 and executed by the computing device 104 of medical image management system 103. A user may interact with the GUI 107 via a user interface device 109 in order to adjust the display of different image subsets of the medical image dataset which may be of interest for observation (e.g., for diagnosis and/or treatment of a patient). In some examples, the user interface device 109 may be a device such as a keyboard, mouse, trackball, etc. In other examples, the user interface device 109 may be d with the display device 106 as a touchscreen, such that the user may touch the touchscreen in order to interact with the GUI 112.
The GUI 112 may allow a user to view one or more image subsets generated by the medical image management system 103 via the image management module 111 stored in memory 110 of computing device 104. The user may interact with GUI 112 to select an image subset from a plurality of image subsets by selecting a visual indicator, such as a tab, associated with the image subset. A given image subset generated by the medical image management system 103 may be displayed while the tab associated with the image subset is selected, and the image subset may be hidden while the tab is not selected (e.g., during conditions in which a different tab of a different image subset is selected). The user may interact with controls (e.g., graphical buttons) of the GUI 112 via the user interface device 109 in order to view individual frames (e.g., images) of an image subset. For example, the user may provide input to the GUI 112 via the user interface device 109 to view frames of an image subset as an animation (e.g., sequentially, with each frame automatically transitioning to the next frame) or as individual frames (e.g., by moving from one frame to the next frame manually responsive to user input). Each image subset may be generated responsive to user input, where the user selects a beginning key frame (which may be referred to herein as a first key image) and an end key frame (which may be referred to herein as a second key image) of a desired image subset from the medical image dataset, and the medical image management system generates a corresponding image subset based on the beginning key frame and end key frame.
The starting frame (e.g., starting image) of the image subset generated by the medical image management system is the beginning key frame, and the end frame (e.g., end image) is the end key frame. In this configuration, the beginning key frame defines a beginning boundary of the image subset, and the end key frame defines an end boundary of the image subset. The image subset additionally includes each frame (e.g., each image) of the medical image dataset arranged sequentially between the beginning key frame and end key frame (e.g., as acquired sequentially by the medical imaging system 102 during a scan of a subject to form the medical image dataset).
The user may additionally customize a label displayed by the GUI 112 for each image subset generated by the medical image management system 103. As described further below, generating an image subset via the medical image management system 103 additionally generates a visual indicator, such as a tab, associated with the image subset, with the tab including a label indicating a frame number of the beginning key frame and a frame number of the end key frame of the image subset. The GUI 112 may display multiple tabs, and the user may interact with a given tab (e.g., select a given tab) in order to display the image subset associated with the given tab. The user may customize the label of the given tab as desired in order to indicate the anatomy shown in the image frames of the image subset, a scanning time associated with the image frames of the image subset, or other desired information associated with the image subset. One or more of the image subsets may be in an overlapping or nested configuration relative to other image subsets. However, by sorting each image subset to a respective tab, the image subsets (including overlapping and/or nested image subsets) may be more easily navigated by the user of the GUI 112. In this way, user productivity may be increased and image subsets showing anatomical features of interest may be more easily organized for record keeping, storage, patient diagnosis and/or treatment, and/or repeated viewing.
Referring now to
The GUI 200 includes a control panel 230, which may include a plurality of control elements 223 that a user (e.g., a clinician) may interact with to advance or reverse the image displayed by display panel 232 through a range of sequential images. For example, in the configuration shown by
The main tab 202 includes a label 203 indicating an entire frame range of the medical image dataset. For example, a medical image dataset may include a total of 190 frames, and during conditions in which the medical image dataset is loaded to the GUI 200 for viewing by a user at display panel 232, the label 203 correspondingly indicates that frames 1 through 190 are viewable at the display panel 232 (e.g., viewable one frame at a time, or viewable as a replayable animation). In the example shown by
GUI 200 may include an image track 208 (which may be referred to herein as a slider bar or timeline bar), displayed in
First frame number indicator 210 and second frame number indicator 212, positioned at the left and right sides of image track 208, respectively, may indicate the frame number of the frames that define the beginning and end of the frame range shown on image track 208. In particular, first frame number indicator 210 displays the frame number of the first frame of the medical image dataset in
GUI includes cine controls for progressing through the series of images, shown by control elements 223. The control elements 223 may be maintained in the position shown by
Through the features described above, GUI 200 may display time series image data comprising a range of frames, where the total number of frames is represented graphically along the image track, and whereby the user can select and move the frame reference indicator freely along the image track to navigate manually between individual images (e.g., display individual frames as desired at the display panel 232). Further, the user may advance the display of the images through the sequence of the images in real time or manually via the cine control elements 223 (e.g., the play button 224, skip-to-end button 226, skip-to-beginning button 222, etc.) while viewing the individual images in the display panel of the GUI 200. An indication of the total number of images and the image currently being viewed is indicated by both of the visual position of the frame reference indicator 218 along the image track 208 relative to the opposing ends of the image track, and by the frame location identifier 220.
The user may interact with the GUI 200 in order to generate one or more image subsets from the medical image dataset, as described further below. In particular, the user may select first bracket 214 with a user interface device (e.g., a mouse, as described above with reference to user interface device 109 shown by
Referring to
While the user selects and moves the first bracket 214 and the second bracket 216 to generate the image subset shown by
Each time the user interacts with the GUI 200 to generate an additional image subset via the medical image management system, an additional tab associated with the additional image subset is generated and displayed by the GUI 200. The user may select the desired tab to display the image subset associated with the selected tab at the display panel 232. The user may generate a plurality of image subsets from the medical image dataset, and the image subsets are sorted by the associated tabs (e.g., with a first image subset being displayed when a first tab is selected, a second image subset being displayed when a second tab is selected, etc.). In this configuration, the user may more easily navigate various image subsets and/or generate additional image subsets by selecting, moving, and releasing brackets representing image subset key frames on the horizontal image track 208. Further, for a given image subset, the user may adjust the bounds of the image subset (e.g., the frame range of the image subset relative to the medical image dataset) by adjusting the position of the brackets indicating the position of the beginning key frame and end key frame of the image subset. For example, the user may adjust the position of the first bracket 214 in order to increase or decrease the frame range of the image subset associated with tab 302. In some examples, the tab associated with an image subset may be generated at the moment that the user releases a mouse button after moving a bracket to a desired position along image track 208 to indicate a position of a beginning key frame or an end key frame of the image subset. In other examples, the tab associated with the image subset may not be generated until the user has defined both of the beginning key frame and the end key frame of the image subset (e.g., by moving brackets to indicate the position of both of the desired beginning key frame and the desired end key frame along the image track 208). In yet other examples, GUI 200 may include a confirmation button such that the user may generate an additional tab manually using the confirmation button. For example, the GUI 200 may be configured such that the brackets indicating the beginning key frame and end key frame may be repositioned until the confirmation button is selected (e.g., without generating the image subset and associated tab), and responsive to the selection of the confirmation button, the image subset and associated tab are generated by the medical image management system. As another example, the GUI 200 may include a menu including an input for a frame number of a desired beginning key frame, an input for a frame number of a desired end key frame, and the confirmation button, where inputting the frame numbers and selecting the confirmation button may generate the image subset and the associated tab.
Each tab, such as tab 302, may include a respective tab deletion button, such as tab deletion button 310. The user may interact with (e.g., click on via a mouse, touch via a touch screen, etc.) a tab deletion button to delete a tab associated with a corresponding image subset. Deleting the tab via the tab deletion button additionally may clear the image subset (e.g., remove the image subset from the GUI). In the example shown by
During conditions in which the GUI includes more than a threshold number of tabs (e.g., 5 tabs, 6 tabs, etc.), an additional tab indicator 206 may also be displayed, which when selected may open an additional tab menu (e.g., a drop-down menu) of tabs that are generated after the threshold number of tabs has been reached. For example, during conditions in which the threshold number of tabs is 5 tabs but the medical image management system has generated a total of 8 tabs responsive to user input (e.g., corresponding to 8 image subsets), the first, second, third, fourth, and fifth tabs may be displayed along the top portion of the GUI 200 (e.g., along axis 219 shown by
Referring to
Referring to
The image subsets associated with each of the tabs may correspond to different frame ranges of the medical image dataset. In some examples, two of the image subsets may be nested and/or overlap each other, as described above. Tab 502 corresponds to an image subset having a beginning key frame at frame 37 of the medical image dataset and an end key frame at frame 55 of the medical image dataset; tab 504 corresponds to an image subset having a beginning key frame at frame 50 of the medical image dataset and an end key frame at frame 125 of the medical image dataset; and tab 506 corresponds to an image subset having a beginning key frame at frame 129 of the medical image dataset and an end key frame at frame 147 of the medical image dataset. The tab 506 is selected such that the image subset having the beginning key frame at frame 129 of the medical image dataset and the end key frame at frame 147 of the medical image dataset is displayed at the display panel 232 of the GUI 200. Additionally, the image track 208 shows first bracket 514 arranged at the position corresponding to frame number 129 of the medical image dataset along image track 208 (as additionally indicated by first frame number indicator 210) and second bracket 516 arranged at the position corresponding to frame number 147 of the medical image dataset along image track 208 (as additionally indicated by second frame number indicator 212). The frame number of the currently displayed frame of the image subset associated with tab 506 (e.g., frame 144) is indicated at frame location identifier 220. Further, the frame number of the currently displayed frame is indicated graphically by the position of frame reference indicator 218 along the image track 208 (e.g., in relation to the opposing ends of the image track indicating the start and end of the medical image dataset).
Referring to
As described above, some of the image subsets may be in a nested and/or overlapping arrangement relative to each other. For example, the image subset associated with tab 605 is in a nested arrangement with the image subset associated with tab 606 (e.g., due to the image subset associated with tab 606 including the range of image frames between frame 148 of the medical image dataset and frame 165 of the medical image dataset, and the image subset associated with tab 605 including the range of image frames between frame 154 of the medical image dataset and frame 159 of the medical image dataset). In particular, each of the image frames included by the image subset associated with the tab 605 are also included by the image subset associated with the tab 606. The image subset associated with tab 606 includes a larger, first range of image frames of the medical image dataset, the image subset associated with tab 605 includes a smaller, second range of image frames of the medical image dataset, and the second range of image frames is nested within the first range of image frames as described above (e.g., the second range is included entirely within the first range, such that the first range includes each of the image frames of the second range and further includes additional image frames outside of the second range). Further, the image subset associated with tab 504 is in an overlapping arrangement with the image subset associated with the tab 502. In particular, the image subset associated with tab 504 and the image subset associated with tab 502 each include the image frames 50-55 of the medical image dataset. In this configuration, the image frames 50-55 of the medical image dataset may be viewed by the user during conditions in which either of the tab 502 or the tab 504 is selected. However, the image subset associated with tab 504 does not include image frames 37-49 of the medical image dataset (which are included by the image subset associated with tab 502), and the image subset associated with tab 502 does not include the image frames 56-125 of the medical image dataset (which are included by the image subset associated with tab 504).
In some examples, as shown by
Referring to
At 702, a medical image dataset is acquired from a medical imaging system at the medical image management system. The medical imaging system may be the medical imaging system 102 described above with reference to
At 704, an image subset is generated from the medical image dataset via the medical image management system based on user input. For example, as described above, the medical image management system may display the medical image dataset at a display device via a graphical user interface (GUI), and the user of the medical image management system may interact with the GUI (e.g., input selections to the GUI via the user interface device) in order to define parameters of the image subset generated by the medical image management system. The display device may be similar to (or the same as) the display device 106 shown by
Generating the image subset may include, at 706, determining a beginning key frame and an end key frame of the image subset from the medical image dataset based on user input. For example, the user may input, via the user interface device (e.g., similar to user interface device 109 described above with reference to
As one example, selecting the beginning key frame may include selecting and moving a first bracket (e.g., first bracket 214 described above) from a first end of a slider bar (e.g., image track 208 described above) to a desired beginning image frame of the image subset, where different locations along the slider bar correspond to different image frames of the medical image dataset. As the user moves the first bracket along the slider bar, a frame number corresponding to the position of the first bracket along the slider bar may be displayed by the GUI for each of the different locations, and the user may release the first bracket (e.g., deselect the first bracket by releasing a button of the user interface device, such as a mouse button) at the desired location in order to define the beginning key frame (e.g., define the image frame of the medical image dataset that forms the beginning key frame of the image subset). The beginning key frame is an image frame that is selected from the plurality of image frames of the medical image dataset (e.g., the total amount of image frames of the medical image dataset) as described above. For example, the user may move the first bracket as described above to a location along the slider bar that corresponds to the fortieth image frame (e.g., image frame number 40) of the medical image dataset and may release (e.g., deselect) the first bracket at the location corresponding to the fortieth image frame in order to define the fortieth image frame as the beginning key frame of the image subset.
Selecting the end key frame may include selecting and moving a second bracket (e.g., second bracket 216 described above) from an opposing, second end of the slider bar to a desired end image frame of the image subset. As the user moves the second bracket along the slider bar, a frame number corresponding to the position of the second bracket along the slider bar may be displayed by the GUI for each of the different locations, and the user may release the second bracket at the desired location in order to define the end key frame (e.g., define the image frame of the medical image dataset that forms the end key frame of the image subset). The end key frame is an image frame that is selected from the plurality of image frames of the medical image dataset (e.g., the total amount of image frames of the medical image dataset) as described above. For example, the user may move the second bracket as described above to a location along the slider bar that corresponds to the sixtieth image frame (e.g., image frame number 60) of the medical image dataset and may release (e.g., deselect) the second bracket at the location corresponding to the sixtieth image frame in order to define the sixtieth image frame as the end key frame of the image subset.
Generating the image subset may further include, at 708, forming the image subset from the beginning key frame, the end key frame, and each image frame of the medical image dataset between the beginning key frame and the end key frame. For example, during conditions in which one or more image frames are arranged sequentially between the image frame of the medical image dataset defined as the beginning key frame of the image subset and the image frame of the medical image dataset defined as the end key frame of the image subset, each image frame between the beginning key frame and the end key frame is included by the image subset.
According to the example described above with reference to 706, the fortieth image frame of the medical image dataset may be selected as the beginning key frame of the image subset, and the sixtieth image frame of the medical image dataset may be selected as the end key frame of the image subset. During these conditions, the image subset is generated to include the fortieth image frame of the medical image dataset as the beginning key frame and the sixtieth image frame of the medical image dataset as the end key frame, and the forty-first image frame, the forty-second image frame, the forty-third image frame, and each other image frame of the medical image dataset arranged sequentially between the fortieth image and the sixtieth image frame is additionally included by the image subset. In this example, the image subset includes the fortieth image frame of the medical image dataset, the sixtieth image frame of the medical image dataset, and each image frame of the medical image dataset therebetween. Although the fortieth image frame and sixtieth image frame are provided as examples of the beginning key frame and end key frame, in other examples the beginning key frame and end key frame may correspond to different image frames of the medical image dataset (e.g., with the beginning key frame being the twentieth image frame and the end key frame being the thirtieth image frame, with the beginning key frame being the ninetieth image frame and the end key frame being the one hundred and thirtieth image frame, etc.).
At 712, the image subset is sorted to a visual indicator of the GUI and the visual indicator is displayed at the display device via the GUI. The visual indicator may be a tab, at least in some examples. For example, as described above, during conditions in which the image subset is generated by the medical image management system responsive to user input (e.g., defining the beginning key frame and end key frame as described above), the medical image management system further generates a visual indicator, such as a tab, associated with the image subset and displays the tab within the GUI (e.g., similar to tab 302 described above with reference to
Sorting the image subset to the tab of the GUI and displaying the tab at the display device via the GUI may include, at 714, displaying image frames of the image subset at the display device via the GUI. For example, during conditions in which the tab is selected by the user (e.g., selected via input from the user interface device), image frames included by the image subset may be displayed at a display panel of the GUI (e.g., displayed at viewport 234 of display panel 232 described above with reference to
At 718, the image subset may optionally be output to a storage device or network. For example, the image frames included by the image subset may be saved to storage media (e.g., a hard drive) of the medical image management system for later use by the user (e.g., for repeated viewing, for display during patient consultation, etc.). The image frames included by the image subset may additionally or alternately be output (e.g., transmitted) to a network (e.g., network 105 shown by
By configuring the medical image management system according to the examples described above, the medical image management system may generate a plurality of image subsets responsive to user input, and the user may navigate between the image subsets via the tabs displayed by the GUI. The respective label of each respective tab may be customized by the user to further distinguish each tab from each other tab. As a result, the user may more quickly and easily view desired portions of interest of the medical image dataset, and productivity may be increased.
The technical effect of generating an image subset from the medical image dataset and sorting the image subset to a respective tab of the GUI is to display the image subset separately from the medical image dataset and increase an ease of navigation of the GUI.
As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural of said elements or steps, unless such exclusion is explicitly stated. Furthermore, references to “one embodiment” of the present invention are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features. Moreover, unless explicitly stated to the contrary, embodiments “comprising,” “including,” or “having” an element or a plurality of elements having a particular property may include additional such elements not having that property. The terms “including” and “in which” are used as the plain-language equivalents of the respective terms “comprising” and “wherein.” Moreover, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements or a particular positional order on their objects.
This written description uses examples to disclose the invention, including the best mode, and also to enable a person of ordinary skill in the relevant art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those of ordinary skill in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.