Not applicable.
This disclosure relates to operations on tomographic images, such as computed tomography (CT), magnetic resonance imaging (MRI) and positron emission tomography (PET), that develop and validate a framework for smart interpolation of annotations on tomographic images.
In current clinical practice, manual annotation is the most widely used method of segmentation of organs, tumors or other anatomical features. It is often a tedious and time-consuming task as radiologists spend significant time meticulously delineating or manually tracing the boundaries of regions-of-interest (ROIs) on imaging data. During the manual delineation process, the expert annotators have to go through the entire tomographic images slice-by-slice. While a simple solution to this problem is to implement an automated algorithm, the automated algorithm may not delineate ROIs well enough to be used in clinical practice. Oftentimes, the manual annotators need to review and verify the automatically annotated regions and the editing process has similar problems of the task being tedious and time consuming. The editing is an essential step even for manual annotation processes where multiple annotators are often involved in clinical practice. Therefore, a less tedious and burdensome approach is needed to perform or edit annotations manually.
To assist the manual annotation process, there are a number of interpolation software that allow annotators to contour on some 2D slices and then the software interpolates the contours to the skipped slices. This minimizes the burden of performing annotation on all slices, thereby saving manual time and effort. However, these existing software have adopted an approach of only utilizing the information of newly drawn contours (and not of existing contours) and is only suitable for performing annotations as opposed to editing the existing contours. For instance, if a contour/ROI needs editing on slices 100-120, editing needs to be performed on all those slices since interpolation may not be available on skipped slices since old contour already exists on those skipped slices. In some cases, interpolation may be available on skipped slices but since the interpolation is based on the entire contour, interpolation may be inaccurate since it doesn't take into account the actual changes made to the contour. Smart interpolation (our method), on the other hand, focuses on changes in the edited 2D slices from the previous iteration/existing contour. As such, changes on the edited slices are first tracked during editing, then the interpolation is performed on those changes and finally the interpolated changes are applied to the original contours to create edited contours on the skipped slices. The changes on the contours supported by our method include addition, subtraction or a combination of both. Our algorithm accepts the initial/existing contour from both automatic segmentation method or manual segmentation. In cases where initial contour is not present, it allows manual annotators to draw the necessary contours. Furthermore, our method allows the annotators to perform editing in an iterative fashion where initial editing might not be sufficient or when multiple annotators are involved in the editing process.
Therefore, smart interpolation provides a simple, fast, and robust 3D interpolation algorithm to help radiologists or other trained annotators in delineating and/or editing contours. It provides a solution that minimizes the need for delineated/edited slices and automates the completion of remaining slices based on the changes made to the contours. The interpolated contours maintain satisfactory quality even when skipping 3 to 5 slices, resulting in reducing at least 70 percent of the annotation time on average, without compromising the segmentation quality.
Examples of the present disclosure provide a method for smart interpolation of annotations on tomographic images using an image processing-based approach to assist annotators for fast and reliable delineation of regions-of-interest (ROIs).
According to the first aspect of the present disclosure, a computer-implemented method for the smart interpolation of annotations. The methods may include: receiving 3D images obtained by a CT, MRI or PET system, receiving label with contours of regions-of-interest (ROIs) if label is available for the received 3D images either from automatic segmentation algorithm or manual segmentation, creating an empty label if label is not available, recording user changes on each 2D slices of the label, finding two neighboring 2D slices that the user has edited, running interpolation on the user changes, applying the interpolated changes to each 2D slices not edited by the user, and performing post-processing to output the final 3D segmentation of ROIs.
According to a second aspect of the present disclosure, an apparatus for the smart interpolation of annotations. The apparatus may include one or more processes, a display, and a non-transitory computer-readable memory storing instructions executable by one or more processes. Wherein the instructions comprising receiving 3D images obtained by a CT, MRI or PET system, receiving label with contours of regions-of-interest (ROIs) if label is available for the received 3D images either from automatic segmentation algorithm or manual segmentation, creating an empty label if label is not available, recording user changes on each 2D slices of the label, finding two neighboring 2D slices that the user has edited, running interpolation on the user changes, applying the interpolated changes to each 2D slices not edited by the user, and performing post-processing to output the final 3D segmentation of ROIs.
According to a third aspect of an example of the present disclosure, a non-transitory computer-readable storage medium having stored therein instructions is provided. When the instructions are executed by one or more processors or one or more graphic processing units (GPUs) of the apparatus, the instructions cause the apparatus to receive 3D images obtained by a CT, MRI or PET system, receive label with contours of regions-of-interest (ROIs) if label is available for the received 3D images either from automatic segmentation algorithm or manual segmentation, create an empty label if label is not available, record user changes on each 2D slices of the label, find two neighboring 2D slices that the user has edited, run interpolation on the user changes, apply the interpolated changes to each 2D slices not edited by the user, and perform post-processing to output the final 3D segmentation of ROIs.
Other aspects and features according to the example embodiments of the disclosed technology will become apparent to those of ordinary skill in the art, upon reviewing the following detailed description in conjunction with the accompanying figures.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings(s) will be provided by the Office upon request and payment of the necessary fee.
Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale.
Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings. The following description refers to the accompanying drawings in which the same numbers in different drawings represent the same or similar elements unless otherwise represented. The implementations set forth in the following description of exemplary embodiments do not represent all implementations consistent with the disclosure. Instead, they are merely examples of apparatuses and methods consistent with aspects related to the disclosure as recited in the appended claims.
The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used in the present disclosure and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It shall also be understood that the term “and/or” used herein is intended to signify and include any or all possible combinations of one or more of the associated listed items.
It shall be understood that, although the terms “first,” “second,” “third,” etc. may be used herein to describe various information, the information should not be limited by these terms. These terms are only used to distinguish one category of information from another. For example, without departing from the scope of the present disclosure, first information may be termed as second information; and similarly, second information may also be termed as first information. As used herein, the term “if” may be understood to mean “when” or “upon” or “in response to a judgment” depending on the context.
The processing component 120 typically controls overall operations of the computing environment 130, such as the operations associated with display, data acquisition, data communications, and image processing. The processor 131 may include one or more processors to execute instructions to perform all or some of the steps in the above-described methods. Moreover, the processor 131 may include one or more modules which facilitate the interaction between the processor 131 and other components. The processor may be a Central Processing Unit (CPU), a microprocessor, a single chip machine, a GPU, or the like.
The memory 132 is configured to store various types of data to support the operation of the computing environment 130. Examples of such data comprise instructions for any applications or methods operated on the computing environment 130, CT, MRI or PET datasets, image data, etc. The memory 132 may be implemented by using any type of volatile or non-volatile memory devices, or a combination thereof, such as a static random-access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic or optical disk.
In an embodiment, the computing environment 130 may be implemented with one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), GPUs, controllers, micro-controllers, microprocessors, or other electronic components, for performing the above methods.
The method for smart interpolation of annotations on tomographic images is programmed as one set of predetermined software 133 and installed on the computing environment 130. When the computing environment 130 receives CT, MRI or PET images from scanner controller 120, the predetermined software 133 is executed to generate the annotations.
In step 210, 3D tomographic images (CT, MRI or PET images) are received.
In step 212, corresponding label for 3D images with contours of regions-of-interest (ROIs) is received if the label is available from either automatic segmentation algorithm or manual delineation. If unavailable, an empty label is created.
In step 214, user changes on each 2D slice are recorded. A history dictionary keeps track of the axis information and user changes made on each 2D slice. The user changes include addition, subtraction, or a combination of both addition and subtraction made to ROI contours.
In step 216, two neighboring edited 2D slices are found by looping through 2D slices recorded in the history dictionary from top to bottom. Once two neighboring edited 2D slices (upper and lower) are found, the algorithm checks to see if there are any slices between the upper and lower slices. All the steps described below will be skipped if there is no slice present between the upper and lower slices.
In step 218, polygon contours are first extracted from net changed areas and polygons are matched/paired between two neighboring edited 2D slices. For both the upper and lower slices, the difference between the edited ROI contour and original ROI contour is computed to extract the net changed area between the original and edited contour. Then polygon contours will be extracted from the net changed area on both the slices. The net changed area can be positive and negative.
The positive or negative polygons are calculated respectively for the following steps. Assuming there are M polygons on the upper slice and N polygons on the lower slice, the next step is to match the polygons from the upper and lower slice to create pairs. First, the centroid for each of the polygons is computed by calculating the mean of all points in the polygon. Then the distance is calculated between centroids of each of the M polygons and each of the N polygons. Based on the shortest distance between the centroids, each of the M polygons is assigned a polygon from N polygons as the matched/paired polygon. Note that each of the M polygons is paired with only one closest polygon from the N polygons while each of the N polygons can be paired with zero or multiple polygons from the M polygons. Hence, there are M pairs of polygons.
For each pair of polygons, an iterative closest point (ICP) algorithm is used to register the polygons. First, a point from the upper slice is extracted. Then, using the ICP algorithm, the transformation (combination of rotation and translation) matrix is computed using distance minimization technique where distance is the sum of squared differences between the coordinates of the matched pair. Using the obtained transformation, the point from the upper slice is transformed. Then, the angle/slope of this point in the transformed point is computed with respect to the centroid of the given polygon. On the paired polygon of the upper slice found on the lower slice, a line is drawn from the centroid with the calculated angle/slope in the above step. The matched point on the lower slice is determined as the point that intersects the line with the polygon. After determining the matched point, the point is inserted into the original point on the lower slice.
Then, interpolation of changes is performed by first resampling a set of 5 additional corresponding points between the registered polygons from two adjacent edited slices. Then, the linearly interpolated polygon is calculated based on the resampled point pairs.
In step 220, the interpolated changes are applied to existing contours on each unedited 2D slice.
Finally in step 222, post-processing is applied to produce final 3D segmentation of ROIs. For that, smoothing and filling holes is applied. The smoothing method is first binary dilation with 5 pixels, followed by binary erosion with 5 pixels. If there exist holes in the upper or lower slices (e.g. an index with 1 for existence and 0 for inexistence), the slices in between calculate the linearly interpolated decision to fill holes (with the index <0.5). For positive changes, the interpolated areas are assigned with 1 in the original slice. For negative changes, the interpolated areas are assigned with 0 in the original slice. Then the label after removing the interpolated negative areas will be measured to keep all large areas (area threshold is 1/10 of the largest area) because some small areas close to the boundary are always not removed.
To validate the smart interpolation algorithm, we performed some experiments.
Similarly,
Furthermore,
Further experiments were performed to determine the ideal ‘n’ for skipping slices. On average, skipping about 10 slices while editing and running smart interpolation yield dice improvement of about 89% when compared to the contours in need of editing. Similarly, skipping about 5 slices while editing and running smart interpolation yields dice improvement of about 95%. Skipping about 3 to 5 slices while editing and running smart interpolation yields dice improvement of about 97%. Finally, skipping about 1 to 2 slices while editing and running smart interpolation also yields dice improvement of about 97%. Therefore, we have determined ‘n’ to be about 3-5 slices to yield the best performance while saving a significant amount of time.
This invention was made with government support under Grant No. R44CA254844 awarded by The National Institute of Health. The government has certain rights in the invention.