Brown fat analysis

Hi, I am still working on trying to analyze the brown fat images I have. I tried the pipeline that was given to me for white fat and it worked great but the brown fat is still not giving me exactly what I need. I’ve been playing with the program for the last week trying to tweak it for what I need.
Basically, I want to measure the major axis length (to get the width of the cells) for the cells in the images. The problem with these images is that the cells range in size, the majority of them are small and it tends to appear like they are in a larger cell, and because they are small they are clumped together. I tried lowering the smoothing factor to 1 to declump the cells, I tried enhancing the edges to see if that would help outline the cells better and I tried adding four or five primary object finders (each with a different dimension) to see if I could measure the various sizes of cells in the image (although I don’t know how to combine them together to be measured). I also found that if I use a three-class threshold and place the middle intensity to the foreground I get more of the cells I want but the clumping tends to measure more than one cell at a time. I’m looking for a size range from 30 to 100 or 150. Measuring the cells in adobe photoshop has given me a basic range I’m interested in and this range will or should eliminate the very small size cells.
I’m basically just stuck and I’m wondering if anyone has a better idea on how to analyze these images.
I’ve attached two pictures that I have been working on for the past week.
Thanks



Provided that you have been able to tweak feature suppression adequately in EnhanceOrSupressFeatures, you might have some luck with the Laplacian of Gaussian (LoG) option in the declumping method setting in IdentifyPrimaryObjs.

LoG is basically a blob detection approach and can be good for objects of varying sizes. However, this option is very sensitive, so quite a bit of tweaking is probably necessary with the LoG-dependent settings.

Regards,
-Mark

Is it a good idea to use enhance edges module for this then? If I do, should I use it before or after I suppress features?
Also, if I decide to plug in 5 different primary object modules, how do I connect them so I can count what is identified in each one?

EnhanceEdges outputs an image of edges, not enhanced objects. IdentifyPrimaryObjs would then only identify the edges and not the objects. So you wouldn’t want to use this module.

You might be able to Smooth with “Smooth keeping edges” to assist in this; it may have a similar effect to feature suppression along with attempting to preserve edges.

I assume here that you don’t want the region that you identify objects in at one particular spatial scale to be reused and count towards another spatial scale? If this is the case, you can use the MaskImage module to mask/remove one set of objects from an image. So can detect features at one scale, mask them from the image, detect objects at the next spatial scale from the masked image, use MaskImage again, and so on.

Regards,
-Mark

Can someone check this pipeline to see if I have the right idea for analyzing the adipose tissue?
I placed a mask object module after each primary object module but I’m still not sure how to analyze all the cells I want. Ideally I want a range from 25 to 130.
To me it still doesn’t seem to be picking up the smaller cells and I’m not sure what else to do to the image. Also, now that I use the mask module it is not picking up the larger cells.
Any help would be great. I need to get these analyzed asap and really don’t want to do it by hand.
Thanks
BAT 081010.cp (17.1 KB)

Hi,

It looks like you are using MaskObjects instead of MaskImage. What I suggested was to mask the image with the detected objects for input in IdentifyPrimaryObjs rather than masking the objects.

Also, I should have been more clear. The intent is to use the objects at one scale to mask the image, mask the result with the detected objects at the next scale and so on, so that you are excluding objects you have already obtained at each step. As it stands, you seem to be using IdentifyPrimaryObjs for each spatial scale separately.

If you need additional help with help, you might want to look at the FilterObjects module, which removes objects on the basis of a previous measurement. This might be useful for getting rid of objects picked up by IdentifyPrimaryObjs, provided you can come up with a suitable measurement to exclude objects by.

Regards,
-Mark

Hi,
Thanks for the quick reply. I understand about changing the mask object to mask image but I’m still confused about your other comment. Sorry, I’m not really a computer person so this is really new to me. Are you saying I should not use identify primary objects for each size of objects I am looking for. Would it be possible for you to give me an example of how to set the mask image and to detect objects of different sizes up? What I was thinking is that I want to eventually have a histogram of various sizes after I analyze all the images. I was picking sizes between 25 and 40 as one object size to get the number of cells in that range. From what I can figure from your last reply is that this is wrong, is that correct? Ideally if I could analyze all objects that fall in the range of 25 to 130 at one time, that would be great but I don’t think I can do this and actually pick up individual cells and not clumps of cells.

Sorry for all the questions and thanks for the help.

Sorry for the confusion. I am saying that you should use IdentifyPrimaryObjs, just that you can use FilterObjs in conjunction with it for further refinement of the remaining objects.

I’m attaching a pipeline which illustrates what I mean with MaskImage. It uses IdentifyPrimaryObjs with the settings you already have, so adjustment will still be needed.
-Mark
2010_08_13_BAT.cp (16.5 KB)