Application of Bayesian Classifier for Tissue Classification
I have been working on a tissue classifier that uses the itkBayesianClassifierImageFilter.h and a version of the itkBayesianClassifierInitializationImageFilter.h that I have modified to work with vector images and gaussian density functions of MeasurementVectorLength other than 1.
Current Requisite Inputs:
1) Text files with exemplar voxels of the desired classes (grey matter, white matter, CSF, bone, etc.).
2) Number and names of images to be used in the classification.
3) Number of classes (there should be one text file of exemplars for each class).
The following are some pictures of the classified images, both using T1 and T2 images of a patient to arrive at one classified image. The first pictures were attempts to classify grey matter, white matter, and CSF.
The following pictures are classified with six classes: bone . The same T1 and T2 images were used in this classification. Unfortunately, the T2 image was relatively low-resolution, and this had some negative implications on the classified image. For example, the fat strip around the skull should have been thicker.
Currently, I am working on adding probability data and contralateral information to the classification algorithm, which should further increase its accuracy.
10/12/07 - Able to classify single image with unlimited number of classes.
10/19/07 - Able to classify unlimited number of corresponding images with unlimited number of classes.
I have been applying this algorithm to subjects with lesions that show up as bright spots on FLAIR images to segment their lesions.
1) Input T1 image, FLAIR image, and brain mask to modified version of KMeansClusterSamples (created by Greg and Vince), which uses KMeans to generate a label image with four classes: white matter, grey matter, CSF, and lesion.
a. Lesion class is determined by thresholding the FLAIR image based on the standard deviation and mean of the brain portion of the FLAIR image.
2) Label image is input to FilterBayesianCsfDistance program (written by Vince), which labels any "lesion" voxels within a specified distance of CSF (3 voxels was used) as CSF. This greatly reduces the false positives resulting from partial volume effects.
3) This relabeled image is then sent to Greg and Vince's RandomSampleClassPlugs, which randomly picks plugs (exemplars) from the classes in the label image. 200 exemplars were picked for each class.
4) The CSFDistance-filtered label image was then sent to the (now-modified) Bayesian Classifier as the prior image along with the exemplars, the T1, T2, and FLAIR data. The prior image was smoothed using ITK's RecursiveGaussianFilter. The results from the Bayesian Classifier are shown below.
It was very important to use bias-corrected T2 and FLAIR data to obtain reasonable results.
The following images are snapshots the output of the Bayesian Classifier for three lesion subjects. As you can see, some of them still have some false positives from the partial volume effects around the ventricles. Smoothing of the priors results in the "psychadelic" (Vince's technical term) extracranial pattern.
Conversely, you can see how the classifier successfully avoided false positives when classifying a normal subject.