{"action":"created","issue":{"url":"https://api.github.com/repos/scikit-image/scikit-image/issues/2301","repository_url":"https://api.github.com/repos/scikit-image/scikit-image","labels_url":"https://api.github.com/repos/scikit-image/scikit-image/issues/2301/labels{/name}","comments_url":"https://api.github.com/repos/scikit-image/scikit-image/issues/2301/comments","events_url":"https://api.github.com/repos/scikit-image/scikit-image/issues/2301/events","html_url":"https://github.com/scikit-image/scikit-image/issues/2301","id":177091066,"number":2301,"title":"Change 2D Hessian matrix order from y/x to r/c","user":{"login":"jni","id":492549,"avatar_url":"https://avatars.githubusercontent.com/u/492549?v=3","gravatar_id":"","url":"https://api.github.com/users/jni","html_url":"https://github.com/jni","followers_url":"https://api.github.com/users/jni/followers","following_url":"https://api.github.com/users/jni/following{/other_user}","gists_url":"https://api.github.com/users/jni/gists{/gist_id}","starred_url":"https://api.github.com/users/jni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jni/subscriptions","organizations_url":"https://api.github.com/users/jni/orgs","repos_url":"https://api.github.com/users/jni/repos","events_url":"https://api.github.com/users/jni/events{/privacy}","received_events_url":"https://api.github.com/users/jni/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/scikit-image/scikit-image/labels/easy%20to%20contribute","name":"easy to contribute","color":"fc9a91"},{"url":"https://api.github.com/repos/scikit-image/scikit-image/labels/maintenance","name":"maintenance","color":"3d8bbf"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-15T05:19:36Z","updated_at":"2016-09-15T05:24:55Z","closed_at":null,"body":"Hessian matrix computation used to return the matrix elements as \"Hxx, Hxy, Hyy\", which is equivalent to \"Hcc, Hrc, Hrr\". This goes against our array order conventions, for no particular reason other than history. See [this comment](https://github.com/scikit-image/scikit-image/pull/2194#r71079486) for more context.\r\n\r\nCurrently, this means that the 2D Hessian matrix is returned in a different order to the 3D+ matrix. This is messy and annoying.\r\n\r\nMany functions and tests depend on this output, and the deprecation path is not going to be fun, but I would say that this is a necessary change in the long term (e.g. before 1.0).\r\n"},"comment":{"url":"https://api.github.com/repos/scikit-image/scikit-image/issues/comments/247237849","html_url":"https://github.com/scikit-image/scikit-image/issues/2301#issuecomment-247237849","issue_url":"https://api.github.com/repos/scikit-image/scikit-image/issues/2301","id":247237849,"user":{"login":"jni","id":492549,"avatar_url":"https://avatars.githubusercontent.com/u/492549?v=3","gravatar_id":"","url":"https://api.github.com/users/jni","html_url":"https://github.com/jni","followers_url":"https://api.github.com/users/jni/followers","following_url":"https://api.github.com/users/jni/following{/other_user}","gists_url":"https://api.github.com/users/jni/gists{/gist_id}","starred_url":"https://api.github.com/users/jni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jni/subscriptions","organizations_url":"https://api.github.com/users/jni/orgs","repos_url":"https://api.github.com/users/jni/repos","events_url":"https://api.github.com/users/jni/events{/privacy}","received_events_url":"https://api.github.com/users/jni/received_events","type":"User","site_admin":false},"created_at":"2016-09-15T05:24:55Z","updated_at":"2016-09-15T05:24:55Z","body":"I've labelled this \"easy\" because it is not a technically challenging job, just a time-consuming one.\r\n\r\nWe do need to agree on how deprecations are going to work with output arguments when using a function correctly. It will be annoying to have no way of removing a warning.\r\n\r\nHere's a suggestion: add an \"order=None\" kwarg that defaults to 'F' but warns with a deprecation. When passing \"order='C'\", the warning goes away. If we don't want to overload numpy's kwarg, we could also do the same thing with \"coord_order=None\", with possible values being \"cr\", \"rc\", and \"yx\"."}}
{"actor":{"display_login":"jni"}}