Scikit-image

Aug 15, 2020. | By: @vsoch

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.


/rseng/assets/img/posts/showcase/scikit-image.png


If you already know about scikit-image, we encourage you to contribute to the research software encyclopedia and annotate the respository:

otherwise, keep reading!

What is Scikit Image?

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?

/rseng/assets/img/posts/showcase/scikit-image-mailing-list.png

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:

  • having discussion at a meetup / sprint
  • creating a mailing list
  • version control a la GitHub
  • documentation
  • calls for contribution

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.

/rseng/assets/img/posts/showcase/scikit-image-moved.png

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!

How do I cite it?

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}
}

How do I get started?

You might visit any of the following links!

You can also post questions on the GitHub issues board.

How do I contribute to the software survey?

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.

Where can I learn more?

You might find these other resources useful:

For any resource, you are encouraged to give feedback and contribute!

Categories

News 2

Tutorials 2

Software 33

Recent Posts