The present disclosure relates generally to systems and methods related to the segmentation of three-dimensional images of a patient.
Segmentation is an important processing step in many imaging applications for analyzing or interpreting an image. In particular, image segmentation is the process of assigning a label to every pixel in an image such that pixels that share similar characteristics such as color, intensity or texture are given the same label. In medical imaging, segmentation methods are used to identify boundaries of specific objects such as bones, heart, tumors or any such anatomical structures or abnormal regions in a medical image. The medical images may be obtained by means of Magnetic Resonance Imaging (MRI), Computed Tomography (CT), Ultrasound (US) or any other imaging modalities. Identification of specific objects in a medical image helps in extracting meaningful quantitative information from the medical image that will aid in the diagnosis of a patient's medical condition. Segmentation of medical images is also useful for many other applications, including surgical planning, robotic surgery, patient-specific instrumentation (PSI), and drug trials.
Various computer-aided segmentation methods have been developed for segmenting medical images. These methods can generally be classified as automatic (unsupervised), interactive (semi-supervised), and manual (supervised) methods. Manual segmentation methods give reliable results when identifying objects from an image for a particular clinical task, such as tumor detection. In manual segmentation methods, a user or an operator, who is generally a medical practitioner with a knowledge of the human anatomy, utilizes mouse-based software to outline or label regions of specific objects in an image that can be further utilized for providing a specific diagnosis. Such a method of manually identifying specific objects does not serve the needs of daily clinical use well as it is tedious, time consuming and suffers from problems related to operator variability.
Unsupervised or automatic segmentation methods such as ones based on thresholding, watershed, edge detection, morphological operation, neural network, region growing, graph cuts or shape analysis provide segmentation results without prior knowledge about the images and without any user interaction. Unsupervised segmentation methods are generally applied for segmentation of well-circumscribed objects in an image. When applied to medical images, they are able to generate rough segmentation results which would require further refinement.
The shortcomings of automatic and manual segmentation methods led to the development of interactive or semi-automatic segmentation methods. Interactive segmentation methods use a combination of human experts and machine intelligence to improve segmentation accuracy and efficiency. The present application discloses a semi-automatic segmentation method that utilizes landmarks to provide more accurate results compared to prior methods.
This Summary introduces a selection of concepts in a simplified form that are further described below in the Detailed Description below. This Summary is not intended to limit the scope of the claimed subject matter nor identify key features or essential features of the claimed subject matter.
According to a first aspect, a method for performing segmentation on image data including a first bone is provided. The method includes retrieving the image data of the first bone, performing a first segmentation process on the image data associated with the first bone with a first shape model to generate a first segmentation of the first bone, and performing a second segmentation process on an image region of the image data associated with the first bone using a first neural network to generate a second segmentation of the first bone. The second segmentation process utilizes, as a first input, the image data associated with the at first bone, and as a second input, the first segmentation of the first bone. The method further includes mapping the output of the first shape model to an output of the second segmentation process and determining the anatomical landmarks in the output of the second segmentation based on the mapping.
According to a second aspect, a non-transitory computer readable storage medium having stored therein data representing instructions executable by a programmed processor for vertebra segmentation for three-dimensional computed tomography is provided. The storage medium includes instructions for: retrieving the CT image data of the spine, performing a first segmentation process on the image data associated with the first bone with a first shape model to generate a first segmentation of the first bone, and performing a second segmentation process on an image region of the image data associated with the first bone using a first neural network to generate a second segmentation of the first bone. The second segmentation process utilizes, as a first input, the image data associated with the first bone, and as a second input, the first segmentation of the first bone. Finally, the storage medium also includes instructions for mapping the first shape model to an output of the second segmentation process and displaying the output of the second segmentation process.\
According to a third aspect, a method for performing segmentation on CT image data of a spine is provided. The method includes retrieving the CT image data of the spine, the CT image data including image data associated with a plurality of vertebrae. After receiving the CT image data, the method further includes detecting an estimated position of at least four pedicle regions for the CT image data associated with the plurality of vertebrae, determining a pose for each of at least two of vertebra based on the detected estimated position of the at least four pedicle regions using on a multiple hypothesis approach, performing a first segmentation process on the CT image data associated with the at least two vertebra with a shape model to generate a first segmentation of the at least two vertebra, and performing a second segmentation process on the image region of the CT image data associated with the at least two vertebra using a first neural network to generate a second segmentation of the at least two vertebra. The second segmentation process utilizes, as a first input, the CT image data associated with the at least two vertebrae, and as a second input, the first segmentation of the at least two vertebrae. The method also includes mapping the shape model to the output of the second segmentation process, applying landmarks from the shape model to the output of the second segmentation process using the mapping, and overlaying a segmentation mask based on the second segmentation over the CT image data.
According to a fourth aspect, a non-transitory computer readable storage medium having stored therein data representing instructions executable by a programmed processor for vertebra segmentation for three-dimensional computed tomography is provided. The storage medium includes instructions for: retrieving the CT image data of the spine, the CT image data including image data associated with a plurality of vertebrae; detecting an estimated position of at least four pedicle regions for the CT image data associated with the plurality of vertebrae; and determining a pose for each of at least two of vertebra based on the detected estimated position of the at least four pedicle regions using on a multiple hypothesis approach. The storage medium further includes instructions for: performing a first segmentation process on the CT image data associated with the at least two vertebra with a shape model to generate a first segmentation of the at least two vertebra; performing a second segmentation process on the image region of the CT image data associated with the at least two vertebra using a first neural network to generate a second segmentation of the at least two vertebra, the second segmentation process utilizing, as a first input, the CT image data associated with the at least two vertebra, and as a second input, the first segmentation of the at least two vertebra. Finally, the storage medium includes instructions for overlaying a segmentation mask over the CT image data, the segmentation mask being based on the second segmentation.
According to a fifth aspect, a method for performing segmentation on image data of a spine is provided. The method starts by retrieving the CT image data of the spine, the CT image data including a first image data associated with a plurality of vertebrae and a second image data associated with at least two of the plurality of vertebrae. The method further includes determining that metal is present in the second image data and employing a metal process in response to determining that metal is present in the second image data. The metal process includes converting at least a portion of the second image data at least one binary image, generating a metal segmentation of the at least two of the plurality of vertebrae using a neural network, and fitting a binary shape model to the at least one binary image. Finally, the method includes overlaying a first segmentation mask over the CT image data, the first segmentation mask being based on the metal segmentation.
According to a sixth aspect, a method for performing segmentation on CT image data is provided. The method begins with retrieving the CT image data, the CT image data including a first image data associated with an anatomical element of a patient and a second image data associated with at least a portion of the anatomical element. Subsequently, the method includes determining that metal is present in the second image data and employing a metal process in response to determining that metal is present in the second image data. The metal process includes converting at least a portion of the second image data from a CT image format to at least one binary image, generating a metal segmentation of the at least two of the plurality of vertebrae, and fitting a binary shape model to the at least one binary image. Finally, the method includes overlaying a first segmentation mask over the CT image data, the first segmentation mask being based on the metal segmentation.
Any of the above aspects can be combined in part or in whole with any other aspect. Any of the above aspects, whether combined in part or in whole, can be further combined with any of the following implementations, in full or in part.
In some implementations, the method further includes detecting an estimated position of at least one region or feature of the first bone in the image data and determining a pose for each of the first bone based on the detected estimated position of the at least one region or feature.
In some implementations, the method further includes applying anatomical landmarks from the first shape model to the output of the second segmentation process using the mapping. In some implementations, the method further includes applying landmarks from the binary shape model to the first segmentation mask using the fitting of the binary of the shape model.
In some implementations, the first bone is a femur, a tibia, a pelvis, or a vertebra. In some implementations, the first bone is a first vertebra and the second bone is a second vertebra which is different from the first vertebra. In some implementations, the first bone is a femur and the second bone is a tibia.
In some implementations, the method further includes retrieving image data of a second bone, performing a third segmentation process on the image data associated with the second bone with a second shape model to generate a first segmentation of the second bone, and performing a fourth segmentation process on the image region of the image data associated with the second bone using a second neural network to generate a second segmentation of the second bone. The fourth segmentation process utilizes, as a first input, the image data associated with the second bone, and as a second input, the first segmentation of the second bone. In some implementations, the method further includes mapping the second shape model to an output of the fourth segmentation process for the second bone and displaying the output of the fourth segmentation process.
In some implementations, the shape model includes at least two model vertebrae, and the step of performing the first segmentation process on the CT image data associated with the at least two vertebrae with the shape model to generate the first segmentation of the at least two vertebra includes associating each of the at least two vertebrae with a respective one of the at least two model vertebrae. In some implementations, the shape model further includes model pedicle positions associated with each of the at least two model vertebrae and each of the at least two vertebrae are associated with the respective one of the at least two model vertebrae based on a comparison of the estimated positions of the at least four pedicle regions and the model pedicle positions. In some implementations, the shape model is a binary active appearance model. In some implementations, the method further includes selecting the shape model from a plurality of active appearance models based on a user input. In some implementations, the first shape model is different from the second shape model.
In some implementations, the first shape model is further defined as a grid of a plurality of active appearance model instances. In some implementations, the method further includes running each active appearance model instance against the image data, culling at least one instance from the plurality of run active appearance model instances based on a cost associated with each active appearance model instance, and performing the first segmentation process using the at least one of the active appearance model instances that remain after the step of culling at least one instance.
In some implementations, the step of determining the pose of the at least two vertebra includes determining the pose of a first vertebra of the least two vertebra relative to a reference coordinate space of the CT image data. In some implementations, the step of determining a pose of the at least two vertebra includes determining a pose of a second vertebra of the at least two vertebra relative to a position and orientation of the first vertebra of the at least two vertebra. In some implementations, the multiple hypothesis approach is a Bayesian multiple hypothesis approach. In some implementations, the step of determining the pose for at least two vertebra based on the detected estimated position using the Bayesian multiple hypothesis approach includes generating a probability weighting graph.
In some implementations, the landmarks include at least one of a first pedicle, a second pedicle, a lamina, and a superior endplate. In some implementations, the method further includes calculating anatomical information including a pose of at least one anatomical landmark based on the second segmentation.
In some implementations, the method further includes receiving user input with respect to an image region of the CT image data, the image region corresponding to one of the plurality of vertebrae. In some implementations, the user input is indicative of a desired level label for one of the plurality of vertebrae.
In some implementations, the method further includes generating a plurality of additional labels, each one of the plurality of additional labels being associated with one of the plurality of vertebra of the CT image data. In some implementations, the method further includes generating a plurality of labels, each one of the plurality of labels being associated with one of the first bone and the second bone. In some implementations, the step of generating the plurality of labels is based on the first shape model and the second shape model.
In some implementations, the first neural network is different from the second neural network. In some implementations, the first neural network is a convolutional neural network. In some implementations, the second neural network is a convolutional neural network.
In some implementations, the method further includes converting the segmentation mask to a surface mesh. In some implementations, the method further includes receiving user input with respect to the segmentation mask. In some implementations, the method further includes, in response to the user input with respect to the segmentation mask, indicating at least one of the segmentation is incorrect and a label associated with a vertebra is incorrect.
In some implementations the method further includes performing a first segmentation process on the first image data with a second shape model to generate a first segmentation of the at least two vertebrae and performing a second segmentation process on the first image data using a first neural network to generate a second segmentation of the at least two vertebrae. The second segmentation process utilizes, as a first input, the first image data, and as a second input, the first segmentation of the at least two vertebrae. In some implementations, the method further includes mapping the second shape model to the output of the second segmentation process, applying landmarks from the second shape model to the output of the second segmentation process using the mapping, and overlaying a second segmentation mask over at least a portion of the CT image data, the second segmentation mask being based on the second segmentation. In some implementations, the method includes overlaying a second segmentation mask over the first image data, the second segmentation mask being based on the second segmentation. In some implementations, the step of overlaying the first segmentation mask over the CT image data includes overlaying the first segmentation mask over the second image data.
In some implementations, the method is carried out by instructions stored on the computer readable storage medium.
Advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings.
Referring to the Figures, wherein like numerals indicate like or corresponding parts throughout the several views, a surgical system 100 including a surgical navigation system 110 and methods for using the same are shown throughout.
Referring to
The display unit 120 is configured to display various graphical user interfaces (GUI) 150 and patient images (e.g., pre-operative patient images or intraoperative patient images). The pre-operative images may be uploaded to the surgical navigation system 110 prior to the surgical procedure. A user such as a medical professional may interact with the various GUIs 150 via user input devices 130 or via touch input. The display unit 120 of the surgical navigation system 110 may be configured to display various prompts or data entry boxes. For example, the display unit 120 may be configured to display a text box or prompt that allows the user to manually enter or select the type of surgical procedure to be performed.
The display unit 120 may be further configured to display a surgical plan for a medical procedure overlaid on the patient images. The surgical plan may include the surgical pathway for executing the medical procedure, planned trajectory, orientation, and/or position for the medical instrument and/or implant during the medical procedure. The surgical plan may also include a pose of an implant or medical device to be inserted during the medical procedure overlaid onto the patient data or image. It is contemplated that the surgical navigation system 110 may be configured to display and/or project a holographic image of surgical pathway for executing the medical procedure or planned trajectory or orientation for the medical instrument during the medical procedure. This may include projecting the surgical pathway onto the patient or other surface in the operating room. It may also include a projection of the surgical pathway onto the head unit worn by the user, such as a lens, shield, or glasses of the head unit. An exemplary configuration of the surgical navigation system 110 including a display unit worn by the user to display the target trajectory and/or target location is disclosed in International Publication No. WO/2018/203304 A1, the entirety of which is hereby incorporated by reference.
The GUI 150 may be configured to allow the user to input or enter patient data or modify the surgical plan. The patient data, in addition to the patient images, may include additional information related to the type of medical procedure being performed, the patient's anatomical features, the patient's specific medical condition, and/or operating settings for the surgical navigation settings. For example, in performing a spinal fusion procedure, the user may enter information via the user input devices 130 and/or the GUI 150 related to the specific vertebra or vertebra on which the medical procedure is being performed. The user may also input various anatomical dimensions related to the vertebrae and/or the size and shape of a medical device or implant to be inserted during the medical procedure. The user input devices 130 and/or the GUI 150 may also be configured to allow the user to select, edit or manipulate the patient data. For example, the user may identify and/or select anatomical features from the patient data. This may include selecting the surgical site, such as selecting the vertebra and/or specific area on the vertebra where the medical procedure is to be performed.
The surgical navigation system 110 may be configured to utilize segmentation to facilitate various features of surgical navigation, such as tool guidance and the generation of alert zones of interests around critical anatomical features. These critical anatomical features may include, cortical walls, nerves, blood vessels or similar critical anatomical structures. The alert zones may be defined by one or more virtual boundaries. The user may also provide input to the user input devices 130 or to the GUI 150 to identify additional critical anatomical features and/or alert zones in addition to what was suggested by the navigation computer 140 or wish to edit alert zones and/or virtual boundaries generated by the navigation computer 140. The user may also provide input to the user input devices 130 or to the GUI 150 to select and/or input a target location, target trajectory, target depth or similar feature of the surgical pathway to help guide the user in performing the medical procedure.
The input to the user input devices 130 or to the GUI 150 may be provided to select the surgical instrument to be used, to select the device and/or implant to be inserted, to select a planned pose where the device or implant is to be placed within the patient, and to allow the user to select the parameters of the implant to be inserted, such as the length and/or diameter of the screw to be inserted. As will be described in more detail in Section II, the input to the user input devices 130 or to the GUI 150 may also affect the segmentation process.
The surgical system 100 may also include an imaging system 160 in communication with the surgical navigation system 110. The imaging system 160, such as CT or MRI imaging device, may perform intraoperative imaging. If the imaging system 160 is a CT imaging device, the imaging system 160 may generate CT image data. The imaging system 160 may include a scanner 162 and a display unit 164. The scanner 162 may be utilized to take an image of the patient and display it on the display unit 164. For example, the scanner 162 may include a C-arm configured to be rotated about the patient to produce a plurality of images of the patient. The imaging system 160 may also include a processor (not shown) including software, as is known by those skilled in the art, which is capable of taking the plurality of images captured by the scanner 162 and producing a 2D image and/or a 3D model of at least a portion of the patient. The display unit 164 may be configured to display the resulting 2D image and/or 3D model.
The imaging system 160 may also be in communication with the navigation computer 140 of the surgical navigation system 110. The imaging system 160 may be configured to communicate via a wired and/or a wireless connection with the navigation computer 140. For example, the imaging system 160 may be configured to provide pre-operative and/or intra-operative image data, such as the resulting 2D image and/or 3D model of the patient, to the navigation computer 140 to provide the resulting 2D image and/or 3D model to the display unit 120. If the imaging system 160 is a CT imaging device, the imaging system 160 may provide the navigation computer 140 with CT image data.
The surgical system 100 also includes a surgical instrument assembly 170 in wired or wireless communication with the navigation computer 140 directly, or indirectly. While only the first surgical instrument assembly 170 is illustrated in
Further, the navigation system 110 may include the tracking unit 112 to track the instrument assembly 170, the surgical robot, and/or other elements of the surgical system 100. The tracking unit 112 may include one or more sensors 114 for tracking the tracking device 176 of the surgical instrument assembly 170. The sensors may include cameras, such as CCD cameras, CMOS cameras, and/or optical image cameras, magnetic sensors, radio frequency sensors, or any other sensor adapted to detect and/or sense the position of a tracking device 176 of the surgical instrument assemblies 170. Description of a suitable tracking unit, and the various localizers that it can utilize may be found in U.S. Patent Publication No. 2017/0333137, which is hereby incorporated by reference in its entirety.
Referring to
As described in Section I above, the surgical navigation system 110 may utilize segmented image data to carry out various functions of the system 110. For example, the segmented image data may be used to identify boundaries of specific objects such as bones, heart, tumors or any such anatomical structures or abnormal regions in the image. The identified objects may be used to extract quantitative information from the image that may be used in the diagnosis of a patient's medical condition, surgical planning, robotic surgery, patient-specific instrumentation (PSI), and drug trials. It will be appreciated that the accuracy of the boundaries of the one or more object portions identified in the segmentation affects the usefulness of the image segmentation. For example, an error in the segmentation can lead to segmented images which do not accurately reflect the anatomy of the patient. The segmented image data may be generated according to segmentation method described herein.
Referring to
Referring to
At 317, the navigation computer 140 optionally determines if any metal is present within the image data. When the image data is created by the imaging system 160 (e.g. CT scanner 162), x-rays are passed from an x-ray emitter (located on one side of the patient), through the patient, and received by an x-ray detector (located on an opposing side of the patient) to generate a CT image. The scanner 162 then rotates, another CT image is generated, and the process repeats as the scanner 162 rotates about the patient. Normally these x-rays are attenuated to various degrees as the x-rays pass through tissues of varying densities, and the resulting image data contains a 3D image consisting of a large number of voxels (3D pixels). Each voxel is colored according to the intensity of the x-ray(s) received by the x-ray detector after passing through the patient. This intensity is measured in Hounsfield units (HU). However, metal within the patient (e.g. a spinal implant) may be dense enough to attenuate the x-rays to an extreme degree. As a result, the image data will contain voxels with extremely high intensity values (or extremely low intensity values depending on how the imaging system 160 is configured) wherever metal was present during the scan.
In light of the above, the navigation computer 140 can determine where metal, if any, is present in the image data by looking to the intensity values of the voxels in the image data. In one implementation, the navigation computer 140 sets a voxel intensity threshold and determines which voxels have an intensity value over the threshold. The navigation computer 140 then identifies these voxels as likely containing metal. To reduce false-positives, or to otherwise improve the results of the metal detection, the navigation computer 140 may further set a voxel group intensity threshold and determine which groups of voxels contain a threshold number/concentration of voxels which have an intensity value over the voxel intensity threshold. The navigation computer 140 then identifies these groups of voxels as likely containing metal.
If the navigation computer 140 identifies metal in the image data based on the above, the segmentation method 300 proceeds to a metal process at 318. Otherwise, the segmentation method 300 proceeds to 320. The segmentation method 300 employs a first segmentation process at 320 as described below, which includes fitting at least one shape model to the image data. This fitting process may not be reliable if metal is present in the image data, and the segmentation method 300 includes a separate process for CT images containing metal. This process is herein referred to as the metal process.
In some implementations, and as also described below, the first segmentation is carried out on each detected vertebra individually. In other words, shape models each containing a single vertebra are matched to the corresponding detected vertebra. In such an implementation, the metal process may be carried out on only the vertebra(e) which contain metal while the other detected vertebra(e) (which do not contain metal) are segmentation with the first segmentation process. Alternatively, if the first segmentation is carried out on two or more of the detected vertebrae, the metal process may be utilized if at least one of the detected vertebrae contain metal. At 318, the metal process is called by the navigation computer.
Referring to
At 318A, the navigation computer 140 converts at least a portion of the image data (e.g. a detected vertebra containing metal) from CT image format to at least one binary image. The navigation computer 140 generally utilizes a fully connected neural network to carry out this conversion. In an implementation where the navigation computer 140 detects one vertebra with metal and where step 318A is carried out on only that one vertebra, the navigation computer 140 (i.e. the fully connected neural network) starts by splitting the image data into “cubes” and defining local coordinate systems for each of these cubes. Each cube generally corresponds to a section of the image data. More specifically, as the image data is a volumetric image with a height and a width, each cube may be a section of the image data. In some implementations, each cube corresponds to a single vertebral level. In other implementations, each cube corresponds to multiple vertebral levels. In either case, the navigation computer 140 also defines a local coordinate system for each cube when splitting the image data. After splitting the image data into the cubes, the navigation computer 140/neural network can segment each cube separately. This allows the navigation computer 140 to carry out the metal process on any cubes which contain metal. The navigation computer 140 further converts each cube containing metal into binary image(s).
At 318B, the navigation computer 140 fits a binary shape model to the binary image(s) to create a metal segmentation. After the binary shape model is fit, the segmentation method 300 proceeds to 324.
Referring back to
In any implementation, the shape model may be realized as a plurality of shape model instances such that the plurality of shape model instances is utilized in place of the singular shape model. Multiple pluralities of shape model instances may also be used. For example, where the first segmentation is generated by matching each of the detected vertebra with an existing shape model of a single vertebra, the first segmentation may be generated by matching each of the detected vertebra with one plurality of shape model instances, respectively. In such implementations, the first segmentation process includes generating a first segmentation of the vertebrae using the output of the multiple hypothesis approach as well as the plurality of shape model instances. Further, the method 300 may include determining a cost associated with each shape model instance and culling at least one instance from the plurality of shape model instances based on the cost(s). Subsequently, the first segmentation process is performed using at least one of the shape model instances of the plurality of shape model instances which remains after culling at least one instance.
The navigation computer 140 is capable of matching a shape model to a detected vertebra based on at least one of (1) the selected vertebral level or (2) the details of the shape model known to the navigation computer 140. If relying on selected vertebral level (provided by the user at 308), the navigation computer 140 determines the specific level (e.g. T3) of each vertebral level by propagating the vertebral level through the rest of the vertebral levels present in the image data. For example, if the user provided a label of T2 on the uppermost vertebra in the image data, the computer 140 may label the second uppermost vertebra T3, the third T4, and so on. After doing so, the computer 140 may then match a shape model to each detected vertebra based on the level label. For example, the computer 140 may match a shape model containing a T3 vertebra to the vertebra labeled as T3 in the image data. Alternatively, the computer 140 may match a shape model according to the details of the shape model know to the computer 140. For example, the navigation computer 140 may know the precise location of each pedicle of the vertebra as well as a lamina of the vertebra present in the shape model based on information associated with the shape model. Thus, the navigation computer 140 can match each of the detected vertebra to an appropriate shape model by matching the relative orientation/location of the pedicles/lamina of each detected vertebra present in the image data with the shape model that has substantially similarly oriented/located pedicles/lamina. In another example, the navigation computer 140 may compare the shape of the outer surface of the shape model to the shape of the outer surface of the vertebra in the image data. These methods apply where the shape model(s) contains a single vertebra as well as where the shape model(s) contains two or more vertebrae.
At 324, the navigation computer 140 performs a second segmentation process on the image data. The second segmentation process is configured to refine the first segmentation and includes generating a second segmentation of the vertebrae by providing two inputs to a neural network: the image data, and the first segmentation of the vertebrae. Alternatively, the second segmentation process may refine the metal segmentation by generating the second segmentation of the vertebrae by providing the image data and the metal segmentation to the neural network. In either case, the neural network used at 324 may be the same or different from the neural network used at 312. Either neural network may be a convolutional neural network or any suitable alternative. At 328, the navigation computer 140 fits the shape model to the second segmentation. In one implementation, the computer 140 morphs the shape of the shape model until it is substantially similar to the second segmentation. For example, if the method 300 is being carried out on a T3 vertebra, the shape model includes a model T3 vertebra. This model T3 vertebra is spatially morphed to be the same shape as the T3 vertebra in the image data. At 332, the navigation computer 140 applies landmarks (e.g. pedicle locations, lamina locations, superior endplate locations, etc.) of the shape model to the second segmentation. The locations of the landmarks of the shape model are aligned with the locations of the landmarks in the second segmentation when the model is morphed to fit the second segmentation. At 332, these landmark locations are applied to the second segmentation itself. For example, if the landmark is a pedicle of the model T3 vertebra described above, this T3 pedicle landmark is applied to the second segmentation at substantially the same location as the T3 pedicle. The shape model may include other landmarks which are also applied to the second segmentation.
As described above, the navigation computer 140 provides the image data and the first segmentation of the vertebrae to the neural network in order to generate the second segmentation. The image data is generally input to the neural network in a format that is substantially similar to the standard CT image format (voxel intensities and/or Hounsfield Units). The first segmentation, on the other hand, may be input to the neural network as either a signed distance function or an isosurface (also called a partvol). Regardless of the implementation, the first segmentation is converted from a mesh format to an image format prior to being input to the neural network. This way, the two inputs, the CT image and the first segmentation, are provided to the neural network in a common format (a volumetric image format). Other formats are contemplated.
The shape model may also integrate planning information, such as the position, orientation, or size of a planned implant or surgical instrument. Examples of integrated planning information are described in U.S. Publication No. 20090089034, which is hereby incorporated by reference. Alternatively, the shape model may integrate zones that define alert zones to provide feedback to users. Exemplary zones are described in US20220338938, which is hereby incorporated by reference in its entirety.
Also, the planning information is incorporated into the shape model by defining the planning information in terms of a number of points. It will be apparent that other combinations of points can be used in order to define the planning information and that different types of planning information can be incorporated. In the following examples, the planning information relates to the position, orientation and size of surgical implants. However, the planning information does not need to be limited to, or include all or, position, orientation or size. Further, the planning information can relate to different types of components and is not limited to implants. For example, the planning information can relate to the position, orientation, size or type of instruments, tools or other implements used during a surgical procedure.
Orientations are represented by two points, with the straight line there through defining the orientation. Orientations can also be derived from combinations of points by carrying out geometric calculations using the points obtained from an instantiation of the model. For example, a plane may be defined by three points and then an orientation be derived from the plane as being the direction normal to the plane. Similarly angles may be derived from the angle subtended by the intersection of two straight lines passing through points obtained from the shape model or from the angle subtended by the intersection of a straight line passing through two points from the model and a plane passing through three points obtained from the model.
At 336, the navigation computer 140 overlays a segmentation mask, the mask being based on the second segmentation, over the image data. In some implementations, the navigation computer 140 utilizes an algorithm such as marching cubes or the like to convert the segmentation mask into a refined surface mesh. In such an implementation, the navigation computer 140 also projects/maps the shape model (and its corresponding information) onto the refined surface mesh to create a segmentation output. The segmentation output is thus based on the second segmentation and may further include the landmarks, planning information, and/or zones from the shape model. The segmentation mask may be a binary segmentation mask, a semantic segmentation mask, or a suitable alternative. The segmentation mask may be converted into a surface mesh that is aligned with the image data. In one implementation, the segmentation mask is converted into the surface mesh using a neural network and refined with a marching cubes algorithm. As a result, the user may view the surface mesh overlaid onto the image data with the GUI 150.
In some implementations, the segmentation mask is based on both of the second segmentation and the metal segmentation. The navigation computer 140 still overlays the segmentation over the image data and the navigation computer 140 may still utilize an algorithm such as marching cubes or the like to convert the segmentation mask into the refined surface mesh. In such an implementation, however, the navigation computer 140 not only projects/maps the shape model (and its corresponding information) onto the refined surface mesh like in the above implementation, but also projects/maps the binary shape model (and its corresponding information) from the metal process onto the refined surface to create a segmentation output.
At 340, the navigation computer 140 employs an error handling process to determine whether any errors exist within the segmentation mask and/or whether any errors otherwise occurred during the segmentation method 300.
Referring to
If the user and/or the navigation computer 140 determines that both the labels and landmarks of the segmentation output match the image data after the segmentation mask is transformed into the segmentation surface mesh and overlayed over the image data (e.g. at 336), the error handling process ends. If at least one of the labels and landmarks are incorrect, the error handling process continues to 340B. At 340B, the navigation computer 140 determines if only the vertebra labels are incorrect or if both the labels and landmarks are incorrect. If only the labels are incorrect, the navigation computer 140 prompts the user to input corrected level labels for the incorrectly labeled vertebra(e). After receiving the corrected labels, the error handling process directs the navigation computer 140 to 320 to redo steps 320 through 340 of the segmentation method. If, however, the labels and landmarks are both incorrect when compared to the image data, the error handling process prompts the user to input corrected level labels and continues to 340C. At 340C, the navigation computer 140 determines whether the basic shape of the vertebra (now correctly labeled) matches any of the shape models corresponding to the level associated with the vertebra. If no available shape models match the shape of the vertebra, a bone detector network is used. An example of a bone detector network is described in U.S. Pat. No. 7,593,762, which is hereby incorporated by reference in its entirety.
After 340C and the corresponding processes, the segmentation method 300 continues/returns to 324 and performs the second segmentation process on the image data. The method 300 then continues as shown in the figures.
Referring to
Referring to
Referring to
As part of the segmentation method 300, the navigation computer 140 attempts to detect points of the selected vertebra region 156 which correspond to pedicles of the patient's spine. A plurality of estimated pedicle positions 157 are shown in
Referring to
The multiple hypothesis approach takes the estimated pedicle positions 157 as input and attempts to find the most likely spine shape (i.e. spine centerline) with the inputs 157. The spine shape is found by grouping the estimated pedicle positions 157 to form vertebrae, removing false positive pedicle positions, and estimating locations of missed pedicles positions. The input points 157 are used to produce a one or more reasonable hypotheses that solve the aims listed above. Different combinations of groupings, false positives and misses that fall within reasonable constraints form the hypotheses. The remaining problem is how to find the most likely hypothesis by assigning an approximate probability to each hypothesis.
The probabilities are calculated as a relative probability score with the comparison point being the state where all the detected points 157 are false positive. In this way grouping key points to form a hypothesized vertebra 158 removes the probability of a false positive from the calculation. Hypothesized vertebrae 158 are less likely to be false positives if they have a complete set of points 157 in the correct arrangement while single ungrouped points 157 are less likely but still may be vertebra. Negative log probabilities are used so removing a false-positive decreases the score for a hypothesis. The relative position between two adjacent vertebrae 158 increases the probability score. There is a probability distribution of displacements between adjacent vertebra 158 which can be used to calculate this. Further, there is a probability that one or more vertebra levels have no points 157 detected due to image quality or clinical issues. This is also factored into the calculation. Each hypothesis contains a set of points 157 grouped into vertebrae 158 as well as ungrouped points 157. The multiple hypothesis approach does not arrange the vertebrae into the spine shape. The probability score and the spine shape can be calculated at the same time by formulating each hypothesis into a directed graph and solving using a minimum path solver.
For each hypothesized vertebra 158 and ungrouped point 157 two nodes are defined. One labelled ‘IN’ and one labelled ‘OUT’. An edge is added between every ‘OUT’ node to every ‘IN’ node that is part of a vertebra 158 or point 157. The cost of that edge is calculated as the negative of the log probability of that vertebra-to-vertebra displacement, which gives a positive edge cost. An edge is added from the ‘IN’ to the ‘OUT’ node of every vertebra or ungrouped key point, the cost of this edge is the log probability of the key points being false positives, which results in a negative cost. The minimum path from any to all nodes is calculated using the bellman-ford algorithm initialized from each node in turn. As some nodes' costs are negatives the path length will typically not be zero. The multiple hypothesis approach balances the probability of unlikely vertebra displacements and one or more skipped levels against the probability of correctly arranged key points being false positives.
The adjacent vertebra displacement probabilities require some global parameters. The system starts with loose general parameters for a first pass which only runs on the single most likely hypothesis (as calculated by grouping probabilities only). From this solution the direction and general curvature of the spine is calculated. The second pass runs through all feasible hypotheses with the tuned parameters to find the minimum path across all hypotheses. Once the most likely grouping and path is found the position of missed levels is estimated. If the gap between two adjacent levels large, the expected vertebra spacing calculated from the rest of the spine can be used to estimate if there are one or more missed levels. The number and position of any missed levels can be estimated, and the orientation set to align to a local direction of the spine.
As a result of the multiple hypothesis approach, the navigation computer 140 knows and/or can calculate the location of three points for each detected vertebrae and may determine the pose of each of the detected vertebrae with these points. The three points are described with reference to
Referring to
Referring to
The slope of the spine centerline 159 may be calculated for a local vertebral level by first determining a vector extending between the two pedicles P1, P2, to determine a first dimension of the local coordinate system LCS (i.e. the x′-axis). The second dimension of the local coordinate system LCS (e.g. the y′-axis) may be calculated by first determining the slope of the spine centerline 159 at the vertebral level to determine a local spinal direction. The slope may be determined by any mathematical means. In one implementation, the slope is determined by finding a vector spanning from a point on the spine centerline corresponding to a vertebral level above the local vertebral level and to a point on the spine centerline corresponding to a vertebral level below the local vertebral level. For example, for the T2 vertebra, a vector spanning from the T1 vertebra to the T3 vertebra can be used to determine the slope of the spine centerline at the T2 vertebra. Once the local spinal direction is determined, the local spinal direction is treated as the z′-axis of the local coordinate system LCS. This z′-axis extends from the center of the vector extending between the two pedicles P1, P2. The y′-axis of the local coordinate system LCS may then be calculated by taking the cross product of the x′ and y′ axes.
It will be appreciated that although the method is described above with reference to CT image data and the spine of the patient, the method may also be applied to other forms of 3D image data and other tissues of the patient. In one example, the method may utilize MRI image data or the like. In another example, the method may be used to segment a joint of the patient, such as a knee joint, or a hip joint. Other alterations to the method are contemplated. The described system and method may be useful for a variety of orthopaedic joint procedures (for example replacement of hip, knee, shoulder, ankle and elbow joints), peri-acetabular osteotomy, tibial osteotomy, distal radius osteotomy, anterior cruciate ligament reconstruction, osteoid osteoma excision, bone tumor resection, spinal procedures (for example in the placement of pedicle screws), and fracture surgery. To these ends, another implementation of the method is described below.
Referring to
Referring to
After 408D, the method 400 may replace the image data with a higher-resolution version of the image data at 408E and attempt to fit the remaining shape models of the grid of shape models to the high-resolution image at 408F. Then, at 408G, the navigation computer 140 determines a cost function associated with each of the shape models. Like at 408C, the cost functions determined at 408G may be RMS residuals between the remaining shape models and the high-resolution image. After calculating the cost functions, the method 400 proceeds to discard at least one shape model of the remaining shape models based on the cost functions at 408H. The navigation computer 140 retains the shape models which most accurately represent the high-resolution image by retaining those with the lower cost functions.
Additionally or alternatively, after 408D, the method 400 may replace each of the remaining shape models with higher-resolution versions at 408E. In such an implementation, steps 408F through 408H may include attempting to fit the higher-resolution shape models to the image data at 408F, determining the cost functions associated with the higher-resolution shape models at 408G, and discarding the higher-resolution shape models that have the highest cost functions at 408H. The step 408E may even include replacing both of the image data and the remaining shape models with higher-resolution versions. In this case, steps 408F through 408H are carried out using the higher-resolution versions of the remaining shape models and the high-resolution image. Regardless of implementation, at 408I, the shape model with the lowest cost function is selected and the method 400 continues to 412.
Referring back to
At 420, the navigation computer 140 performs the first segmentation process on the image data. The first segmentation process includes generating a first segmentation of the bone(s) using the output of the multi-start algorithm, which includes the shape model selected by the algorithm. If the image data include more than one bone, such as a tibia and femur, the first segmentation process may include generating the first segmentation of the bones using two selected shape models, each of the two selected shape models corresponding to one of the bones. In this case, the multi-start algorithm may have been applied twice, first to select the shape model for the first bone, and second to select the shape model for the second bone. Alternatively, the selected shape model may include each of the bones included in the image data. At 424, the navigation computer 140 may perform a second segmentation process on the image data to refine the first segmentation. The second segmentation process includes generating a second segmentation of the vertebrae by providing two inputs to a neural network: the image data, and the first segmentation of the bone(s). Alternatively, the second segmentation process may refine the metal segmentation by generating the second segmentation of the bone(s) by providing the image data and the metal segmentation to the neural network. The neural network may be a convolutional neural network or any suitable alternative.
The remaining steps of the method 400, 428 through 440, are similar to the final series of steps of the previous method 300, 328 to 340. At 424, the navigation computer 140 fits the selected shape model(s) to the second segmentation, such as by morphing the selected shape model until it is substantially similar to the second segmentation. For example, if the method 400 is being carried out on a knee, the selected shape model may include a model tibia and model femur. This model tibia and model femur may be spatially morphed to be the same shape as the tibia and femur present in the image data. Subsequently, at 432, the navigation computer 140 applies landmarks (e.g. specific elements/surfaces of the bone(s), etc.) of the selected shape model to the second segmentation. The locations of the landmarks of the shape model are aligned with the locations of the landmarks in the second segmentation when the model is morphed to fit the second segmentation. At 432, like at 332, these landmark locations are applied to the second segmentation itself. For example, if the landmark is an element/surface of the knee described above, this knee landmark is applied to the second segmentation at substantially the same location as the corresponding element/surface of the knee. The selected shape model may include other landmarks which are also applied to the second segmentation. The method 400 then continues to 436.
At 436, the navigation computer 140 overlays a segmentation mask, the mask being based on the second segmentation, over the image data. This step 436 of the method 400 is similar to the step 336 of the previous method 300. As such, in some implementations, the navigation computer 140 may utilize an algorithm such as marching cubes or the like to convert the segmentation mask into a refined surface mesh. In such an implementation, the navigation computer 140 also projects/maps the shape model (and its corresponding information) onto the refined surface mesh to create a segmentation output. The segmentation output is thus based on the second segmentation and may further include the landmarks, planning information, and/or zones from the selected shape model. The segmentation mask may be a binary segmentation mask, a semantic segmentation mask, or a suitable alternative. The segmentation mask may be converted into a surface mesh that is aligned with the image data. In one implementation, the segmentation mask is converted into the surface mesh using a neural network and refined with a marching cubes algorithm. As a result, the user may view the surface mesh overlaid onto the image data with the GUI 150. Like the previous method 300, the segmentation mask generated during the method 400 may be based on both of the second segmentation and the metal segmentation. In this case, the navigation computer 140 still overlays the segmentation over the image data and the navigation computer 140 may still utilize an algorithm such as marching cubes or the like to convert the segmentation mask into the refined surface mesh. In such an implementation, the navigation computer 140 not only projects/maps the shape model (and its corresponding information) onto the refined surface mesh like in the above implementation, but also projects/maps the binary shape model (and its corresponding information) from the metal process onto the refined surface to create a segmentation output.
Finally, at 440, the method 400 may include an error handling process to determine whether any errors exist within the segmentation mask and/or whether any errors otherwise occurred during the segmentation method 400. The error handling process may be like the error handling process shown in
The methods in accordance with the present teachings is for example a computer implemented method. For example, all the steps or merely some of the steps (i.e. less than the total number of steps) of the method in accordance with the present teachings can be executed by a computer (for example, at least one computer). A configuration of the computer implemented method is a use of the computer for performing a data processing method. Further, in the present teachings, the methods disclosed herein comprise executing, on at least one processor of at least one computer (for example at least one computer being part of the navigation system), the following exemplary steps which are executed by the at least one processor.
Several implementations have been discussed in the foregoing description. However, the implementations discussed herein are not intended to be exhaustive or limit the invention to any particular form. The terminology which has been used is intended to be in the nature of words of description rather than of limitation. Many modifications and variations are possible in light of the above teachings and the invention may be practiced otherwise than as specifically described.
The many features and advantages of the invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
I. A method for performing segmentation on image data of a spine, the method comprising:
II. A method for performing segmentation on image data of an anatomical region, the method comprising:
III. The method of clause II, further comprising
IV. The method of clause III, further comprising applying landmarks from the shape model to the output of the second segmentation process using the mapping.
V. The method of clause I, wherein the output is a segmentation mask.
VI. A method for performing segmentation on CT image data of a spine, the method comprising:
VII. The method of clause VI, further comprising:
VIII. The method of clause VI, wherein:
IX. The method of clause VIII, wherein the shape model further includes model pedicle positions associated with each of the at least two model vertebrae and each of the at least two vertebrae are associated with the respective one of the at least two model vertebrae based on a comparison of estimated positions of at least four pedicle regions and the model pedicle positions.
X. The method of clause IX, wherein the step of applying one or more points from the shape model to the output of the second segmentation process using the mapping; is further defined as applying one or more landmarks from the shape model to the output of the second segmentation process using the mapping, wherein the one or more landmarks are selected from the group consisting of a first pedicle, a second pedicle, a lamina, and a superior endplate.
XI. The method of clause VII, wherein the step of determining the pose of the at least two vertebra includes determining the pose of a first vertebra of the least two vertebrae relative to a reference coordinate space of the CT image data.
XII. The method of clause VII, wherein the step of determining a pose of the at least two vertebra includes determining a pose of a second vertebra of the at least two vertebrae relative to a position and orientation of the first vertebra of the at least two vertebrae.
XIII. The method of clause VII, wherein the multiple hypothesis approach is a Bayesian multiple hypothesis approach.
XIV. The method of clause XIII, wherein the step of determining the pose for at least two vertebrae based on the detected estimated position using the Bayesian multiple hypothesis approach includes generating a probability weighting graph.
XV. The method of clause VI, wherein the active appearance model is a binary active appearance model.
XVI. The method of clause XV, the method further comprising receiving user input with respect to an image region of the CT image data, the image region corresponding to one of the plurality of vertebrae.
XVII. The method of clause XVI, wherein the user input is indicative of a desired level label for one of the plurality of vertebrae.
XVIII. The method of clause XVII, further comprising selecting the shape model from a plurality of active appearance models based on the user input.
XIX. The method of clause XVIII, further comprising generating a plurality of additional labels, each one of the plurality of additional labels being associated with one of the plurality of vertebra of the CT image data.
XX. The method of clause VI, wherein the first neural network is a convolutional neural network.
XXI. The method of clause XX, wherein the second neural network is a convolutional neural network.
XXII. The method of clause VI, further comprising converting the segmentation mask to a surface mesh.
XXIII. The method of clause XXII, further comprising calculating anatomical information including a pose of at least one anatomical landmark based on the second segmentation.
XXIV. The method of clause XXIII, further comprising receiving user input with respect to the segmentation mask.
XXV. The method of clause XXIV, further comprising, in response to the user input with respect to the segmentation mask, indicating at least one of the segmentation is incorrect and a label associated with a vertebra is incorrect.
XXVI. A non-transitory computer readable storage medium having stored therein data representing instructions executable by a programmed processor for vertebra segmentation for three-dimensional computed tomography, the storage medium comprising instructions for:
XXVII. The non-transitory computer readable storage medium of clause XXVI, the medium further comprising instructions for:
XXVIII. A method for performing segmentation on CT image data of a spine, the method comprising:
XXIX. The method of clause XXVIII, further comprising:
XXX. The method of clause XXVIII, further comprising:
XXXI. The method of clause XXVIII, further comprising:
XXXII. A method for performing segmentation on CT image data, the method comprising:
XXXIII. The method of clause XXXII, wherein the step of overlaying the first segmentation mask over the CT image data includes overlaying the first segmentation mask over the second image data.
The present application is a which claims priority to and all the benefits of U.S. Provisional Patent Application No. 63/505,466, filed on Jun. 1, 2023, the entire contents of which are expressly incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63505466 | Jun 2023 | US |