Differentiation between static and dynamic/flow components



Dear All,
I would like to know that what is the best way to differentiate between static an dynamic/flow tissue in this case in the below attached stack of images.This is an cross sectional or 2D image of small region of brain in mouse.weWhat would be the best statistical parameter to differentiate between them(like histograms /intensity,phase or etc.,)
Have a great day :smiley:


Good day,

as it is rather often the case, the solution is in the definitions.

Please define mathematically what you mean by static and by dynamic/flow.




Hii Herbie,
Thank you so much for such a quick response :slight_smile:
This is like imagine two OCT signalsā€”one backscattered from static structural tissue and the other backscattered from moving particles (such as red blood cells) in vessels. The signal from structural tissue remains steady which is static, while the signal from flowing blood changes over time which is dynamic/flow.
Thank you



but you didnā€™t give a mathematical definition of static and dynamic.

The sample sequence shows no exactly static parts. At best some parts can be regarded approximately static for a few frames. The question is, what you consider static in a mathematical sense.




Hii Herbie,
I can define static and dynamic mathematically like below

The flow and static refers to change in signals like below figure.


Thanks for the illustration!

Could you now please define by their coordinates some pixels in your sample sequence with values that areā€”in a certain senseā€”regarded static over time?

We then need a mathematical criterion to differentiate temporal signals like those shown in traces 1, 2, 5 from those shown in traces 3 and 4.
Standard deviation or RMS come to my mind.




A quite simple kind of analysis consist in a z-projection of the image stack with ā€œStandard Deviationā€-mode selected:

The only problem I see with this approach is the false colour of your images.

If you could use/provide an image sequence without false colour, your problem could be called resolved.




I agree that the StDev projection could be one way. Something else you could try is to see the differences between consecutive frames. If something stays static between frames, the difference would be small (allow for the noisy nature of the scans). If features change, the differences between frames at those locations would be larger.


Good day Gabriel,

differentiation of the temporal functions results again in a stack, but Iā€™m pretty sure that this is not desired by the original poster who expects a characterizing number per temporal function which results in a 2D array, i.e. an image.

z-projection of the image stack with ā€œStandard Deviationā€-mode provides such a result and its computation is fast and easy to achieve.

If you prefer derivatives, you could square them and integrate the squared derivatives which results in a nice measure as well but needs a (rather slow) macro or a corresponding plugin.




Hiii Herbie,
Good Morning and greetings of the day :smiley:
I thnak you very much for the response.
I have uploaded below the grey scale image stackup

Have a good day
With best regards,


Hii @gabriel ,
Thank you very much for the response.
what u have said is exactly true.Only the moving particles(vessels with flow of blood) changes from frame to frame.
So you mean the threshold value of standard deviation of each voxel value should be a parameter to differentiate between static and motion component?
Have a good day :smiley:
With best regards,


Good day Mounika,

thanks for the new image sequence.

Here is the resulting image showing the 7.5-fold ā€œStandard Deviationā€ at every pixel:
std_min = 8.29;
std_max = 32.73;

To determine what is static and what is not, you need to apply a suitable threshold to this result image.

Please note that if you run ā€œImage >> Stacks >> Z Projectā€¦ā€ with Projection type ā€œStandard Deviationā€ you get a 32bit float image that gives you the float values of the Standard Deviation.
This Forum doesnā€™t allow us to post 32bit float TIFs, so Iā€™ve converted the result image to 8bit with:
std_min = 62;
std_max = 245;




Dera Herbie,
Thanks for quick response.This new stack has very low quality after doing the Image >> Stacks >> Z Projectā€¦ā€ with Projection type ā€œStandard Deviation
Can you tell me how to get the standard deviation values at each pixel/voxel i.e., table for all STD of each pixel?
Thanking you



the gray values of the resulting image are the Standard Deviations.

You may save the resulting image as Text Image to get the numerical array of the Standard Deviations, but if you want to set a threshold, I recommend to do this on the result image.

BTW, how do you expect a Standard Deviation of a voxel?




Hii @Herbie ,
Thank you very much for ur answer :slight_smile:
Sorry it was pixel not voxel :smiley:

Have a great day :slight_smile: