How to measure fluorescence intensity in same ROI over time

Hello everyone ,
i am making a time series measurement for a blood vessel containing FITC-Dextran.
Now i choose 5 images and make a graphic off them (intensity over time).
with ROI manager i choose 5 areas (blood vessel) and add them. Then i am stuck. I have to get intensities from the blood vessel over time so i can make a graph on Excel.
Also , after drawing the ROI , the blood vessel go out of teh region in every image , How can i avoid this.

Thanks in advance

You mean that the blood vessel is actually moving?
Pinning down is not an option?
Then put hte images in a stack and do StackReg.
This will try to align all images in the stack to the one chosen when invoking the plugin.
After that you set your ROI and do the measurements.

Hi eljonco ,

Thank you for your reply

the blood vessel is not moving , it is the same position but always the ROI is located in different plae from every image . to be honest this is my first time to use ImgaeJ . i was trying to install stackreg or turboreg but it is not working also . do you think it is easier to do it manually ?

Hi Tawfik,

Try to be precise and clear: “it is not working” is rather terse and hardly informative if you want us to give advice.
What is not working? What steps did you try, which step fails?

From the rest of your text, I distill that you have images, probably taken over time and without microscope or tripod to hold the camera position steady, which are now are not aligned.
StackReg (installed by placing the jar files TurboReg_-2.0.0.jar and StackReg_-2.0.0.jar in the Plugins folder of ImageJ) would be easier than manual alignment.

1 Like

Hallo eljonco ,

now the two plugins are installed. what you have understood is right , i am imaging live rat eyes over time which make it difficult to hold the position steady as you say. For every rat i take 5 images to quantify the fluorescence in the retinal vessel. i start in image J by file=> import => image sequence then i choose the ROI in one image and try to align the same ROI in the same images. so it will be totally appreciated if you can tell me how to align using the stackreg or turboreg. as i understood also i should after aligning the ROI , set measurements only with mean gray value , open ROI manager, choose multi measure and then here i am stuck again.

With the image sequence of 5 images in a stack, choose the image that is ‘best’ to align the other images to. Then just perform the StackReg. If the images are comparable (ie. just translated and rotated with respect to the one you chose), you will end up with a stack in which the vessels are aligned.
Then mark the vessel with a ROI and measure the ROI in each slice of the stack. As the vessel now should be in the same position, you don’t have to move the ROI.

Of course, often after initial ‘simple’ tips and hints, the problem isn’t as simple as originally appeared :wink:

Hallo Tswayne ,

I am currently measuring the intensities over time in fluorescent blood vessel.

The problem now that the vessels go outside the ROI i choosed during the time series, Do you have any idea how to avoid this.

Thanks in advance

Hi @Tawfik,

(I moved your duplicate post and my answer here.)

If your vessels move over time, there are a couple of options:

  1. Segment the vessels so that you automatically measure only the vessels in each timepoint. Then it doesn’t matter if they are moving. But note that you need an independent marker for the vessels – you shouldn’t use the channel you’re trying to quantify.

  2. Register the series to correct for movement during the timecourse. Then the vessels should remain within the ROI in every timepoint.

If you’re not sure what to do, you could share a typical example series here, and that will give us a better idea of how to proceed.

Hope this helps.

@tswayne sorry for hijacking this thread:

I have a smiliar problem, but with lymph nodes which are moving and changing ther signal over time. I tried the segmentation on the basis of the probabilty map by using the Weka plugin, converted the 4D result to a binary mask [convert to mask], used the [connected components labeling] from the “MorphoLibJ”-Plugin but then I always get the segmentation without a real time axis (he gives me the 10 slices of all 540 time frames in a row: so I get the 10 slices of timepoint 1, followed of the 10 slices in timepoint 2…of 540 timepoints in total in one channel)…But as I understand I need the time axis to multiply my binary mask (incuding the time channel) with the original data to analyze then the masked data over time.
Do you know how to handle this problem? Or do you have in general another advice for us analysing a moving 3D object over time?

Hi @Mara_Jade,

I haven’t used MorphoLibJ before, but in a quick test run it looks like it converts a hyperstack (z and time dimensions) into a “flat” stack.

You can convert that back into a hyperstack with Image > Hyperstacks > Stack to Hyperstack (plug in the correct # of z and time frames).

To measure the detected objects, you can multiply your original image by the labeled mask as you mentioned. Or you can redirect the measurements (e.g. in 3D Object Counter Options) to your original data stack.

What this procedure doesn’t do is relate objects detected in 1 timepoint to those detected in a different timepoint – i.e. if you have multiple object, it can’t tell you how an individual object changes over time. For that, one of the tracking plugins would do the job. I don’t have experience in IJ tracking plugins, but many others on the forum do :slight_smile:

Hope this helps!