How to Contribute to SimpleITK Documentation

@zivy is there any way I can help? Perhaps providing examples? I think that SimpleITK is awesome and documentation is key so people can get the most of it.


@Diego_C, yes and yes! We would really appreciate help with the documentation, from people that are outside the developers circle (we seem to struggle with this as we know what we mean). Our documentation is currently split into three:

  1. Read-the-docs, generated via sphinx from files found in the SimpleITK repository (the link goes to the main location but we have sphinx files in other locations in the repo). This includes a set of short examples that illustrate how to use a filter etc.
  2. API via doxygen, automatically generated based on the ITK documentation.
  3. Notebook repository, long examples and image analysis workflows.

If you are willing to help us with additional short read-the-docs examples, that would be much appreciated.

Looking at the read-the-docs examples, you’ll see that they have prose (at least some) and code. The prose describes the code but it should not be language specific as we support eight languages. The “hello world” example is one of the few that covers all eight languages and has prose (thanks to @dchen).

To contribute an example, please follow these steps (possibly too detailed, but just in case):

  1. Have sphinx installed.
  2. In your local copy of your fork of the SimpleITK repo create a branch with a directory for your contribution under the Examples directory.
  3. Add a CMake file that will configure the example for testing, includes expressions such as sitk_add_python_test, language dependent (see the existing examples for code showing how to provide input and output etc.).
  4. Add a file name Documentation.rst with the prose describing the example.
  5. Link to your example in the index.rst file.
  6. Push your local branch to your github fork of SimpleITK and create pull request.

Hello Ziv! and thanks for the explanation.

Can I fork the Notebook repo?. To be honest this was the most useful when I started learning about SimpleITK (I am still learning…:sweat_smile:).



You mean you haven’t already forked the notebook repo? :wink:

We’d be happy if you helped us with the notebooks too. Be aware that the notebook repo also has a testing framework associated with it.

We use pytest (see So after you modify an existing notebook, please see that it passes the tests.

If you want to contribute a new notebook please consult with us with respect to the subject matter (it should cover something not covered by an existing notebook, otherwise may be an addition to an existing one).

Again, thanks in advance for the future contribution.