New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fast marching method through diagonal pixels? #32
Comments
Hmm, I am not sure what you are asking. I see a purple background with a diagonal yellow band. Which one is the mask? Can you provide some code that demonstrates the problem? The stencil that this method uses to update each point only looks in the cardinal directions. There are stencils that "look" in the diagonal directions. |
Thank you for your reply. Here are some code snippets. I suspect, as you say, a stencil option would probably make diagonal movement possible - thank you again for any help.
|
Yes, changing the stencil would be the only way to do this as far as I can tell. There is a paper that describes something similar: Multistencils Fast Marching Methods. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.69.741&rep=rep1&type=pdf The first- and second-order stencils used by scikit-fmm are baked into the c++ code in a fairly deep way. So adding new stencils would not be easy. I cannot look into this at the moment unfortunately, but I will keep this in mind for future developments. If you want to experiment with different stencils, you could make a test implementation of FMM in Python. The binary min-heap provided by the module (skfmm.heap) is for just this purpose. Stay in touch if you get something working, it would be a nice feature to add. |
I am preparing a paper using your package and will cite the github repo. I will also reference the paper for future developments that would improve some of the products I am generating and try to look into the heap method - that's awesome that its easy to experiment with from python. Thank you for your help. |
I am going to close this issue for now. If anything else come up, let me know. |
I am not sure if this is possible within the confines of the fast marching algorithm but can the existing method be adjusted to move through a diagonal as in the image below where the blue indicates the masked areas (obstacle)?
The "movement" must occur vertically / horizontally only and requires the channel to be
Thanks for your help.
The text was updated successfully, but these errors were encountered: