How to measure Non-TypeIIA &TypeIIB muscle fiber

Hi all,

I have laminin, typeIIA, and typeIIB images. Now, I can only identify two subjects. For instance, using typeIIA image to calcualte typeIIA and non-typeIIA fibers. I don’t know how to measure 3rd object. I’m thinking about using MeasureImageOverlap, but I don’t know how to do it. Any tips?

Hello @wenyuanzhu,
Could you elaborate, what do you mean by the 3rd object? type IIB?
It would be helpful if we could see an image. Could you upload a couple of annotated images, so we know what you’re trying to detect and make measurements of?


1 Like

Hi Nasim,

Thank you for the quick respond. My goal is to measure the fiber size of different type muscle fiber (TypeIIA, TypeIIB, Non-typeIIAIIB).

Initially, I could use TypeIIA to calculate the fiber area of both TypeIIA (green) and Type IIB (blue), but the Type IIB includes Non-TypeIIAIIB fiber (Dark fiber). I upload the annotated image for non-typeIIAIIB fibers.

I’m trying to figure out a way to separate 3 different fiber types and measure their fiber area. The non-typeIIAIIB could include type I and typeIIX, but my lab is limited to measure those. In other words, using two channels to distinguish the 3rd channel.

Here, I also upload my pipeline screenshot and ClassifyObject image. ClassifyObject

Thank you!


I forgot to upload the annotated image. Here, I marked the NonT

ypeIIAIIB fiber.

Hi Wenyuanzhu

Measure object intensity of each object in each channel and use object filtering to split the blue objects by an intensity value. That way you will have your three types. Also it is possible to spilt objects using multiple measurements.


1 Like

Hi Wen (@wenyuanzhu),
Your annotation and color codes are not very clear, but It seems you want to detect the fiber objects and then make measurements from each group. You have a couple of options:

  1. To detect the fiber objects from each of the channels and then make the measurements.
  2. To use the Laminin channel to detect all the fibers, and then use other channels as a mask to detect each fiber groups, and then make the measurements.

Based on the couple images you sent me (I attach them here as well), I put together a quick pipeline. The thresholding method is used based on this single image, so you may need to adjust the strategy and/or limits based on all of your images.
CP1_Updated.cppipe (31.8 KB)
01_Image001_ch02.tif.tif (9.1 MB) 01_Image001_ch01.tif.tif (9.1 MB) 01_Image001_ch00.tif.tif (9.1 MB)

1 Like


Thank you for the reply.


Hi Nasim,

Question 1:
It seems that I have to adjust the threshold based on each image in order to get refined fiber area, which is quite time-consuming.

I think the first option cannot be used to counting non-IIAIIB fiber since there are some fibers overlapping between each channel(green & blue). Can I use the composite image to get non-IIAIIB (dark region) fibers?

Question 2:
Could it be possible to use 4X image instead of 10x image to do the same fiber analysis? I’m trying to use 4x image, but the software could not detect most of the fibers. Is there any other ways to optimize the image?
01_Image003_ch00.tif (5.3 MB) 01_Image003_ch01.tif (5.3 MB) 01_Image003_ch02.tif (5.3 MB)

Thank you for the support!


Hi Wen,

The point of batch processing is to not change the setting for every image. However, the thresholding strategy and limits should be defined based on all the images, so yes you would need to check several images of your data set, tweak the thresholding and come up with the one that could work across your images. As I mentioned in my previous response, the setting I suggested is based on the image you sent, so you would need to adjust those in order for it to work for all of your images, but that doesn’t mean changing them for every image.

And yes, you could use 4X images, but not in this exact pipeline. Probably with similar strategy, but you need to adjust some of the setting to make it work or design a new pipeline.

Hope this helps!