Organ Identification from Head-To-Toe CT scan

Hi ,

   Here is the problem and solution proposal I am planning to develop. 

Problem: I wish to segment HEAD-TO-TOE CT scan and identify organs from it. For example which slices has Heart or which has Bladder or which slices has Brain.

Proposal: Since each tissue has defined range in HU units I can use Windowing formula to find corresponding pixel intensity range for each tissue. Once I get pixel intensity range I can use Simple Binary Thresholding and then using Label Statistics filter I can get Bounding box information. Challenge is each organ is made of different tissue densities and I am not sure if Binary Thresholding approach I am planning to implement will give robust results.

Any thoughts on above or any other ideas where ITK can help me solve this segmentation problem?


I think a good idea would be to look into some papers on the subject to find a good starting point, this is not a trivial problem and there are many many papers on the subject of automatic segmentation. If you want a leading edge solution I would start looking into machine learning.

Many organs have overlapping HU intensities. Some are quite distinct (e.g. lungs, bones), but most others will have a good deal of overlap. Also, there is noise and anatomical structure (e.g. each organ has its own set of blood vessels) which interfere with intensity based segmentation. Also, whenever segmentation is based on intensities, it is hard to get away without some level of morphological operations (opening, closing) or connected component analysis (removal of small islands of noise).

You could take advantage of prior knowledge that the image will contain an entire human. If you approximately segment the lungs, bones and surrounding air (easy), you could deduce approximate locations of other organs from that (brain, heart, bladder etc). That should help a lot with disambiguation of overlapping HU intensities.

And if your goal is not exact segmentation, this might be enough.

Thanks @mattias and @dzenanz for your insights. Yes I experienced the issue of need for morphological operations.

Relative position based on lungs sounds interesting. I will research on that and other machine learning ideas. Will share my experiment and findings further on this thread.


1 Like

Hi @mattias and @dzenanz since I am interested to specifically get bounding box for heart brain and bladder the HU units would vary so using thresholding first I can get initial unique labels for them and then I plan to apply some sort of grouping filter. Does ITK have grouping filter that can group similar pixels values that are close to each other ? since for an organ the range will not vary by much right ?
This way I will get better approximation for bounding boxes for these 3 organs

Let me know your thoughts …


I recently wrapped a decent deep learning approach (CT liver)–

I am currently exploring additional organs in the abdomen–


1 Like

Hi Eric,

Thanks for the Deep learning references. I will surely check it out. Will keep you posted.


Hi Eric (@keesh), have you used 3D Unet as the base NN model to perform liver segmentation in your implementation? Thanks, Jiten

Not yet. I feel that 3D may require too much GPU resources.
The 2D approach required–
Caffe 1.0.0 using 350+ slice test volume:
~5GB GPU MEM / ~1.23GB physical RAM

Here is the link to the original 2D UNets that I applied–