This week the software showcase is celebrating image processing! While there are many domains that use it, and many software packages and languages to help, this week we celebrate scikit-image, which has you covered for many algorithms, tutorials, and examples.
If you already know about scikit-image, we encourage you to contribute to the research software encyclopedia and annotate the respository:
otherwise, keep reading!
According to the first page of the website, scikit-image embodies all the lovely bits about open source and community that we generally value in open source development:
scikit-image is a collection of algorithms for image processing. It is available free of charge and free of restriction. We pride ourselves on high-quality, peer-reviewed code, written by an active community of volunteers.
The site also mentions that it builds on scipy’s ndimage, and according to the scipy website, it’s part of the Scipy ecosystem as well. Which came first? If we go by the mailing list, the scipy-dev and scipy-users mailing list both had their first test message in June 2001. On the other hand, scikit-learn’s mailing list came to life much later, in September of 2009. This also gives us a bit of insight about it’s development. How do you ultimately develop a large, successful, and highly useful library for image processing and Python?
If we guess from the early posts, you need a community of people that deeply care about creating and maintaining a useful library. In the image above, we see organization by way of:
And it looks like by the end of 2012 (a little over a year) the project had ben renamed from scikits.image
to scikit-image
and even moved
over to a community repository, where it lives now.
I highly encourage you to explore the beginning posts for this library on the mailing list archives! It’s very organically grown, e.g.,
I know a friend has some filtered back-projection code which may still be based on numarray, but is apparently quite fast. I’ll try to get him to contribute it (and numpyify it first if necessary). - Gary Ruben (mailing list post from 2009)
And I bet that the community has maintained it’s open and welcoming values. For example, there was a sprint advertised for the end of July. Also, check out the mission that is clearly stated on the site. If other projects need inspiration, here it is!
You can cite this article published in PeerJ in 2014:
Stéfan van der Walt, Johannes L. Schönberger, Juan Nunez-Iglesias, François Boulogne, Joshua D. Warner, Neil Yager, Emmanuelle Gouillart, Tony Yu and the scikit-image contributors. scikit-image: Image processing in Python. PeerJ 2:e453 (2014) https://doi.org/10.7717/peerj.453
and here is the corresponding BibTeX entry:
@article{scikit-image,
title = {scikit-image: image processing in {P}ython},
author = {van der Walt, {S}t\'efan and {S}ch\"onberger, {J}ohannes {L}. and
{Nunez-Iglesias}, {J}uan and {B}oulogne, {F}ran\c{c}ois and {W}arner,
{J}oshua {D}. and {Y}ager, {N}eil and {G}ouillart, {E}mmanuelle and
{Y}u, {T}ony and the scikit-image contributors},
year = {2014},
month = {6},
keywords = {Image processing, Reproducible research, Education,
Visualization, Open source, Python, Scientific programming},
volume = {2},
pages = {e453},
journal = {PeerJ},
issn = {2167-8359},
url = {https://doi.org/10.7717/peerj.453},
doi = {10.7717/peerj.453}
}
You might visit any of the following links!
You can also post questions on the GitHub issues board.
or read more about annotation here. You can clone the software repository to do bulk annotation, or annotation any repository in the software database, We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. If you’d like to request annotation of a particular repository (or addition to the software database) please don’t hesitate to open an issue or even a pull request.
You might find these other resources useful:
For any resource, you are encouraged to give feedback and contribute!