Hello, as I'm using both Python/Scipy and image processing in my daily work, I would be interested in contributing to the image scikit if I can be of any help. I have read the "Contribute" page of the website, and maybe the easiest way to start me off would be that I write some documentation and tests. But please tell me if you have other suggestions, I do not have specific preferences. The only thing is that I have almost never used Cython, but I'm willing to learn it. By the way, I had trouble installing the scikit as with my Ubuntu-packaged version of Cython (0.11) I got lots of errors (such as "/usr/lib/pymodules/python2.6/Cython/Includes/python_version.pxd:31:8: Buffer types only allowed as function local variables") and I had to install Cython 0.12 to make it work. I can provide the whole log if you expected the install to work with Cython 0.11. In the longer term, I could also contribute two algorithms that I have implemented in Python (with dependencies to numpy and scipy): * the circular Hough transform (for 2-D images) that may be used to detect circles. * a "random walker" segmentation algorithm that implements a recent generic algorithm by L. Grady [Random walks for image segmentation, Leo Grady, IEEE Trans Pattern Anal Mach Intell. 2006 Nov;28(11):1768-83]. The algorithm basically finds the region into which given markers preferentially diffuse, with an anisotropic diffusion that penalizes diffusion across strong gradients. I use it to segment huge (500x500x500) 3-D tomography images that are very noisy and full of artifacts and the results are quite satisfying (much better than what I can get with a watershed, for example). But I think it is wiser that I first get to know the project by contributing to existing parts of the scikit. Let me know how I can help. Cheers, Emmanuelle
Hi Emanuelle On May 2, 11:27 pm, Emmanuelle Gouillart <emmanuelle.gouill...@normalesup.org> wrote:
as I'm using both Python/Scipy and image processing in my daily work, I would be interested in contributing to the image scikit if I can be of any help.
Welcome! We are always very happy to receive new contributions in any form, be it code, documentation or suggestions.
I have read the "Contribute" page of the website, and maybe the easiest way to start me off would be that I write some documentation and tests. But please tell me if you have other suggestions, I do not have specific preferences. The only thing is that I have almost never used Cython, but I'm willing to learn it.
Cython is a very handy tool, especially since we have to process large arrays rapidly. I don't think you'll have any problem getting the hang of it, given your extensive numpy background. It basically just revolves around annotating variables by saying this is an integer, this is an array of floats, etc. to help with the conversion from Python to C.
By the way, I had trouble installing the scikit as with my Ubuntu-packaged version of Cython (0.11) I got lots of errors (such as "/usr/lib/pymodules/python2.6/Cython/Includes/python_version.pxd:31:8: Buffer types only allowed as function local variables") and I had to install Cython 0.12 to make it work. I can provide the whole log if you expected the install to work with Cython 0.11.
I know we've also had to generate the NumPy sources with 0.12, so maybe it's safe to assume this as a minimum requirement. If only minor changes are required to build with 0.11, I'd be happy to apply a patch.
In the longer term, I could also contribute two algorithms that I have implemented in Python (with dependencies to numpy and scipy):
* the circular Hough transform (for 2-D images) that may be used to detect circles.
Fantastic! Let's get this code integrated. You can branch off the main repo at http://github.com/scikits.image and add your modifications. We can then review your changes and merge as soon as they're ready.
* a "random walker" segmentation algorithm that implements a recent generic algorithm by L. Grady [Random walks for image segmentation, Leo Grady, IEEE Trans Pattern Anal Mach Intell. 2006 Nov;28(11):1768-83]. The algorithm basically finds the region into which given markers preferentially diffuse, with an anisotropic diffusion that penalizes diffusion across strong gradients. I use it to segment huge (500x500x500) 3-D tomography images that are very noisy and full of artifacts and the results are quite satisfying (much better than what I can get with a watershed, for example).
I haven't read the paper yet, but it sounds like an interesting concept. Again, I'd be happy to integrate the code.
But I think it is wiser that I first get to know the project by contributing to existing parts of the scikit.
Maybe the best way to get to know the code-base is to jump right in! Looking forward to your contributions, Cheers Stéfan
participants (2)
-
Emmanuelle Gouillart
-
Stefan van der Walt