Automatic ultrasound feature detection

Information

  • Patent Grant
  • 11832991
  • Patent Number
    11,832,991
  • Date Filed
    Monday, August 23, 2021
    3 years ago
  • Date Issued
    Tuesday, December 5, 2023
    a year ago
Abstract
Systems and methods for detecting features in ultrasound images and delineating boundaries that representative of the detected features. A method can include determining a boundary of a feature in a displayed ultrasound image, determining a closed polygon that represents the feature based on the boundary, and determining information of the feature using the dimensions of the closed polygon. The ultrasound image and graphical representations of the feature (e.g., the boundary, the closed polygon) can be displayed in a user interface on a touch screen display. The method can include receiving user input indicative of a location of the feature, and adjusting the feature boundary and closed polygon based on user input. The method can also include determining an area and/or a perimeter of the feature based on the closed polygon.
Description
BACKGROUND OF THE INVENTION
Field

This disclosure relates to detecting an object in an image. Specifically, this disclosure relates to detecting a feature in an ultrasound image.


Description of the Related Art

Ultrasound imaging is used in the diagnosis, screening, and treatment of a variety of diseases and conditions. An ultrasound image is created by transmitting sound waves into the body and then interpreting the intensity of the reflected echoes. The echoes are commonly used to produce two dimensional, three-dimensional, and color flow images of internal anatomical objects of patients.


When an object of interest is identified in an ultrasound image (a “target object” or “feature”), information about the feature can be collected and used for further analysis, for example, in a protocol. The information about the feature may include the area of the feature and/or the perimeter of the feature, and other characteristics determinable from the ultrasound image. Although some tools may be available to help the user estimate information about the feature, it would be advantageous for the ultrasound system to have functionality that would automatically determine information about the feature, or determine information about the feature with minimal user interaction/input.


SUMMARY

Provided herein is a system and method for determining information about features of interest in ultrasound images, either automatically or with minimal user interaction. Two methods of identifying features in ultrasound images are (i) drawing an ellipse of the approximate size of a feature, and (ii) drawing a free form polygon to approximate the feature. Automatically detecting the shape of the feature can be done by providing an input indicative of the location, or a shape around the location, of a feature (for example, an ellipse or free form polygon around the feature), and then filtering pixels in the proximity of the indicating location, or inside the drawn shape, to determine the feature boundary. The feature determination can be at least partially based on pixel brightness on the displayed ultrasound image that contains the feature. In some embodiments, user controls allow the feature to be expanded/contracted by adjusting the brightness, contrast, or another image processing control (e.g., histogram equalization). In various embodiments, both dark features and bright features can be detected. After boundary of the feature has been determined, information relating to the dimensions of the feature may be calculated based on the boundary for example, two important values that can be determined based on the feature boundary area and perimeter. In some embodiments, the volume of the feature may also be determined (or estimated). The boundary of the feature may be smoothed before information of the feature is calculated, for example, by using cubic splines and/or by removing points on the boundary.


One innovation is a method of detecting features in ultrasound images and determining a graphical representation of the feature that can be used to determine information about the feature, the method including determining a boundary of a feature in a displayed ultrasound image, determining a closed polygon that represents the feature based on the boundary, and determining information of the feature using the dimensions of the closed polygon, wherein the method is performed by one or more computer hardware processors configured to execute computer-executable instructions stored on a non-transitory computer storage medium.


In various embodiments, the method may include one or more other features, as indicated in the following non-limiting examples. For example, a method may further include receiving user input indicative of a location of the feature, wherein determining the boundary is based on the user input. A method may further include receiving the user input indicative of the location of the feature comprises receiving a signal from a touchscreen display, that is displaying the ultrasound image, as a result of a user touch of the touchscreen. Receiving the user input indicative of the location of the feature can include receiving a signal from one of a mouse, trackball, or a keyboard. A method may further include performing automatic feature detection on the ultrasound image to determine a location of the feature, wherein determining the boundary is based on the determined location. The automatic feature detection can be at least partially based on intensity of pixels in the ultrasound image. A method may further include adjusting the feature boundary by changing at least one of brightness or contrast of the displayed ultrasound image. A method may further include adjusting a portion of the boundary, based on user input, to form an adjusted boundary, and wherein determining the closed polygon that represents the feature is based on the adjusted boundary. In some methods, adjusting a portion of the boundary, based on user input comprises receiving a signal, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjusting a portion of the boundary adjacent to the point to move the boundary away from the point. In some methods, adjusting a portion of the boundary, based on user input comprises receiving a signal, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjusting a portion of the boundary adjacent to the point to move the boundary towards from the point. A method may further include editing the polygon. In some methods, editing the polygon comprises receiving user input indicating a first point of the polygon and a second point of the polygon, defining a new line between the first point and the second point, and replacing the portion of the polygon between the first and second point with the new line between the first and second point. A method may further include smoothing the feature boundary. In some methods the boundary is smoothed using cubic splines or by removing points of the boundary. In method may further include smoothing the closed polygon. In some methods, the closed polygon is smoothed using cubic splines or by removing points of the polygon. In some methods, determining information of the feature using the dimensions of the closed polygon comprises determining one or more of the area of the closed polygon, the perimeter of the closed polygon, or the volume of the closed polygon. A method may further include generating a feature detection user interface comprising the ultrasound image and graphical representations, the graphical representations comprising the boundary and the closed polygon, and causing presentation of the feature detection user interface on a touchscreen display.


Another innovation is a system for detecting features and ultrasound image. The feature may be identified by a user input indicating the feature on a portion of a displayed ultrasound image on a touchscreen display interface. A feature location may be indicated by a user selecting a point on the image that is contained in the feature, or by indicating an area on the image surrounding the feature. For example, by indicting a minimum bounding rectangle around the feature, by indicating a circle or an ellipse around the feature, or by indicating the edges of the feature (e.g., drawing a polygon that approximates edges of the feature). Once the location of the feature has been indicated, the process may perform automatic feature detection to generate a graphical representation of the shape (or boundary) of the feature, and display the representation overlaid on the ultrasound image that contains the feature. A user may examine the feature boundary and adjust the boundary to better represent the feature in the ultrasound image. The process may convert the boundary to polygon, and provide functionality to a user to allow the user to edit the polygon to match the area and/or the perimeter of the feature. In one example, such a system can include an ultrasound probe, an ultrasound processing system including a wireless network communication interface connecting the ultrasound probe to the processing for receiving ultrasound data from the ultrasound probe and for providing control information to the ultrasound probe, a first non-transitory computer storage medium configured to store ultrasound data provided by the ultrasound probe, second non-transitory computer storage medium configured to at least store computer-executable instructions, and one or more computer hardware processors in communication with the second non-transitory computer storage medium. The one or more computer hardware processors configured to execute the computer-executable instructions to at least receive user input indicative of a location of the feature, generate a feature detection user interface, the feature detection user interface comprising the ultrasound image and one or more graphical representations of the feature, and cause presentation of the feature detection user interface on a touchscreen display, determine a boundary of a feature in a displayed ultrasound image based on the user input, adjust the feature boundary based on user input indicative of moving a portion of the boundary, determine a closed polygon that represents the feature based on the boundary, edit the closed polygon based on user input indicating a first point of the polygon and a second point of the polygon, the first and second point defining a new line between the first point and the second point to replace the portion of the polygon between the first and second point with the new line between the first and second point, and determine information of the feature using the dimensions of the closed polygon.


In various embodiments, the system may include one or more other features, as indicated in the following non-limiting examples. In one example of such systems, the determined information comprises at least one of the area of the closed polygon, the perimeter of the closed polygon, or the volume of the closed polygon. Receiving user input indicative of the location of the feature can include receiving a signal from a touchscreen display, that is displaying the ultrasound image, as a result of a user touch of the touchscreen. Receiving the user input indicative of the location of the feature can include receiving a signal from one of a mouse, trackball, or a keyboard. A system can be further configured such that the one or more computer hardware processors are further configured to execute the computer-executable instructions to perform automatic feature detection on the ultrasound image, based on the user input, to determine a location of the feature, wherein the boundary is based on the determined location. The automatic feature detection can be at least partially based on intensity of pixels in the ultrasound image. The one or more computer hardware processors can be further configured to adjust the feature boundary by changing at least one of brightness or contrast of the displayed ultrasound image. The one or more computer hardware processors can be further configured to adjust a portion of the boundary, based on user input, to form an adjusted boundary, and the determined closed polygon is based on the adjusted boundary. The one or more computer hardware processors can be further configured to adjust a portion of the boundary based on user input, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjust a portion of the boundary adjacent to the point to move the boundary away from the point. The one or more computer hardware processors can be further configured to adjust a portion of the boundary based on user input, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjust a portion of the boundary adjacent to the point to move the boundary towards the point. In some systems, the one or more computer hardware processors are further configured to edit the polygon based on user input. In some systems the one or more computer hardware processors are further configured to receive user input indicating a first point of the polygon and a second point of the polygon, define a new line between the first point and the second point, and replace the portion of the polygon between the first and second point with the new line between the first and second point. In some systems, the one or more computer hardware processors are further configured to smooth the feature boundary. The one or more computer hardware processors can be further configured to smooth the boundary using cubic splines or by removing points of the boundary. In some systems, the one or more computer hardware processors are further configured to smooth the closed polygon. In some systems, the one or more computer hardware processors are further configured to smooth the closed polygon using cubic splines or by removing points of the polygon.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram illustrating an example of an ultrasound system that can be used to perform automatic feature extraction on ultrasound images.



FIG. 2 is a flow chart that illustrates an example of a process for performing feature extraction, which can be performed on the ultrasound system illustrated in FIG. 1.



FIG. 3 is a diagram illustrating an example of a graphical user interface (GUI) that can be generated on a touch screen display, the GUI having panels that include tools for feature detection and extraction of a target feature.



FIG. 4 illustrates an example of a displayed ultrasound image depicting an example of a target feature.



FIG. 5 illustrates the ultrasound image depicting the target feature, and a graphic on the image of an example of a shape drawn around the target feature.



FIG. 6 illustrates the ultrasound image depicting the target feature, and a graphic on the image of an automatically generated boundary of the target feature.



FIG. 7 illustrates the ultrasound image depicting the target feature, and graphics on the image of an automatically generated boundary of the target feature and an indicated location adjust a portion of the boundary.



FIG. 8 illustrates the ultrasound image depicting the target feature, and a graphic on the image of a generated polygon based on the adjusted boundary.



FIG. 9 illustrates the ultrasound image depicting the target feature, and a graphic on the image of illustrating editing of the polygon shown in FIG. 8.



FIG. 10 illustrates the ultrasound image depicting the target feature, and a graphic on the image of illustrating a finalized polygon representing the target feature, which can be used to determine the area and perimeter of the target feature.



FIG. 11 is a block diagram illustrating an example of an ultrasound system that is adapted to perform functionality described herein.





DETAILED DESCRIPTION

Overview


Embodiments of systems and methods for performing feature detection are disclosed herein. A software application provides a user interface for selecting, visualizing, and interacting with ultrasound images, including detecting features in an ultrasound image, and determining information relating to the features. For example, a method may include determining a boundary of a feature in a displayed ultrasound image, determining a closed polygon that represents the feature based on the boundary, and determining information of the feature using the dimensions of the closed polygon. The method may also include adjusting the boundary of the feature, and/adjusting the closed polygon that represents a boundary of the feature.


To identify location of feature in an ultrasound image, the user may use a touchscreen display is displaying the ultrasound image containing the feature, to indicate an area in the ultrasound image where the feature located. For example, by drawing an ellipse or a minimum body rectangle around a portion of the ultrasound image containing the feature. Based on pixel intensity and image processing techniques, initial boundary of the feature may be determined and displayed to the user on the touchscreen display. The user may adjust the initial boundary to better represent the boundaries of the feature. For example, the user may move the boundary, or adjust the image such that the system can better determine the boundary of the feature. A closed polygon representative of the boundaries of the feature can be generated, and the closed polygon may be further adjusted by a user, if necessary. When the user satisfied with the polygon has been representative of the feature, the polygon can be used to determine the area and the perimeter of the feature, and this information may be saved, for example, in association with a visual protocol been performed or another analysis that the user is performing.


Terms

In order to facilitate an understanding of the systems and methods discussed herein, a number of terms are defined below. The terms defined below, as well as other terms used herein, should be construed to include the provided definitions, the ordinary and customary meaning of the terms, and/or any other implied meaning for the respective terms. Thus, the definitions below do not limit the meaning of these terms, but only provide exemplary definitions.


“Database” in this context refers to an organized collection of data (states of matter representing values, symbols, or control signals to device logic), structured typically into tables that comprise ‘rows’ and ‘columns.’


“Final Report” in this context refers to the final product of an ultrasound scan including written documentation of the imaging findings and an impression or diagnosis based on those findings.


“Graphical representation” in this context refers to a stylized drawing of the body part being scanned.


A “loop”, “cineloop”, “time-lapse”, or “video loop” in this context may be used interchangeably to refer to a time series of images. In some embodiments, a 4D image may be a time-lapse of 3D image(s). In other embodiments, individual frames can be sequenced to form a video loop.


“Module” in this context refers to logic having boundaries defined by function or subroutine calls, branch points, application program interfaces, or other technologies that provide for the partitioning or modularization of particular processing or control functions. Modules are typically combined via their interfaces with other modules to carry out a machine process.


“Protocol” in this context refers to a written outline, checklist, or worksheet that list images and measurements that should be acquired during the specified ultrasound examination.


“Reader” in this context refers to the person interpreting the ultrasound scan.


A “scanner” or “ultrasound device” in this context refers to a device for performing ultrasound imaging (sonography), which uses high-frequency sound waves to examine an object. The device may comprise an ultrasonic transducer or an ultrasonic transducer array used to probe the object. Transducers may be part of a sequential array in which the acoustic beam is focused straight in front of the transducer, providing high sensitivity but a limited field of view, or a phased array in which each transducer sends an acoustic beam in a coordinated sequence, establishing a pattern of constructive interference that results in a beam at a set angle, allowing for a wider field of view. Phased array transducers may comprise multiple transducer elements which may be arranged in a variety of shapes including a strip (linear array), a ring (annular array), a circular matrix (circular array), conformal array, curved, or a more complex shape. A “scanner” used herein may be hand-held or portable.


“Ultrasound study” in this context refers to a diagnostic procedure performed by a sonographer that uses two-dimensional images produced by inaudible sound waves to evaluate an anatomical feature.


“User” in this context refers to the person performing an ultrasound scan. “Reader” in this context refers to the person interpreting an ultrasound scan. A “sonographer” may both perform and interpret an ultrasound scan.


“Scan plane” in this context refers to the orientation of the ultrasound probe relative to the part being scanned.


When 3D imaging is available, ultrasound viewing and saving may include three modes: scanning, frozen, and review. “Scanning” in this context refers to showing images directly from the scanner (e.g., the ultrasound device). “Frozen” in this context refers to showing the last N seconds of images from the scanner. “Review” in this context refers to showing images that are explicitly saved.


A “frame” in this context is for specifying the space and time aspect of an image. In other words, a frame is the image at a given position with respect to the time the image was taken. In some embodiments, a “frame” may be a 2D image. In other embodiments, when a user is performing the 3D imaging mode via an ultrasound device, a “frame” may additionally cover each image taken by the ultrasound device in that same instance.


“Scan plane” in this context refers to the orientation of the ultrasound probe relative to the part being scanned.


“Structured labels” in this context refers to a list of labels used for a specific exam type in which the labels are automatically presented in a set order.


“Slices”: Bundled images in frozen and review modes are called a “capture” and there are four types of capture: 2D image, 2D series (cineloop), 3D image, and 3D series (3D cineloop). The information (or image data) that constitute ultrasound 3D image captures are called “slices”. A “slice” in this context may be a thin 3D composite image formed from a collection of 2D images.


A “thick slice mode” in this context refers to a 3D image taken by an ultrasonic transducer array. A “tomography” in this context refers to a time series of 2D or 3D images taken by an ultrasonic transducer array is in motion relative to the object being scanned.


“Touch screen” in this context refers to a capacitive or resistive display which responds to direct touch manipulation, either by finger (simple or multi-touch), stylus, or both. The user can use the touch-screen to react to what is displayed and to control how it is displayed. The touch-screen enables the user to interact directly with information displayed rather than using a mouse, touchpad, or other intermediate device (with the exception of a stylus).


“Ultrasound study” in this context refers to a diagnostic procedure performed by a sonographer that uses two-dimensional images produced by inaudible sound waves to evaluate an anatomical feature.


“User” in this context refers to the person actually performing the ultrasound scan.


“Visual Protocol” in this context refers to a protocol that is displayed on a display screen of a computer system, and that is updated based on a user's interactions. The visual protocol can associate a protocol checklist with a diagram of a scan map (a diagram of the scanned body part). The visual protocol can also associate the protocol checklist with a textual list of annotations for the image and a series of thumbnail images (a “gallery”), where each of the thumbnail images is associated with a full-size ultrasound image that can be when the thumbnail image is selected. The visual protocol can also associate the protocol checklist with measurements that are to be acquired during the specified ultrasound examination.


“Word bank” in this context refers to a list of context-specific labels which are commonly used for a specific scan type or body part.


“Worksheet” in this context refers to a generated document comprising patient information, scan information, and images and written findings from the ultrasound.


Data Representation


In some embodiments, the data representation of a scanned image may be able to represent all the needed fields to both display and to signify the exact display variant the renderer should use. Additionally, the data format may be flexible enough to allow for transformations to other supported display variants if possible.


The data implementation may represent a single slice or a single frame, or captures which are collections of images along with other properties. Checking the contents of captures allows for explicitly knowing the type of scan and variant needed to display. Knowing this type then specifies all actions that can be taken on the capture, as well as directing the display renderer how it should render the image data.


An image may be a single frame or a single slice. In some embodiments, image data that is saved to the database for an individual image may include the following immutable fields:

    • (1) Raw pixel data for what was imaged.
    • (2) Depth details to specify constraint of bottom of image. The depth refers to a 2D image's y-axis which corresponds to how deep the scanner is imaging.
    • (3) Timestamp to have relative timing information relative to other image data
    • (4) Relative position data in x, y, and z directions.
    • (5) Relative angle position data in x, y, and z directions.
    • (6) Relative slice position and total number of slices for beamformed 3D image if applicable.


Bundled images in frozen and review modes are called a capture. A capture may be a 2D image, a 2D series (cineloop), a 3D image, or a 3D series (3D cineloop). A capture may include multiple frames and/or slices, where the multiple frames may include images that are changing in time, and multiple slices may include images that are changing spatially. A capture may be the full collection of the images taken over both time and space. Different capture types represent different display variants, including:


A “frame”, which is a single image at a given time point.


A “loop”, which include multiple images focused on essentially the same spatial area but changing in time.


A “slice”, which includes images of a spatial range near a spatial position. Multiple slices are used to create a 3D image.


A “2D time-lapse” or a 3D “time-lapse”, which includes images taken in the same location over a time range.


A “thick slice”, which includes images taken in 3D mode in a stable location with a given spatial and time sampling rate.


A “tomography”, which includes images taken while traversing (moving the scanning probe) a region that is both time and spatially variant.


A “loop”, which is a time series of data. The spatial information can be rendered in 3D or as a 2D plane. As each image data has time and spatial information, projections between the different dimensions can be made.


Example System



FIG. 1 is a block diagram illustrating an example of an ultrasound system 10 for processing and analyzing ultrasound images, including feature extraction. For example, the ultrasound system 10 can be used to complete a visual protocol. The ultrasound system 10 can also be used to detect a feature in an ultrasound image, generate graphical representations of a feature, and determine information about the feature. The functionality described in FIGS. 2-10 relating to feature detection and generating graphical representations of features found in ultrasound images may be included as a tool, or a set of tools, in a system that is configured to complete the visual protocol. For example, when performing a visual protocol on a patient, feature detection functionality may be used to detect the boundaries of a feature, generate graphical representation of the feature, and determine information about the feature (e.g., the area, perimeter, and/or volume of the feature).


The ultrasound system 10 includes an ultrasound probe 105 that communicates with a processing system 110. The ultrasound probe 105 can be a handheld ultrasound device that comprises a transducer array configured to transmit an ultrasound signal to a target object, receive an ultrasound echo signal reflected from the target object, and form ultrasound data corresponding to the target object. The processing system 110 can be any type of computer device (e.g., a desktop computer, a tablet, a laptop, or another mobile device) that is suitably configured to perform visual protocols. The ultrasound probe 105 can be controlled by the processing system 110 to provide ultrasound images to the processing system 110.


The processing system 110 can include a display/touchscreen interface 112 (“interface”) that can display a visual protocol, ultrasound images, measurement information and other information related to the visual protocol in one or more panels 123, 125, and 127. In some preferred embodiments, the display screen and the user interface are implemented together such that most, or all, of the controls to complete the visual protocol are available on the interface 112, but some systems may have a separate display and interface. The interface can be any type of a flat screen, LED screen, electroluminescent display, organic LED, LCD, virtual display and the like that can display information and receive input from a user in the directly to the display or to another device that is in communication with the display. The processing system 110 may also include voice recognition to manipulate information and/or images on the interface 112. In various embodiments, controls that allow a user to perform feature detection may be employed in any panel on the interface 112. In some embodiments, the interface 112 includes a control that when invoked by user input, causes the display of feature detection tools.


The interface 112 may present information in a variety of ways. In some embodiments, the interface 112 is divided into a plurality of panels (or sectors) 123, 125, and 127 in any order, each of which may contain one or more of: a visual protocol, patient information, an active ultrasound image being currently acquired from a machine transformation of an ultrasound reading in process (active scan), thumbnails of ultrasound images from the current exam, and thumbnails of recorded images from a previous exam. In some embodiments, the thumbnails may be presented in chronological order. In other embodiments, the thumbnails may be presented in an order chosen by the user. Each thumbnail image may be expanded, moved, or removed as desired using gestures on the user interface. In some embodiments, the thumbnails may be stacked one on top of each other with the most recent scan on top. In other embodiments, thumbnails may be presented in discrete rows. Thumbnails may be labeled with the date and time of the scan as well as any other relevant label or descriptive information including, but not limited to, patient information, scan location, scan date, scan plane, anatomical subject of the scan, presence or absence of lesions, purpose of the scan, measurements of lesions, number of lesions and the like. As described in more detail in reference to FIG. 3, the interface 112 can display information related to a visual protocol or feature detection being performed and receive user input via its touchscreen functionality, or other input devices (e.g., keyboard, mouse, and the like) that are in communication with the processing system 110.


Performing a visual protocol and/or feature detection may generally include, for example, selecting a visual protocol to perform, associating the visual protocol and the ultrasound images with a patient, and receiving ultrasound images from the ultrasound probe 105. Performing the visual protocol may also include recording, associating, measuring comparing, labeling, reporting and/or documenting information (features) in images received from the ultrasound probe 105. The plurality of panels 123, 125, and 127 on the interface 112 allow for the display of the visual protocol, interaction with one or more ultrasound images and graphical representations, and measurement of objects depicted in ultrasound images. The processing system 110 may include various modules to facilitate the completion of the feature extraction. For example, the processing system 10 may include a measurement module activated by the user interface to determine appropriate measurements of a feature in a displayed ultrasound image (e.g., of an objected visible in an ultrasound image) and to generate a graphical representation of the measurement on a target object. The processing system 110 may also include a labeling module activated by the user interface to add the appropriate labels to the active ultrasound image and to a graphical representation of the target object. The processing system 110 may include a computer visualization application operated via the user interface for the display of the visual protocol, ultrasound images associated with the visual protocol, and measurements and labels associated with the visual protocol.


The processing system 110 may store information that is used to perform feature extraction and visual protocols. For example, the processing system 110 may store one or more of visual protocols 111, patient information 117, scan maps 113, ultrasound images 115 (e.g., that are either generated during the exam or are from previous exams), and completed patient protocols 119. In some embodiments, one or more of the visual protocols, scan maps, patient information, ultrasound images, and completed patient protocols are stored on a system that is in communication with the processing system 110 via a network link 125. For example, because of the potentially large size of the images that may be collected while performing a visual protocol, at least some of the ultrasound images that are collected may be stored on a high-speed computer storage device is in communication with the processing system 110 via the network link 125. The processing system 110 may also include one or more output devices 150 that can be used to, for example, generate a report or provide the visual protocol “package” having information and images that is stored and subsequently used for further analysis of a patient.


The visual protocols 111 may include information that is required to complete a particular visual protocol. For example, a list of steps to complete, images of certain anatomy that are needed, features to detect, measurements that are needed, and criteria (e.g., size) relating to objects in the ultrasound images that indicate that additional information images or steps are needed if the objects meet the particular criteria. Steps of a visual protocol can be displayed on the interface 112, a step can be selected, and information (e.g., images, measurements, annotations) needed to complete the step is displayed. A user can then quickly and efficiently provide input to the interface 112 to display and indicate to associate one or more images with the step, perform measurements required for the step, and provide annotations as required by each step of the visual protocol.


As mentioned above, the interface 112 may be a combination display and touch screen that allows the user to manipulate the images on the display. Touch-screen based computers comprise computer assemblies combining an internal computer processor and touch sensitive digital display screen. The display and the computer's ability to monitor the positions and motions of finger touches on the touch-screen are coordinated such that finger contact locations can be correlated by the computer with the information displayed at those locations. A variety of gestures may be used to interact with the interface 112, including, but not limited to, touching, swiping, double tap, multiple finger taps, pinch, multi-touch, radio buttons and the like. A processor is coupled to the touch-screen for detecting a touch by the user on the touch-screen that identifies a selected activation area. The processor then performs the device function associated with the stored image manipulation function thereby activating the selected activation area. In some embodiments, the user may interact with the interface 112 through voice recognition, a stylus, keyboard, mouse, virtual reality headset, hand gestures in the air, any other way generally used to interact with a user interface, or a combination thereof. In some embodiments, controls on the ultrasound probe 105 may be used to input information onto either or both the interface 112.


The interface 112 can be divided into a plurality of control panels including, but not limited to, a proportionate graphical representation of the anatomical part being scanned, a scale or other measuring apparatus, a track pad, a series of one or more virtual controls such as buttons or radio buttons, word bank, structured label bank, tabbed drop down menus, virtual keyboard, active ultrasound image, virtual trackpad, virtual depth and focus sliders, virtual cine slider, and virtual time gain compensation sliders that can be used for feature detection. In some embodiments, the number and arrangement of control panels may be altered to suit the needs of the user. For example, during a scan, it may be desirable to have an extended display of one or more of the control panels. In some embodiments, there may be one control panels. In other embodiments, there may be 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 or more control panels. Activation of each panel on the interface 112 may perform a function on interface 112 and can manipulate information on the interface 112.



FIG. 2 is a flow chart that illustrates an example of a process 200 for performing feature extraction on an ultrasound image, which can be performed on the ultrasound system illustrated in FIG. 1. The process 200 may include additional actions, in some embodiments fewer actions than is shown in the flowchart. At the beginning of the process 200, an ultrasound image can be displayed in a GUI on a touch screen interface, for example, the GUI illustrated in FIG. 3. At block 202, a feature in the ultrasound image can be identified. As an example, FIG. 4 illustrates an example of an ultrasound image that may be displayed on a touchscreen display that includes a target feature 360. In some embodiments, the system can suggest the presence of a feature using an automatic feature detection process. The system may also receive an input from a user of a point where the feature is located to identify the feature. For example, an input from a touchscreen indicating a point on the image where the feature is located. The system may also receive an input from a user of a portion of the image with the feature is located. For example, an input from a touchscreen indicating an area of the image in which the feature is located, the area having a free-form shape, or the shape of a circle, ellipse, a rectangle, or any other shape. FIG. 5 illustrates feature 360 having a shape 502 drawn around the feature 360 such that the feature 360 is within the shape 502.


At block 204, feature detection may be invoked to detect a feature based on the user input, and a graphical representation of an initial boundary of the feature may be generated. The feature detection methods used may include techniques of at detecting regions in an ultrasound image that differ in properties (e.g., pixel intensity), compared to surrounding regions. For example, the feature detection can be use one or more or intensity thresholding, Laplacian of the Gaussian, Informally, a feature is a region of an ultrasound image in which some properties are constant or approximately constant within a certain threshold or based on certain criteria. In other words, all the points in a feature can be considered in some sense to be similar to each other. FIG. 6 illustrates an initial boundary 602 that feature detection is generated around feature 360. At block 206, the initial boundary of the feature may be presented on the display for examination by the user to determine if the initial boundary is a satisfactory representation of the feature seen in the ultrasound image. At block 208, the user can adjust boundary 602 to be larger or smaller using a boundary adjustment control feature.


One example of adjusting a boundary as illustrated in FIG. 7, where a user can provides input at a touchpoint 704, on the touchscreen displaying the ultrasound image, and the boundary 602 (FIG. 6) is moved away from, or towards the touchpoint. Here, touchpoint 704 causes a portion of the boundary 602 that is adjacent to the touchpoint 704 to move away from the location of the touchpoint 704 to form adjusted boundary 702. By providing similar input touchpoints on the touchscreen around the outside of boundary 602, the user can move boundary 602 “inward” away from the touchpoints. This can be done, for example, to form a better representation of the feature 360 when the boundary 602 extended past the perceived edge of the feature 360. Similarly, by providing inputs on the touchscreen around the inside of boundary 602, the user moves boundary 602 “outward” away from the touchpoints, expanding the size of the feature 360 to form adjusted boundary 702. This can be done to form a better representation of the feature 360 when the boundary 602 is inside the perceived edge of the feature 360. Alternatively, a similar process may be used to adjust the initial boundary such that the initial boundary is moved towards a touchpoint (instead of away from the touch point as described above).


At block 210, once the adjustment is complete the user can convert the boundary into a closed polygon 802, as illustrated in FIG. 8. When converting to the closed polygon, the line forming the polygon may be smoothed, using for example, cubic splines, by removing points on the polygon, or by another line smoothing technique.


At block 212, if desired the user can edit the polygon to further align the boundary of the polygon with the features seen in the ultrasound image, and/or to further align with expectations. In one example, editing the polygon is done by selecting (e.g., via the a touchscreen input) first point 906 on the polygon and then drawing a line 904 to a second point 907 on the polygon. The drawn line 904 will replace the part of the polygon between the two points. This can either increase or decrease the area polygon.



FIG. 10 illustrates the ultrasound image depicting the feature 360 and a graphic on the image of illustrating a finalized polygon 1002 representing the feature 360, which can be used to determine information relating to the area and perimeter of the feature 360. The finalized polygon 1002, determined information of the feature 360, and the underlying ultrasound image may be stored for future analysis. Also, in association may be formed between the finalized polygon 1002, determined information, and the underlying ultrasound image, and the association stored such that they can be easily referenced with each other. In one example, the finalized polygon 1002, determine information, and the underlying ultrasound image are stored in association with a visual protocol.



FIG. 3 is a diagram illustrating an example of a graphical user interface (GUI) that can be generated on a touch screen display, the GUI having panels that include tools for feature detection and extraction of a target feature. In this example, the GUI includes a first panel 123 that is used to display information relating to a visual protocol been performed. The GUI also includes a second panel 125 that is used to display an ultrasound image that contains, for example, feature 360. The second panel 125 also includes feature extraction (FE) tools 302. A user may perform feature extraction the features found in the ultrasound image by touching the desired FE tool. In various embodiments, the FE tools 302 can include a number of FE tools. For example, a free-form selection tool 304, a minimum bounding rectangle selection tool 306, and an automatic feature extraction tool 308 they can be used, for example, to determine the boundary of a selected feature. The FE tools 302 can also include one or more edit tools 310 that a user can invoke to edit either in initially created boundary or a closed polygon. The FE tools 302 can also include metrics tool 312 that a user can invoke to determine metrics of the closed polygon, for example, the area of the polygon or the perimeter length of the polygon.



FIG. 11 is a block diagram further illustrating an example of an ultrasound system 10 upon which various embodiments may be implemented. As illustrated in FIG. 1, the ultrasound system 10 includes an ultrasound probe 105 in communication with the processing system (computer system) 110. The ultrasound probe 105 can be connected to the computer system 110 via a wired or a wireless connection that allows the ultrasound probe 105 to provide ultrasound images to the computer system 110, and allows the ultrasound probe 105 to receive control signals from the computer system 110 the control signals indicating how ultrasound images should be collected.


The computer system 110 includes a bus 111 or other communication mechanism for communicating information, and a hardware processor (or multiple processors) 114 coupled with bus 111 for processing information. Hardware processor(s) 114 may be, for example, one or more general purpose microprocessors.


Computer system 110 also includes a main memory 116, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 111 for storing information and instructions to be executed by processor 114. Main memory 116 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 114. Such instructions, when stored in storage media accessible to processor 114, render computer system 110 into a special-purpose machine that is customized to perform the operations specified in the instructions. The main memory 116 may, for example, include instructions to allow a user detect and delineate graphical representations of features in ultrasound images, for example, as indicated in FIGS. 2-10.


Computer system 110 further includes a read only memory (ROM) 120 or other static storage device coupled to bus 111 for storing static information and instructions for processor 114. A storage device 118, such as a SSD drive, magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 111 for storing information and instructions.


Computer system 110 may be coupled via bus 111 to a display 112 (for example, a touch screen display) for displaying information to a computer user. One or more input devices 151 which may include alphanumeric and other keys and/or provide cursor control (e.g., mouse, trackball, or cursor direction keys) for communicating direction information and command selections to processor 114 and for controlling cursor movement on display 112 can be coupled to bus 111 for communicating information and command selections to processor 114.


Computer system 110 may include a user interface module to implement a GUI that may be stored in a mass storage device as computer executable program instructions that are executed by the computing device(s). Computer system 110 may further, as described below, implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 110 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 110 in response to processor(s) 114 executing one or more sequences of one or more computer readable program instructions contained in main memory 116. Such instructions may be read into main memory 116 from another storage medium, such as storage device 118. Execution of the sequences of instructions contained in main memory 116 causes processor(s) 114 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.


Various forms of computer readable storage media may be involved in carrying one or more sequences of one or more computer readable program instructions to processor 114 for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a network link 128. Bus 111 carries the data to main memory 116, from which processor 114 retrieves and executes the instructions. The instructions received by main memory 116 may optionally be stored on storage device 118 either before or after execution by processor 114.


Computer system 110 also includes a communication interface 122 coupled to bus 111. Communication interface 122 provides a two-way data communication coupling to the network link 128 that is connected to a local network 130. For example, communication interface 122 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 122 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, communication interface 122 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.


Network link 128 typically provides data communication through one or more networks to other data devices. For example, network link 128 may provide a connection through local network 130 to a host computer 150 or to data equipment operated by an Internet Service Provider (ISP) 132. ISP 132 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 134. Local network 130 and Internet 134 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 128 and through communication interface 122, which carry the digital data to and from computer system 110, are example forms of transmission media. Computer system 110 can send messages and receive data, including program code, through the network(s), network link 128 and communication interface 122. In the Internet example, a server 140 might transmit a requested code for an application program through Internet 134, ISP 132, local network 130, the network link 128, and communication interface 122. The received code may be executed by processor 114 as it is received, and/or stored in storage device 118, or other non-volatile storage for later execution.


Various embodiments of the present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or mediums) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure. For example, the functionality described herein may be performed as software instructions are executed by, and/or in response to software instructions being executed by, one or more hardware processors and/or any other suitable computing devices. The software instructions and/or other executable code may be read from a computer readable storage medium (or mediums).


Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.


Implementation Considerations


References to “one embodiment” or “an embodiment” do not necessarily refer to the same embodiment, although they may. Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively, unless expressly limited to a single one or multiple one. Additionally, the words “herein,” “above,” “below” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. When the claims use the word “or” in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list, unless expressly limited to one or the other.


“Logic” refers to machine memory circuits, non-transitory machine readable media, and/or circuitry which by way of its material and/or material-energy configuration comprises control and/or procedural signals, and/or settings and values (such as resistance, impedance, capacitance, inductance, current/voltage ratings, etc.), that may be applied to influence the operation of a device. Magnetic media, electronic circuits, electrical and optical memory (both volatile and nonvolatile), and firmware are examples of logic. Logic specifically excludes pure signals or software per se (however does not exclude machine memories comprising software and thereby forming configurations of matter). Those skilled in the art will appreciate that logic may be distributed throughout one or more devices, and/or may be comprised of combinations of memory, media, processing circuits and controllers, other circuits, and so on. Therefore, in the interest of clarity and correctness logic may not always be distinctly illustrated in drawings of devices and systems, although it is inherently present therein.


The techniques and procedures described herein may be implemented via logic distributed in one or more computing devices. The particular distribution and choice of logic will vary according to implementation. Those having skill in the art will appreciate that there are various logic implementations by which processes and/or systems described herein can be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes are deployed. “Software” refers to logic that may be readily readapted to different purposes (e.g. read/write volatile or nonvolatile memory or media). “Firmware” refers to logic embodied as read-only memories and/or media. Hardware refers to logic embodied as analog and/or digital circuits. If an implementer determines that speed and accuracy are paramount, the implementer may opt for a hardware and/or firmware vehicle; alternatively, if flexibility is paramount, the implementer may opt for a solely software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware. Hence, there are several possible vehicles by which the processes described herein may be effected, none of which is inherently superior to the other in that any vehicle to be utilized is a choice dependent upon the context in which the vehicle will be deployed and the specific concerns (e.g., speed, flexibility, or predictability) of the implementer, any of which may vary. Those skilled in the art will recognize that optical aspects of implementations may involve optically-oriented hardware, software, and/or firmware.


The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood as notorious by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. Several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in standard integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and/or firmware would be well within the skill of one of skill in the art in light of this disclosure.


In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of a signal bearing media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, CD ROMs, digital tape, flash drives, SD cards, solid state fixed or removable storage, and computer memory. In a general sense, those skilled in the art will recognize that the various aspects described herein which can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or any combination thereof can be viewed as being composed of various types of “circuitry.” Consequently, as used herein “circuitry” includes, but is not limited to, electrical circuitry having at least one discrete electrical circuit, electrical circuitry having at least one integrated circuit, electrical circuitry having at least one application specific integrated circuit, circuitry forming a general purpose computing device configured by a computer program (e.g., a general purpose computer configured by a computer program which at least partially carries out processes and/or devices described herein, or a microprocessor configured by a computer program which at least partially carries out processes and/or devices described herein), circuitry forming a memory device (e.g., forms of random access memory), and/or circuitry forming a communications device (e.g., a modem, communications switch, or optical-electrical equipment).


One or more aspects or features of the subject matter disclosed or claimed herein (e.g., processes and methods) may be realized in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) computer hardware, firmware, software, and/or combinations thereof. These various aspects or features may include implementation in one or more computer programs that may be executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. The programmable system or computing system may include clients and servers. A client and server may be remote from each other and may interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.


These computer programs, which may also be referred to as programs, software, software applications, applications, components, or code, may include machine instructions for a programmable controller, processor, microprocessor or other computing or computerized architecture, and may be implemented in a high-level procedural language, an object-oriented programming language, a functional programming language, a logical programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device, such as for example magnetic discs, optical disks, memory, and Programmable Logic Devices (PLDs), used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor. The machine-readable medium may store such machine instructions non-transitorily, such as for example as would a non-transient solid-state memory or a magnetic hard drive or any equivalent storage medium. The machine-readable medium may alternatively or additionally store such machine instructions in a transient manner, such as for example as would a processor cache or other random access memory associated with one or more physical processor cores.


In some embodiments, to provide for interaction with a user, one or more aspects or features of the subject matter described herein may be implemented on a computer having a display device for displaying information to the user, and an input interface by which the user may provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well. Other possible input devices include touch screens or other touch-sensitive devices such as single or multi-point resistive or capacitive trackpads, voice recognition hardware and software, and the like.


Many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure. The foregoing description details certain embodiments. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the systems and methods can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the systems and methods should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the systems and methods with which that terminology is associated.


Various embodiments of the present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or mediums) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure. For example, the functionality described herein may be performed as software instructions executed by, and/or in response to software instructions being executed by, one or more hardware processors and/or any other suitable computing devices. The software instructions and/or other executable code may be read from a computer readable storage medium (or mediums).


The computer readable storage medium can be a tangible device that can retain and store data and/or instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. Computer readable program instructions, may as also referred to herein as, for example, “code,” “instructions,” “module,” “application,” “software application,” and/or the like. Computer readable program instructions configured for execution on computing devices may be provided on a computer readable storage medium, and/or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution) that may then be stored on a computer readable storage medium. Such computer readable program instructions may be stored, partially or fully, on a memory device (e.g., a computer readable storage medium) of the executing computing device, for execution by the computing device.


Aspects of the present disclosure are described herein with reference to methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each method can be implemented by computer readable program instructions. These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart(s) and/or block diagram(s) block or blocks. Any of the above-mentioned processors, and/or devices incorporating any of the above-mentioned processors, may be referred to herein as, for example, “computers,” “computer devices,” “computing devices,” “hardware computing devices,” “hardware processors,” “processing units,” and/or the like.


It will also be understood that, when a feature or element is referred to as being “connected”, “attached” or “coupled” to another feature or element, it may be directly connected, attached or coupled to the other feature or element or intervening features or elements may be present. In contrast, when a feature or element is referred to as being “directly connected”, “directly attached” or “directly coupled” to another feature or element, there may be no intervening features or elements present. Although described or shown with respect to one embodiment, the features and elements so described or shown may apply to other embodiments. It will also be appreciated by those of skill in the art that references to a structure or feature that is disposed “adjacent” another feature may have portions that overlap or underlie the adjacent feature.


Terminology used herein is for the purpose of describing particular embodiments and implementations only and is not intended to be limiting. For example, as used herein, the singular forms “a”, “an” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, processes, functions, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, processes, functions, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items and may be abbreviated as “/”.


The disclosed technology has been provided here with reference to one or more features or embodiments. Those skilled in the art will recognize and appreciate that, despite of the detailed nature of the example embodiments provided here, changes and modifications may be applied to said embodiments without limiting or departing from the generally intended scope. These and various other adaptations and combinations of the embodiments provided here are within the scope of the disclosed subject matter as defined by the disclosed elements and features and their full set of equivalents.

Claims
  • 1. A method of displaying ultrasound images and detecting features of interest corresponding to the displayed ultrasound images using image processing techniques, the method comprising: storing computer-executable instructions and a set of ultrasound images on a non-transitory computer readable medium;displaying an ultrasound image including a feature of interest;determining a boundary of the feature of interest in the displayed ultrasound image;determining a closed polygon that represents the feature of interest based on the boundary,receiving user input indicating a first point and a second point on a border of the closed polygon, defining a new line between the first and second points, and replacing a portion of the closed polygon with the new line between the first and second points; anddetermining information of the feature of interest using dimensions of the closed polygon,wherein the method is performed by one or more computer hardware processors configured to execute computer-executable instructions stored on the non-transitory computer readable medium.
  • 2. The method of claim 1, further comprising receiving user input indicative of a location of the feature of interest, wherein determining the boundary is based on the user input.
  • 3. The method of claim 2, wherein receiving the user input indicative of the location of the feature of interest comprises receiving a signal from a touchscreen display, that is displaying the ultrasound image, as a result of a user touch of the touchscreen display.
  • 4. The method of claim 2, wherein receiving the user input indicative of the location of the feature of interest comprises receiving a signal from one of a mouse, trackball, or a keyboard.
  • 5. The method of claim 1, further comprising performing automatic feature detection on the ultrasound image to determine a location of the feature of interest, wherein determining the boundary is based on the determined location.
  • 6. The method of claim 5, wherein the automatic feature detection is at least partially based on intensity of pixels in the ultrasound image.
  • 7. The method of claim 6, further comprising adjusting the boundary by changing at least one of brightness or contrast of the displayed ultrasound image.
  • 8. The method of claim 1, further comprising adjusting a portion of the boundary, based on user input, to form an adjusted boundary, and wherein determining the closed polygon that represents the feature of interest is based on the adjusted boundary.
  • 9. The method of claim 8, wherein adjusting the portion of the boundary comprises receiving a signal, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjusting the portion of the boundary adjacent to the point to move the boundary away from the point.
  • 10. The method of claim 8, wherein adjusting the portion of the boundary comprises receiving a signal, from a touchscreen displaying the ultrasound image and the boundary, indicative of a point on the ultrasound image, and adjusting a portion of the boundary adjacent to the point to move the boundary towards the point.
  • 11. The method of claim 1, further comprising smoothing the boundary.
  • 12. The method of claim 11, wherein the boundary is smoothed using cubic splines or by removing points of the boundary.
  • 13. The method of claim 1, further comprising smoothing the closed polygon.
  • 14. The method of claim 13, wherein the closed polygon is smoothed using cubic splines or by removing points of the polygon.
  • 15. The method of claim 1, wherein determining information of the feature using the dimensions of the closed polygon comprises determining one or more of an area of the closed polygon, a perimeter of the closed polygon, or a volume of the closed polygon.
  • 16. The method of claim 1, further comprising generating a feature detection user interface comprising the ultrasound image and graphical representations, the graphical representations comprising the boundary and the closed polygon, and causing presentation of the feature detection user interface on a touchscreen display.
  • 17. A system comprising: an ultrasound probe;an ultrasound processing system including a wireless network communication interface connecting the ultrasound probe to processing for receiving ultrasound data from the ultrasound probe and for providing control information to the ultrasound probe;a first non-transitory computer storage medium configured to store the ultrasound data provided by the ultrasound probe;second non-transitory computer storage medium configured to at least store computer-executable instructions; andone or more computer hardware processors in communication with the second non-transitory computer storage medium, the one or more computer hardware processors configured to execute the computer-executable instructions to at least:receive user input indicative of a location of a feature;generate a feature detection user interface, the feature detection user interface comprising an ultrasound image and one or more graphical representations of the feature, and cause presentation of the feature detection user interface on a touchscreen display;determine a boundary of the feature in a displayed ultrasound image based on the user input;adjust the boundary based on user input indicative of moving a portion of the boundary;determine a closed polygon that represents the feature based on the boundary;edit the closed polygon based on user input indicating a first point of the closed polygon and a second point of the closed polygon, the first and second point defining a new line between the first point and the second point to replace the portion of the closed polygon between the first and second point with the new line between the first and second point; anddetermine information of the feature using dimensions of the closed polygon.
  • 18. The system of claim 17, wherein the determined information comprises at least one of an area of the closed polygon, a perimeter of the closed polygon, or a volume of the closed polygon, and wherein receiving user input indicative of the location of the feature comprises receiving a signal from the touchscreen display, that is displaying the ultrasound image, as a result of a user touch of the touchscreen.
US Referenced Citations (147)
Number Name Date Kind
4998132 Kurogane Mar 1991 A
5617371 Williams Apr 1997 A
5903516 Greenleaf et al. May 1999 A
5908389 Roundhill et al. Jun 1999 A
6031529 Migos Feb 2000 A
6063030 Vara et al. May 2000 A
6120450 Li Sep 2000 A
6123670 Mo Sep 2000 A
6132374 Hossack et al. Oct 2000 A
6400981 Govari Jun 2002 B1
6607489 Hoctor Aug 2003 B2
6690963 Haim et al. Feb 2004 B2
6908434 Jenkins et al. Jun 2005 B1
7090639 Govari Aug 2006 B2
7423578 Tietjen Sep 2008 B1
7604601 Altmann et al. Oct 2009 B2
7648462 Jenkins et al. Jan 2010 B2
7667639 Cheng et al. Feb 2010 B2
7682358 Gullickson et al. Mar 2010 B2
7750849 Hjelmstad Jul 2010 B2
7831076 Altmann et al. Nov 2010 B2
7860553 Govari et al. Dec 2010 B2
7918793 Altmann et al. Apr 2011 B2
7996060 Trofimov et al. Aug 2011 B2
8075486 Tal Dec 2011 B2
8285364 Barbagli et al. Oct 2012 B2
8390438 Olson et al. Mar 2013 B2
8449467 Wilser et al. May 2013 B2
8517946 Kim Aug 2013 B2
8676290 Tegg Mar 2014 B2
8690871 Partlett et al. Apr 2014 B2
8702612 Hendriks et al. Apr 2014 B2
8989842 Li et al. Mar 2015 B2
9030354 Natarajan May 2015 B2
9055883 Tgavalekos et al. Jun 2015 B2
9095682 Romoscanu Aug 2015 B2
9132913 Shapiro et al. Sep 2015 B1
9179890 Ionasec et al. Nov 2015 B2
9211160 Pivotto et al. Dec 2015 B2
9261595 Garbini et al. Feb 2016 B2
9323445 Kritt et al. Apr 2016 B2
9342156 Huh May 2016 B2
9922554 Mikuni et al. Mar 2018 B2
9931487 Quinn et al. Apr 2018 B2
9986969 Call et al. Jun 2018 B2
10183149 Tegg et al. Jan 2019 B2
10206652 Deno et al. Feb 2019 B2
10368951 Moll et al. Aug 2019 B2
10401492 Brooks Sep 2019 B2
10405830 Garbini et al. Sep 2019 B2
10463439 Joseph et al. Nov 2019 B2
10499882 Hunter et al. Dec 2019 B2
10537307 Yang Jan 2020 B2
10555780 Tanner et al. Feb 2020 B2
10624612 Sumi Apr 2020 B2
11344281 Morisse et al. May 2022 B2
11547386 Roy et al. Jan 2023 B1
20020173721 Grunwald Nov 2002 A1
20020173722 Hoctor et al. Nov 2002 A1
20030007598 Wang et al. Jan 2003 A1
20030055334 Steinbacher et al. Mar 2003 A1
20030055337 Lin Mar 2003 A1
20040102700 Asafusa May 2004 A1
20050288588 Weber et al. Dec 2005 A1
20070027733 Balle Feb 2007 A1
20070174772 Gorman Jul 2007 A1
20070200760 Hjelmstad Aug 2007 A1
20070239001 Mehi et al. Oct 2007 A1
20070259158 Friedman et al. Nov 2007 A1
20080012753 Cheng Jan 2008 A1
20080114239 Randall et al. May 2008 A1
20080215046 Messing et al. Sep 2008 A1
20080306385 Jago Dec 2008 A1
20090043206 Towfiq et al. Feb 2009 A1
20090118620 Tgavalekos et al. May 2009 A1
20090271704 Cohen Oct 2009 A1
20100030076 Vortman et al. Feb 2010 A1
20100081938 Kato Apr 2010 A1
20100146431 Raji et al. Jun 2010 A1
20100160784 Poland Jun 2010 A1
20100168580 Thiele Jul 2010 A1
20100251823 Adachi Oct 2010 A1
20110077524 Oshiki et al. Mar 2011 A1
20110137132 Gustafson Jun 2011 A1
20110208052 Entrekin Aug 2011 A1
20120075208 Tamiya et al. Mar 2012 A1
20120157851 Zwirn Jun 2012 A1
20120254747 Bocirnea Oct 2012 A1
20130227052 Wenzel Aug 2013 A1
20130234891 Natarajan et al. Sep 2013 A1
20130238990 Ubillos et al. Sep 2013 A1
20130253317 Gauthier Sep 2013 A1
20130274712 Schecter et al. Oct 2013 A1
20130310690 Chang Nov 2013 A1
20140035916 Murphy Feb 2014 A1
20140046188 Yen et al. Feb 2014 A1
20140058266 Call et al. Feb 2014 A1
20140087342 Campanatti, Jr. Mar 2014 A1
20140164965 Lee et al. Jun 2014 A1
20140189560 Caspi Jul 2014 A1
20140219059 Younghouse Aug 2014 A1
20150019488 Higginson et al. Jan 2015 A1
20150065877 Orderud Mar 2015 A1
20150082251 Lam Mar 2015 A1
20150293223 Park et al. Oct 2015 A1
20160054901 Yang Feb 2016 A1
20160157824 Park et al. Jun 2016 A1
20160161589 Benattar Jun 2016 A1
20160161594 Benattar Jun 2016 A1
20160161595 Benattar Jun 2016 A1
20160165338 Benattar Jun 2016 A1
20160165341 Benattar Jun 2016 A1
20160338676 Berger et al. Nov 2016 A1
20170090571 Bjaerum Mar 2017 A1
20170153801 Kim et al. Jun 2017 A1
20170307755 Brooks Oct 2017 A1
20170343655 Solek et al. Nov 2017 A1
20170343668 Brooks et al. Nov 2017 A1
20180000449 Moore et al. Jan 2018 A1
20180000453 Hunter et al. Jan 2018 A1
20180055483 Hunter Mar 2018 A1
20180064415 Zhai et al. Mar 2018 A1
20180361145 Mahapatra et al. Dec 2018 A1
20190245310 Medina et al. Aug 2019 A1
20190261953 Honjo et al. Aug 2019 A1
20190307427 Levy Oct 2019 A1
20190324139 Brooks Oct 2019 A1
20190353975 DiDomenico Nov 2019 A1
20200046321 Duda Feb 2020 A1
20200060646 Lindenroth et al. Feb 2020 A1
20200170662 Vardi Jun 2020 A1
20200178928 Park et al. Jun 2020 A1
20200183004 Gong et al. Jun 2020 A1
20200205783 Shiran Jul 2020 A1
20200268351 Chiang Aug 2020 A1
20200281565 Yee et al. Sep 2020 A1
20200315592 Soleimani et al. Oct 2020 A1
20210007710 Douglas Jan 2021 A1
20210038334 Hsu et al. Feb 2021 A1
20210125503 Henry Apr 2021 A1
20210177379 Kolen et al. Jun 2021 A1
20210338208 Nguyen et al. Nov 2021 A1
20210401508 Zhao Dec 2021 A1
20220061811 Terleski Mar 2022 A1
20220151591 Morrise May 2022 A1
20220156094 Morrise May 2022 A1
20230059122 Pellegrino Feb 2023 A1
Foreign Referenced Citations (10)
Number Date Country
2018250516 Nov 2018 AU
2 288 284 May 2016 EP
3 275 478 Jan 2018 EP
2 707 076 Nov 2018 EP
3 050 214 Mar 2019 EP
2 632 318 Nov 2019 EP
3 518 777 Mar 2021 EP
WO 12088535 Jun 2012 WO
WO 20049012 Mar 2020 WO
WO 20252416 Dec 2020 WO
Non-Patent Literature Citations (2)
Entry
Bradley, Aug. 2008, Retrospective transmit beamformation: Acuson SC2000 volume imaging ultrasound system, Siemens Medical Solutions USA, Inc., whitepaper, 8 pp.
Lin et al., Jun. 2010, A motion compounding technique for speckle reduction in ultrasound images, Journal of digital imaging 23(3):246-257.
Related Publications (1)
Number Date Country
20220061814 A1 Mar 2022 US
Provisional Applications (1)
Number Date Country
63070224 Aug 2020 US