-
Notifications
You must be signed in to change notification settings - Fork 143
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
Docs clarification for functions downstream of imgradients: g1, g2 vs gy, gx #867
Comments
Oh dear! Thanks for noticing this. It will take some thought about how to fix this; switching argument order is just about impossible to deprecate. |
As part of our move to a consistent API I was contemplating the creation of ImageEdgeDetection.jl which functions such as |
Another option: returning a NamedTuple
These methods could also take information from image traits, e.g. |
It's worth taking a step back when thinking about these functions (and the The most consistent language for this domain is that of tensors, and the 'theory manual' portion of the docs (thanks Zygmunt!) already hews to that. It'd be wonderful to approach ArrayFiltering from that direction to provide a more complete & consistent treatment of spatial derivatives/vector calculus. |
This name and way of thinking is basically descended from tradition established in previous programming languages. I think we're already a bit ahead of the curve given that, e.g., To do better than we are now, though, I think one would need to figure out some way to indicate which coordinates one is taking the gradient with respect to. Any ideas for notation? And how that would couple to array axis notations a la AxisArrays or similar? |
On further thought, I'm not sure that a massive algorithmic overhaul is required, but the documentation could be a bit clearer on the subject of axes/coordinates. For reference, compare the documentation of
to Images.jl
The missing information: orientation relative to what? with an angle of rotation positive about which axis? The coordinate system & sign conventions for all these functions ( |
More directly, we need to decide what
The test in question was written around the time when |
Thanks for the detective work @stillyslalom! I'm a bit too swamped to tackle this now, but I've added a 1.0 milestone so this doesn't get forgotten. (Hopefully we will get to it sooner than that.) |
I think this one is fixed by JuliaImages/ImageEdgeDetection.jl#10 |
Many of the edge-detection functions require the gradients of an image, e.g.
orientation(grad_x, grad_y)
. However,imgradients
now delivers gradients along each axis of an image (g1
,g2
, ...), but it seems that the idea hasn't propagated through the entirety of the codebase:The text was updated successfully, but these errors were encountered: