{"action":"created","issue":{"url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/3","labels_url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/3/comments","events_url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/3/events","html_url":"https://github.com/scikit-image/skeleton_3D/pull/3","id":129740871,"number":3,"title":"cython version of the algorithm","user":{"login":"ev-br","id":2133832,"avatar_url":"https://avatars.githubusercontent.com/u/2133832?v=3","gravatar_id":"","url":"https://api.github.com/users/ev-br","html_url":"https://github.com/ev-br","followers_url":"https://api.github.com/users/ev-br/followers","following_url":"https://api.github.com/users/ev-br/following{/other_user}","gists_url":"https://api.github.com/users/ev-br/gists{/gist_id}","starred_url":"https://api.github.com/users/ev-br/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ev-br/subscriptions","organizations_url":"https://api.github.com/users/ev-br/orgs","repos_url":"https://api.github.com/users/ev-br/repos","events_url":"https://api.github.com/users/ev-br/events{/privacy}","received_events_url":"https://api.github.com/users/ev-br/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-29T11:37:44Z","updated_at":"2016-01-29T23:22:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scikit-image/skeleton_3D/pulls/3","html_url":"https://github.com/scikit-image/skeleton_3D/pull/3","diff_url":"https://github.com/scikit-image/skeleton_3D/pull/3.diff","patch_url":"https://github.com/scikit-image/skeleton_3D/pull/3.patch"},"body":"Here is a Cython version of the 3D skeletonization algorithm. The implementation is close to ready from my end, modulo several warts I'll comment on below.\r\n\r\nThe python entry point is `skel.py`, the actual implementation is in `_skel.pyx`.\r\n\r\nSo far it's not packaged anyhow, so the build/test sequence is\r\n```\r\n$ python setup.py build_ext --inplace\r\n$ cp skeletonize_3d/_skel.so .\r\n$ nosetests test_simple_2d.py\r\n```\r\n\r\nA couple of questions of the \"how is this done in scikit-image\" sort:\r\n\r\n- What is the usual way to add documentation -- is it pulled from the docstrings, special notebooks, something else?\r\n- I'm using as a test case the Bat Cochlea image from FIJI samples. This is the image from the front page of http://fiji.sc/Skeletonize3D. Not sure if there is some license issue.\r\n- Thinning can be non-instant for larger size images. Is there / what is a recommended way for logging / progress reporting? \r\n- I assume `np.uint8` is an adequate dtype for a binary image, or is it?\r\n- How strict we want to be if the user input is not of a compatible dtype? As a data point, Fiji refuses to process the image unless it's 8-bit monochrome. My gut feeling is to leave conversions to the user.\r\n- The commit history is way too atomic. I kept it that way so far in case I'd need bisecting :-).  "},"comment":{"url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/comments/177014512","html_url":"https://github.com/scikit-image/skeleton_3D/pull/3#issuecomment-177014512","issue_url":"https://api.github.com/repos/scikit-image/skeleton_3D/issues/3","id":177014512,"user":{"login":"stefanv","id":45071,"avatar_url":"https://avatars.githubusercontent.com/u/45071?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanv","html_url":"https://github.com/stefanv","followers_url":"https://api.github.com/users/stefanv/followers","following_url":"https://api.github.com/users/stefanv/following{/other_user}","gists_url":"https://api.github.com/users/stefanv/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanv/subscriptions","organizations_url":"https://api.github.com/users/stefanv/orgs","repos_url":"https://api.github.com/users/stefanv/repos","events_url":"https://api.github.com/users/stefanv/events{/privacy}","received_events_url":"https://api.github.com/users/stefanv/received_events","type":"User","site_admin":false},"created_at":"2016-01-29T23:22:52Z","updated_at":"2016-01-29T23:22:52Z","body":"Re: dataset\r\n\r\n```\r\nbat-cochlea-volume.zip\r\n----------------------\r\nThis is a thresholded stack of the scala media volume within the\r\ncochlea of the moustached bat.  The scale is 40 pixels per millimeter.\r\nThe original data set is from a uniform serial section of high\r\nreslolution MRI done at the Duke Center for inVivo Microscopy\r\nwith tissue from the Dept. of Cell Biology and Anatomy at the\r\nUniversity of North Carolina.\r\n\r\nArt Keating (keatinga@med.unc.edu)\r\n\r\nTo create a movie from this volume, first threshold the stack using\r\nImage/Adjust/Threshold then perform Nearest Point projection using\r\nImage/Stacks/Render.\r\n\r\nWayne Rasband (wayne@codon.nih.gov)\r\n```"}}