Info

This question is closed. Reopen it to edit or answer.

How can I implement efficient voxel classification algorithm given in paper by Folkesson et al?

1 view (last 30 days)
For a project this paper by Folkesson et al. has been given. According to section III-F, efficient voxel classification algorithm is used to classify voxels either as background or cartilage.
...an efficient voxel classification algorithm, and the basic idea behind it is to not classify all voxels but to focus mainly on the cartilage voxels. The algorithm is conceptually very simple: starting from a set of randomly sampled voxels, we classify them as either cartilage or background. If a voxel is classified as cartilage, we continue with classification of the neighboring voxels and this expansion process continues until no more cartilage voxels are found.
This results in a number of connected regions of cartilage. Provided that our initial sampling of starting voxels hits each cartilage sheet in at least a single voxel...
How can I implement this in matlab?
Is it a modified k-NN algorithm or it's totally different?
I don't have much experience in matlab, any pointers or guidelines would be appreciated.
  1 Comment
John D'Errico
John D'Errico on 9 Dec 2015
It seems you have been given aclear description of the algorithm. I'll state it succinctly as:
"and the basic idea behind it is to not classify all voxels but to focus mainly on the cartilage voxels. The algorithm is conceptually very simple: starting from a set of randomly sampled voxels, we classify them as either cartilage or background. If a voxel is classified as cartilage, we continue with classification of the neighboring voxels and this expansion process continues until no more cartilage voxels are found.
This results in a number of connected regions of cartilage. Provided that our initial sampling of starting voxels hits each cartilage sheet in at least a single voxel..."
However, actually writing the code for you beyond that would be far too complex a problem to put in answers.

Answers (1)

Image Analyst
Image Analyst on 9 Dec 2015
Does not sound like it. They say "If a voxel is classified as cartilage, we continue with classification of the neighboring voxels" so it sounds like the neighboring voxels are subjected to the same classification algorithm as the center voxel. If it were knn then it would just assign the voxel the cartilage classification based on how many neighbors were already called cartilage. A voxel has 26 neighbors. If you called the center one cartilage, and then went to each neighbor and check how many of its neighbors are cartilage, there may be only one - the center one. There won't be enough to use knn, so that's why it seems like each voxel is classified independently. So it's not KNN. It's faster than classifying all voxels though because it only looks at a small fraction of randomly chosen voxels and the neighbors of those, NOT every single voxel in the image. Though there is a chance it could miss a small isolated contiguous cartilage region with this method.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!