Methods and apparatus to process left-ventricle cardiac images

Example methods and apparatus to process left-ventricle cardiac images are disclosed. A disclosed example method includes identifying a first landmark point in a first cardiac image, identifying a first centroid of a left ventricle depicted in the first cardiac image, and performing a Cartesian-to-polar transformation to form a first rectangular representation of the left ventricle depicted in the first cardiac image based on the first landmark point and the first centroid.

FIELD OF THE DISCLOSURE

This disclosure relates generally to left-ventricle cardiac images and, more particularly, to methods and apparatus to process left-ventricle cardiac images.

BACKGROUND

A widely used cardiac diagnostic technique involves the imaging of different portions of a heart during various phases of a heartbeat to detect or diagnose cardiac disease and/or damage. An example cardiac imaging tool is a computed topography (CT) imaging system.

BRIEF DESCRIPTION OF THE INVENTION

Example methods and apparatus to process left-ventricle cardiac images are disclosed. A disclosed example method includes identifying a first landmark point in a first cardiac image, identifying a first centroid of a left ventricle depicted in the first cardiac image, and performing a Cartesian-to-polar transformation to form a first rectangular representation of the left ventricle depicted in the first cardiac image based on the first landmark point and the first centroid.

A disclosed example apparatus includes an input device to allow a user to identify a first landmark point in a first image of a left ventricle, and identify a first centroid of the left ventricle, the first landmark point comprising a junction of a right ventricular wall and an interventricular septum; and a transformer to perform a Cartesian-to-polar transformation to form a first rectangular representation of the left ventricle depicted in the first image based on the first landmark point and the first centroid.

DETAILED DESCRIPTION

In the interest of brevity and clarity, throughout the following disclosure references will be made to an example diagnostic imaging workstation100ofFIG. 1. However, the methods and apparatus described herein to process cardiac left-ventricle images may be implemented by and/or within any number and/or type(s) of diagnostic imaging systems. For example, the methods and apparatus described herein could be implemented by or within a device and/or system that captures diagnostic images (e.g., a computed tomography (CT) imaging system), and/or by or within a system and/or workstation designed for use in viewing, analyzing, storing and/or archiving diagnostic images (e.g., the GE® picture, archiving and communication system (PACS), and/or the GE advanced workstation (AW)).

FIG. 1is a schematic illustration of an example diagnostic imaging system within which the example methods and apparatus described herein may be implemented. To capture diagnostic images, the example diagnostic imaging system ofFIG. 1includes any number and/or type(s) of image capturing systems, one of which is designated at reference numeral105. An example image capturing system105includes a CT scanner.

To store images captured and/or collected by the example image capturing system105, the example diagnostic imaging workstation100ofFIG. 1includes an image database110. Images may be stored and/or archived in the example image database110ofFIG. 1using any number and/or type(s) of data structures, and the example image database110may be implemented using any number and/or type(s) of memory(-ies), memory device(s) and/or storage device(s) such as a hard disk drive, a compact disc (CD), a digital versatile disc (DVD), a floppy drive, etc.

To allow a user (not shown) to interact with the example diagnostic imaging system100ofFIG. 1, the diagnostic imaging system100includes any type of user interface module115, any type of display120and any number and/or type(s) of input devices125. The example user interface module115ofFIG. 1implements an operating system to present information (e.g., images, windows, screens, interfaces, dialog boxes, etc.) at the display120, and to allow a user to control, configure and/or operate the diagnostic imaging workstation100. The user provides and/or makes inputs and/or selections to the user interface module115and/or, more generally, to the example diagnostic imaging workstation100via the input device(s)125. Example input devices125include, but are not limited to, a keyboard, a touch screen and/or a mouse. In an example, a patient search window is presented at the display120, and the input device(s)125are used to enter search criteria to identify a particular patient. When a patient is identified and selected, the example user interface125presents a list of available diagnostic images for the patient at the display120, and the user selects one or more particular diagnostic images using the input device(s)125. The user interface115then obtains the selected image(s) from the image database110and presents them at the display120for viewing by the user. In some examples, selected images are processed by an image pre-processing module130and/or an image-processing module135before presentation at the display120. Using the input device(s)125, the user may, for example, zoom-in on particular features of a diagnostic image and/or activate automated image pre-processing, processing and/or recognition features implemented by the diagnostic imaging workstation100. As described below in connection withFIGS. 2,3,4A and4B, the input device(s)125may be used to identify, locate and/or specify particular features of a diagnostic image (e.g., a junction point between a right ventricular wall and an interventricular septum, and/or the centroid of a left ventricle) that are subsequently used by the image pre-processing module130and/or the image processing module135during image processing.

To process diagnostic images, the example diagnostic imaging workstation100ofFIG. 1includes the example image pre-processing module130and the example image processing module135. The type of image processing performed by the example image pre-processing module130ofFIG. 1depends on the type of diagnostic image being processed. For a cardiac left-ventricle image, the example image pre-processing module130ofFIG. 1performs a Cartesian-to-polar transformation to represent and/or depict the generally circularly shaped left ventricle in a rectangular image. The example image pre-processing module130also performs position localization to account for lateral movement, if any, of the left ventricle during imaging, and segments the rectangular image to identify which portions of the rectangular image correspond with which muscles of the left ventricle. An example manner of implementing the example image pre-processing module130ofFIG. 1is described below in connection withFIG. 2. An example rectangular image generated by the example image pre-processing module130is described below in connection withFIG. 5.

The example image processing module135ofFIG. 1implements any number and/or type(s) of image recognition algorithm(s), method(s), logic and/or processing to identify particular features of a diagnostic image and/or set of diagnostic images that may be indicative of a particular medical condition, injury, illness and/or disease. For example, the example image-processing module135ofFIG. 1can process a set of rectangular representations of a left ventricle generated by the example image pre-processing module130that correspond to different phases of a heartbeat to identify whether one or more muscles associated with the left ventricle are functioning properly. For example, by detecting or determining that a particular left ventricle muscle is not moving or activating in coordination with other left ventricle muscles. By using the rectangular representations generated by the example image pre-processing module130rather than the original diagnostic images where the left ventricle has a generally circular shape, the image processing module135can perform such analyses of left ventricle images using less complex and/or more accurate algorithm(s), method(s), logic and/or processing. For example, the automated computer-aided diagnosis of left-ventricle images can be improved by more than 20% using the rectangular representations generated by the example image pre-processing module130.

While one image pre-processing module130and one image processing module135are illustrated inFIG. 1, a diagnostic imaging workstation100may include any number and/or type(s) of such modules. For example, pre-processing and/or processing modules specific to different types of diagnostic images and illnesses may be implemented by the imaging workstation100.

While an example diagnostic imaging workstation100has been illustrated inFIG. 1, one or more of the interfaces, data structures, elements, processes and/or devices illustrated inFIG. 1may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. For example, the image database110may be implemented separately and/or remotely from the diagnostic imaging workstation100, and/or the image pre-processing module130and/or the image-processing module135may be implemented in another device that is communicatively coupled to the diagnostic imaging workstation100. Further, the example image database110, the example user interface115, the example display120, the example input device(s)125, the example image pre-processing module130, the example image-processing module135and/or, more generally, the example diagnostic imaging workstation100ofFIG. 1may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example image database110, the example user interface115, the example display120, the example input device(s)125, the example image pre-processing module130, the example image-processing module135and/or, more generally, the example diagnostic imaging workstation100may be implemented by one or more circuit(s), programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)), etc. When any of the appended claims are read to cover a purely software and/or firmware implementation, at least one of the example image database110, the example user interface115, the example display120, the example input device(s)125, the example image pre-processing module130, the example image-processing module135and/or, more generally, the example diagnostic imaging workstation100are hereby expressly defined to include a tangible computer-readable medium such as a memory, a DVD, a CD, etc. storing the firmware and/or software. Further still, a diagnostic imaging workstation may include interfaces, data structures, elements, processes and/or devices instead of, or in addition to, those illustrated inFIG. 1and/or may include more than one of any or all of the illustrated interfaces, data structures, elements, processes and/or devices.

FIG. 2illustrates an example manner of implementing the example image-processing module130ofFIG. 1. To account for lateral movement of the left ventricle during a series of CT images (e.g., captured of different portions of the left ventricle and/or during different phases of a heartbeat), the example image pre-processing module130ofFIG. 2includes a position localizer205. Starting with a first CT image505(FIG. 5) corresponding to, for example, a basal portion of the left ventricle at the end-diastolic portion of a heartbeat, the example position localizer205ofFIG. 2identifies a landmark point L (FIGS. 3 and 5) of the first image and a centroid (i.e., center point) of the left ventricle O (FIGS. 3 and 5). An example landmark point L comprises the junction point between the right ventricular wall and the interventricular septum (seeFIG. 5). The example position localizer205can identify the landmark point L and the centroid O using, for example, optical recognition, and/or the example user interface115to prompt a user to indicate, specify and/or locate the landmark point L and the centroid O via the input device(s)125.

For other slices (i.e., images) of the patient's left ventricle, the example position analyzer205ofFIG. 2identifies the centroid Ostof the left ventricle in each slicest(s=1, 2, . . . , S where S is the number of positions at which the left ventricle is imaged, and t=t, 2, . . . , T where T is the number of images collected for each position) via, for example, optical recognition and/or user prompting, and computes a corresponding landmark point Lstfor each slicestbased on its left ventricle centroid Ost, and the landmark point L and left ventricle centroid O of the first image. The landmark point Lstfor each slice can be computed by: (a) computing the angle <XOL defined by the X-axis (FIG. 3), the centroid O, and the landmark point L; (b) computing a distance between the centroid O and the landmark L; and (c) selecting the landmark point Lstsuch that the distance from O to L is substantially the same as the distance from Ostto Lst, and the angle <XOL is substantially equal to the angle <XOstLst, as shown inFIG. 3.

To perform Cartesian-to-polar transformations, the example image pre-processing module130ofFIG. 2includes a transformer210. Based on the landmark point Lstand centroid Ost, the example transformer210ofFIG. 2transforms the generally circular image400of a left ventricle (FIG. 4A) into a rectangular representation450(FIG. 4B) that is more suitable for subsequent image analysis by, for example, the example image-processing module135ofFIG. 1. The example transformer210uses pixel data falling along radial lines (e.g., a line405, a line410) that extend outward from the centroid Ostto form the rectangular representation450. Pixel data from the radial lines405and410are stored in respective columns of the rectangular image450. Each of the columns of the rectangular representation450corresponds to a particular angle θ of a radial line405,410. In the illustrated example ofFIGS. 4A and 4B, the radial lines405and410are equally spaced and correspond to successive counter-clockwise angles θ that are Δθ degrees (or radians) apart. An example value of Δθ is one (1) degree such that the rectangular representation450comprises 360 columns. The first column of the example rectangular representation450corresponds to the radial line405located between the centroid Ostand the landmark point Lst. Subsequent radial lines410are located between the centroid Ostand a point Qst, which corresponds to the landmark point Lstrotated by Δθ degrees (or radians). This process is repeated until the next point Qstcorresponds to the original landmark point Lst.

Because diagnostic images are captured using rectangular sampling, the example radial lines405,410may not have the same number of associated pixels. To normalize the number of pixels that occur on the radial lines405and410, the example transformer210includes an interpolator215. Using any number and/or type(s) of algorithm(s), method(s), and/or logic, the example interpolator215interpolates the pixel values that occur substantially on and/or nearby a particular radial line405,410between the centroid Ostand the landmark point Lstto generate or form a set of interpolated pixel values for that radial line405,410. In the illustrated example ofFIG. 4B, the interpolator215interpolates the pixel data falling along a radial line405,410of the original image400to obtain P pixel values. Thus, regardless of the number of original pixels that occur along a radial line405,410, each column of the rectangular representation450has the same number of pixel values. Because of the normalization implemented by the example interpolator215, the size of the rectangular representation450does not depend on the size of the left ventricle and does not vary from patient to patient, which further simplifies or improves subsequent image analysis. The example interpolator215stores the interpolated pixel values in the corresponding column of the rectangular array450.

To determine the points Qst, the example transformer210includes a point selector220. The example point selector220computes the location of a point Qstbased on the location of the previous point (e.g., Lst) and the angle θ associated with the previous point. In particular the point Qstis selected such that the angled defined by the X-axis, Ostand the new point Qstis substantially equal to θ=θ+Δθ.

To identify which columns of the rectangular representation450correspond to which left ventricle muscles, the example image pre-processor130ofFIG. 2includes a segment identifier225. The example segment identifier225ofFIG. 2delineates and/or identifies which columns of the rectangular image450correspond to which muscles by, for example, drawing lines (one of which is designated at reference numeral505inFIG. 5and adding a label (e.g., a number) to identify each of the identified segments. For example, for a basal slice through the left ventricle, segments1through6correspond to columns301-360,1-60,121-180,181-240and241-300, respectively, as shown inFIG. 5. For a mid-cavity slice through the left ventricle, segments7through12correspond to columns301-360,1-60,121-180,181-240and241-300, respectively. For an apical slice through the left ventricle, segments13to16correspond to columns15-104,105-194,195-284, and285-360plus1-14, respectively.

While an example manner of implementing the example image pre-processing module130is illustrated inFIG. 2, one or more of the interfaces, data structures, elements, processes and/or devices illustrated inFIG. 2may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. For example, if only a single left ventricle image slicestis being processed for a patient, the example position localizer205could be omitted. Further, the example position localizer205, the example transformer210, the example interpolator215, the example point selector220, the example segment identifier225and/or, more generally, the example image pre-processing module130ofFIG. 2may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of The example position localizer205, the example transformer210, the example interpolator215, the example point selector220, the example segment identifier225and/or, more generally, the example image pre-processing module130may be implemented by one or more circuit(s), programmable processor(s), ASIC(s), PLD(s) and/or FPLD(s), etc. When any of the appended claims are read to cover a purely software and/or firmware implementation, at least one of the example position localizer205, the example transformer210, the example interpolator215, the example point selector220, the example segment identifier225and/or, more generally, the example image pre-processing module130are hereby expressly defined to include a tangible computer-readable medium such as a memory, a DVD, a CD, etc. storing the firmware and/or software. Further still, a image pre-processing module may include interfaces, data structures, elements, processes and/or devices instead of, or in addition to, those illustrated inFIG. 2and/or may include more than one of any or all of the illustrated interfaces, data structures, elements, processes and/or devices.

FIG. 6illustrates an example process that may be carried out to implement the example position localizer205ofFIG. 2.FIG. 7illustrates an example process that may be carried out to implement the example transformer210ofFIG. 2. The example processes ofFIGS. 6and/or7may be carried out by a processor, a controller and/or any other suitable processing device. For example, the example processes ofFIGS. 6and/or7may be embodied in coded instructions stored on a tangible computer-readable medium such as a flash memory, a CD, a DVD, a floppy disk, a read-only memory (ROM), a random-access memory (RAM), a programmable ROM (PROM), an electronically-programmable ROM (EPROM), and/or an electronically-erasable PROM (EEPROM), an optical storage disk, an optical storage device, magnetic storage disk, a magnetic storage device, and/or any other medium which can be used to carry or store program code and/or instructions in the form of computer-executable instructions or data structures, and which can be accessed by a processor, a general purpose or special purpose computer or other machine with a processor (e.g., the example processor platform P100discussed below in connection withFIG. 8). Combinations of the above are also included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data that cause a processor, a general purpose computer, special purpose computer, or a special purpose processing machine to perform one or more particular processes. Alternatively, some or all of the example processes ofFIGS. 6and/or7may be implemented using any combination(s) of ASIC(s), PLD(s), FPLD(s), discrete logic, hardware, firmware, etc. Also, some or all of the example processes ofFIGS. 6and/or7may be implemented manually or as any combination of any of the foregoing techniques, for example, any combination of firmware, software, discrete logic and/or hardware. Further, many other methods of implementing the example operations ofFIGS. 6and/or7may be employed. For example, the order of execution of the blocks may be changed, and/or one or more of the blocks described may be changed, eliminated, sub-divided, or combined. Additionally, any or all of the example processes ofFIGS. 6and/or7may be carried out sequentially and/or carried out in parallel by, for example, separate processing threads, processors, devices, discrete logic, circuits, etc.

The example process ofFIG. 6begins with the example position localizer205(FIG. 2) identify a basal slice of the left ventricle corresponding to an end-diastolic portion of a heartbeat (block605). The position localizer205identifies the slice by prompting a user to identify the slice. The position localizer205identifies a cut-off landmark point L in the slice (block610) and the centroid O of the slice (block615) using, for example, image recognition and/or by prompting the user to identify them. The position localizer205calculates an angle formed by the example X-axis (FIG. 3), the centroid O and the landmark point L (block620).

The position localizer205(FIG. 2) selects the next slice to be processed (block625) and identifies the centroid of the left-ventricle depicted in the next slice (block630). The position localizer205identifies the centroid via image recognition and/or by prompting a user to identify the centroid. As described above in connection withFIGS. 2 and 3, the example position localizer205computes a landmark point Lstfor the presently considered slice (block635). If there are more slices to be processed (block640), control returns to block625to select the next slice. If there are no more slices to be processed (block640), control exits from the example process ofFIG. 6.

The example process ofFIG. 7begins with the example transformer210(FIG. 2) selecting a first slice to process (block705). The example point selector220computes an angled defined by the X-axis, the centroid Ostand the landmark point Lst, sets J=1, and sets the first point Qstequal to the landmark point Lst(block710).

The example interpolator215(FIG. 2) identifies pixel values that fall substantially or near to a line segment from Ostto Qst(block715). The interpolator215interpolates the identified pixels to form P interpolated pixel values (block720), and stores the P interpolated pixel values in the Jthcolumn of a rectangular representation of the left-ventricle depicted in the presently considered slice (block725).

The example transformer210(FIG. 2) increments J and computes the angle for the next radial line (block735). As described above, the example point selector220computes the point Qstfor the next radial line (block740). If the newly computed point Qstis not equal to the landmark point Lst(block745), control returns to block715to process the next radial line.

If the newly computed point Qstis equal to the landmark point Lst(block745), the transformer210determines whether there are more slices to be processed (block750). If there are more slices to be processed (block750), control returns to block705to select the next slice, If there are no more slices to be processed (block750), control exits from the example process ofFIG. 7.

FIG. 8is a schematic diagram of an example processor platform P100that may be used and/or programmed to implement any or all of the example diagnostic imaging workstation100, the example image pre-processing module130, the example image-processing module135, the example position localizer205, the example transformer210, the example interpolator215, the example point selector220and/or the example segment identifier ofFIGS. 1and/or2. For example, the processor platform P100can be implemented by one or more general-purpose processors, processor cores, microcontrollers, etc.

The processor platform P100of the example ofFIG. 8includes at least one general-purpose programmable processor P105. The processor P105executes coded instructions P110and/or P112present in main memory of the processor P105(e.g., within a RAM P115and/or a ROM P120). The processor P105may be any type of processing unit, such as a processor core, a processor and/or a microcontroller. The processor P105may execute, among other things, the example processes ofFIGS. 6and/or7to implement the example cardiac left-ventricle image-processing methods and apparatus described herein.

The processor P105is in communication with the main memory (including a ROM P120and/or the RAM P115) via a bus P125. The RAM P115may be implemented by dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. Access to the memory P115and the memory P120may be controlled by a memory controller (not shown). The example memory P115may be used to implement the example image database110ofFIG. 1.

The processor platform P100also includes an interface circuit P130. The interface circuit P130may be implemented by any type of interface standard, such as an external memory interface, serial port, general-purpose input/output, etc. One or more input devices P135and one or more output devices P140are connected to the interface circuit P130. The input devices P135may be used to, for example, implement the example input device(s)125ofFIG. 1. The example output devices P140may be used to, for example, implement the example display120ofFIG. 1.

Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing the processes to implement the example methods and systems disclosed herein. The particular sequence of such executable instructions and/or associated data structures represent examples of corresponding acts for implementing the examples described herein.

The example methods and apparatus described herein may be practiced in a networked environment using logical connections to one or more remote computers having processors. Logical connections may include a local area network (LAN) and a wide area network (WAN) that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet and may use a wide variety of different communication protocols. Such network computing environments may encompass many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The example methods and apparatus described herein may, additionally or alternatively, be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.