Hello fellow programmers!
I have a 2D graph which is best described as a Cartesian grid with traversible and non-traversible cells. I'd like to be able to detect subsets of this graph where the diffusion behaves anisotropically, i.e.: it is constrained by corridor-like passages.
I initially turned to diffusion tensor imaging in neuroscience, but I'm having a great deal of trouble digesting the material. I'm wondering if any of this has already been distilled into a usable algorithm, or if there are other approaches that could be fruitful.
Specifically, I'd like to be able to determine the following:
- Areas in which diffusion is anisotropic: highly constrained to two directions (think of water flowing through a 2D slice of a straw).
- Areas in which diffusion is isotropic: largely unconstrained (i.e., water is diffusing through a large, though irregularly-shaped space.
Since the graph only contains very narrow or open areas, it would be sufficient to determine either anisotropic or isotropic diffusion and deduce the other one with a simple contrast.
TL;DR: How can I find the "average" direction of a diffusion in a flood-fill or similar operation?
EDIT: Here's an example of my graph as an image: