Thread Subject: Automatic segmentation

Subject: Automatic segmentation

From: J?rgen Kongsro

Date: 7 Apr, 2008 16:29:02

Message: 1 of 8

I have a CT image of a live pig, in which I want to remove
internal organs. I have tried a whole range of methods,
spanning from manual drawing ROI to erode / dilate functions.

The segmentation is based on gray values, and some of the
internal organs i.e. kidneys have the same gray value as the
muscle tissue (which I want to keep for further analysis).

Does anyone have experience with removal of tissued or
organs in CT images, or other "smart" solultions for this
problem?

Regards
J?rgen Kongsro, Ph.D.

Subject: Automatic segmentation

From: felix.goldberg@gmail.com

Date: 7 Apr, 2008 22:05:27

Message: 2 of 8

On Apr 7, 6:29 pm, "J?rgen Kongsro" <jorgen.kong...@gmail.com> wrote:
> I have a CT image of a live pig, in which I want to remove
> internal organs. I have tried a whole range of methods,
> spanning from manual drawing ROI to erode / dilate functions.
>
> The segmentation is based on gray values, and some of the
> internal organs i.e. kidneys have the same gray value as the
> muscle tissue (which I want to keep for further analysis).
>
> Does anyone have experience with removal of tissued or
> organs in CT images, or other "smart" solultions for this
> problem?
>
> Regards
> J?rgen Kongsro, Ph.D.

Is the texture of the internal organs and the muscle tissue different?
If yes, you can go for texture segmentation.

Subject: Automatic segmentation

From: J?rgen Kongsro

Date: 8 Apr, 2008 17:07:03

Message: 3 of 8

Thank you for your reply.

I have tried texture analysis, using GLCM, entropy etc.
The tissues do not differ very much in texture, so I am not
able to separate them using texture analysis.

I think I have to develop the erode / dilation even further,
thanks again for your reply.


Subject: Automatic segmentation

From: J?rgen Kongsro

Date: 10 Jun, 2008 19:19:01

Message: 4 of 8

I have used active contour or "snakes" to segment 2D
Computed Tomography (CT) images. It seems to work very well
for my purpose.

Does anyone know how to extend the 2D segmentation to whole
stacks or 3D segmentation using the active contour or
"snakes" principle?

I have image stack of live pigs, which I want to dissect
"virtually" by removing internal organs in a fast and
automatic way. The stacks consist of 1200 images per pig,
and the data matrix or cube (X-Y-Z) is 512-512-1200.

So far, I have used seed points and "snakes", extrapolating
the seed points in the Z-direction, and changing seed points
manually when the anatomy of the pig changes. It is a
semi-automatic method, which I want to automate further.
Total time used for this method is approx. 10 minutes per
pig, and I want to reduce it even further.

regards J?rgen Kongsro

Subject: Automatic segmentation

From: ImageAnalyst

Date: 11 Jun, 2008 02:26:47

Message: 5 of 8

On Jun 10, 3:19=A0pm, "J?rgen Kongsro" <jorgen.kong...@gmail.com> wrote:
> I have used active contour or "snakes" to segment 2D
> Computed Tomography (CT) images. It seems to work very well
> for my purpose.
>
> Does anyone know how to extend the 2D segmentation to whole
> stacks or 3D segmentation using the active contour or
> "snakes" principle?
>
> I have image stack of live pigs, which I want to dissect
> "virtually" by removing internal organs in a fast and
> automatic way. The stacks consist of 1200 images per pig,
> and the data matrix or cube (X-Y-Z) is 512-512-1200.
>
> So far, I have used seed points and "snakes", extrapolating
> the seed points in the Z-direction, and changing seed points
> manually when the anatomy of the pig changes. It is a
> semi-automatic method, which I want to automate further.
> Total time used for this method is approx. 10 minutes per
> pig, and I want to reduce it even further.
>
> regards J?rgen Kongsro
-----------------------------------------------------------------------
J?rgen Kongsro:
Can you just find everything and then do bwlabel and regionprops and
then find the organ you want based on it's size? This is essentially
what you're doing by your erosion/dilation morphological process but
it may or may not be faster (because you can eliminate the morphology
steps but then you have extra blobs to label).

Your description was a little bit confusing so let's see if I have it
correct. You are able to segment successfully based on gray level
alone, and you're happy with that so far, but it gives you multiple
organs (kidneys, muscles). You do want all those multiple organs but
you want to process them separately, for example process two kidney
blobs but you want them identified as "kidney #1" and "kidney #2" and
you want the measurements for each separately. Then you might have 3
muscle blobs (the same intensity as the kidneys) and you want 3 more
sets of measurements for "muscle #1," "muscle #2," and "muscle #3."
So you'd have 5 sets of measurements (for the 5 blobs representing
separate organs) and each set would have measurements like volume,
intensity (or density), porosity, circularity, major axis length,
etc. Does that about sum it up?

You might try asking in sci.image.processing (but post a few slice
images first).
Regards,
ImageAnalyst

Subject: Automatic segmentation

From: J?rgen Kongsro

Date: 11 Jun, 2008 07:56:02

Message: 6 of 8

Thank you for your reply. Sorrt about the confusing part...

I have tried the morphology by bwlabel and regionprops. The
problem is that the organs, including the liver, stomach
etc. does not have "solid" boundaries, so muscle tissue and
internal organs are difficult to separate, even when
performing erotion / dilation. I will try to work with size
and regionprops, and maybe this will help...

Thanks again for your reply, and I will check out the
sci.image.processing.

Regards
J?rgen Kongsro

Subject: Automatic segmentation

From: ImageAnalyst

Date: 11 Jun, 2008 14:34:30

Message: 7 of 8

On Jun 11, 3:56=A0am, "J?rgen Kongsro" <jorgen.kong...@gmail.com> wrote:
> Thank you for your reply. Sorrt about the confusing part...
>
> I have tried the morphology by bwlabel and regionprops. The
> problem is that the organs, including the liver, stomach
> etc. does not have "solid" boundaries, so muscle tissue and
> internal organs are difficult to separate, even when
> performing erotion / dilation. I will try to work with size
> and regionprops, and maybe this will help...
>
> Thanks again for your reply, and I will check out the
> sci.image.processing.
>
> Regards
> J?rgen Kongsro

-----------------------------------
J?rgen:
OK it's becoming clearer. You have several organs that are the same
gray level but they are connected, touching each other quite literally
(both physically in the body, and in the image), and it's difficult to
automatically determine the dividing line. Yet you, with your expert
knowledge and experience, can see where you'd like to split them apart
but it's difficult to program that in. In cases where the connection
is a small strand, you're trying morphological things like opening
operations or the watershed operation. This can be a tough problem,
even more so in 3D. Let's say you have a big oblong ellipsoid. You
know they are two different organs but in the gray level image it's
just one giant blob of uniform intensity. Maybe if there is no hint
of a indent or dividing line, you can just use your expert knowledge
to manually carve out the subvolume of the organ of interest with a 3D
program like Aviso (formerly called Amira). Aviso has special tools
for doing this.
Good luck.
ImageAnalyst

Subject: Automatic segmentation

From: J?rgen Kongsro

Date: 11 Jun, 2008 20:27:02

Message: 8 of 8

Thank you for your reply, once again.

I will take tour suggestions into consideration. I tried to
go back to the erotion / dilation method used previously,
and it seems to work for internal organs which have a solid
contour which can be separated from the body cavity. The
main problem seem to be the stomach and kidneys, which are
connected to the body cavity (the stomach being connected
to the ventral part of the body cavity, the kidneys
connected to the dorsal part).

You can probably view some image samples at this external
link (ScienceDirect):

http://www.sciencedirect.com/science?
_ob=ArticleURL&_udi=B6T5C-4C0RC4V-
C&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C
000050221&_version=1&_urlVersion=0&_userid=10&md5=f716ce6753
7e6444d1e2496f01d88b94

Best regards
J?rgen Kongsro

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
dissection Jorgen Kongsro 10 Jun, 2008 15:20:26
seed points Jorgen Kongsro 10 Jun, 2008 15:20:26
segmentation Jorgen Kongsro 10 Jun, 2008 15:20:26
3d Jorgen Kongsro 10 Jun, 2008 15:20:26
2d Jorgen Kongsro 10 Jun, 2008 15:20:25
snakes Jorgen Kongsro 10 Jun, 2008 15:20:25
active contours Jorgen Kongsro 10 Jun, 2008 15:20:25
ct Jorgen Kongsro 7 Apr, 2008 12:30:26
erode Jorgen Kongsro 7 Apr, 2008 12:30:26
dilation Jorgen Kongsro 7 Apr, 2008 12:30:26
organs Jorgen Kongsro 7 Apr, 2008 12:30:26
threshold Jorgen Kongsro 7 Apr, 2008 12:30:26
tissue Jorgen Kongsro 7 Apr, 2008 12:30:25
pig Jorgen Kongsro 7 Apr, 2008 12:30:25
rssFeed for this Thread
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com