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.What would be the best statistical parameter to differentiate between them(like histograms /intensity,phase or etc.,)
Have a great 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.
Thank you so much for such a quick response
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.
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.
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.
Good Morning and greetings of the day
I thnak you very much for the response.
I have uploaded below the grey scale image stack
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
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;
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?
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?