Building scikit-image: Stéfan van der Walt on open source, community, and change

September 29, 2026

On September 17, 2026, the Berkeley Open Source Program Office and the Berkeley Institute for Data Science (BIDS) welcomed Stéfan van der Walt for a conversation about the past, present, and future of scikit-image. The meetup brought together students, researchers, developers, and open source community members at the new home of the UC Berkeley College of Computing, Data Science, and Society (CDSS) and BIDS in the Barbara and Gerson Bakar Gateway building.

Stéfan van der Walt is a Senior Research Data Scientist at BIDS, the founder of scikit-image, and a co-founder of Scientific Python. In conversation with BIDS Executive Director Kirstie Whitaker, he traced a path from his first encounter with image processing to the challenge of designing a widely used scientific library.

A speaker behind the podium talking to a moderator sitting in front of the screen which projects the Berkeley OSPO logo.

Photo: Stéfan van der Walt describes the history of scikit-image to Kirstie Whitaker and the event attendees

What is scikit-image?

Scikit-image is a popular image-processing library that averages 30 million downloads per month. It provides free, open source algorithms that allow researchers and developers to analyze images as data in Python. 

Images in scikit-image are represented as NumPy arrays. The library can be used to find edges, reduce noise, identify features, segment an image into meaningful regions, measure shapes, align images, and transform coordinates. Those capabilities support work across fields including microscopy, medicine, satellite imaging, and more.

From a research problem to an open source project

Van der Walt's interest in image processing began during his master's studies in South Africa. After encountering tomography (the process of reconstructing the inside of an object from measurements taken at different angles), he worked on a project that exposed him to the limitations of proprietary scientific software: running MATLAB on Linux required licenses for machines, computing nodes, and specialized toolboxes, leading him to the open source alternative GNU Octave. The experience changed how he viewed research tools: with open source, he noted, “you own the tool that you work on” and can adapt it while sharing improvements with others.

After his research group moved to Python, van der Walt contributed to NumPy and SciPy and began collecting image-processing routines that researchers had shared through mailing lists. These became the foundation of scikit-image in 2009. Rather than simply reproducing MATLAB in Python, its contributors developed a library shaped by Python and the needs of its own community.

The people behind the software

Scikit-image did not become widely used overnight. Its early contributors gave tutorials, demonstrated the library to researchers, and encouraged users to improve it. Van der Walt encouraged prospective contributors to begin with a specific need. A researcher might contribute an algorithm required for their own work, while someone else might help maintain an existing feature. Moreover, participation does not have to be permanent. Contributors can help solve one problem, join a public meeting, or share examples of how the software has supported their research or organization.

Scikit-image logo with a python's head in a circle next to the Scientific Python logo with a graphic tree in a circl.e

Where AI fits into open source development

Human engagement remains central to the development of scikit-image, but more pull requests now arrive with help from large language models (LLMs). An attendee asked what role AI should play in development. Van der Walt said he does not yet see AI as a substitute for the expertise that scientific algorithms require, because these algorithms often depend on subtle numerical and domain details. He cautioned that problems arise when contributors act mainly as "a router for an LLM in the background" and cannot explain the reasoning behind their submissions. Scientific results are only as accurate as the code that produces them, and an incorrect algorithm can lead to false conclusions. Contributors must therefore understand the underlying concepts and take responsibility for their work.

Still, he sees AI as a useful tool for finding and fixing bugs, understanding codebases, and doing routine maintenance, such as cleaning up code and fixing continuous integration (CI) failures. Handing off this work frees maintainers to focus on their core goal: implementing high-quality image processing algorithms. He also sees promise in using LLMs to write research notebooks that trace the history of technical decisions, and to find long-standing issues that are hard to spot.

Preparing scikit-image for its next chapter

After more than fifteen years of development, scikit-image carries some early design choices that no longer serve its users well. One example is the library's practice of automatically rescaling certain image data to values between zero and one. While useful for ordinary images, that behavior can become confusing when pixel values represent scientific measurements such as temperature. 

While a change is needed, a sudden update could silently alter numerical results across laboratories and downstream software. The team's proposed transition to scikit-image 2 is therefore designed around gradual migration. The current skimage interface and the new one will be available side by side during the transition. Users will be able to move portions of a workflow at a time, compare results, and consult a detailed migration guide. The approach treats backward compatibility not simply as a technical constraint, but as a responsibility to the communities that have built research on top of the library.

Open source is a long-term relationship

The discussion at this OSPO meetup exemplified that maintaining scientific software is not only about implementing algorithms. It is also about earning users' trust, welcoming contributors, documenting decisions, securing resources, and planning for changes that may unfold over many years.

The library began with a researcher trying to solve a problem using the tools available to him. It grew because people shared code, taught one another, and built a community around improving a common resource.

To learn more, visit the scikit-image website, browse its documentation and examplesTo stay in touch with the BIDS community and join the conversation, sign up for the OSPO list by emailing ospo+subscribe@lists.berkeley.edu, follow us on Bluesky & LinkedIn, and subscribe to the BIDS newsletter.