Notebook-Embedded Visual Programming for Authoring Interactive Image-Processing Workflows
- Drag-and-drop node-based programming for image processing
- Interactive workflow creation in JupyterLab
- Parameter adjustment and image visualization
- JupyterLab ≥ 4.0.0
- OpenJDK 11 (required for PyImageJ)
For example, with Conda:
conda install -c conda-forge "openjdk=11"-
Install Chaldene
pip install chaldene
-
Launch JupyterLab
jupyter lab
-
Create a new notebook
- Click "+" to create a new notebook
- Add a Visual Code cell from the cell toolbar
-
Start building workflows
- Drag and drop nodes to create your image processing workflows
- Connect nodes to build workflows
- Adjust parameters and inspect the outputs to refine the workflows
New to Chaldene? Watch our tutorial video.
📂 Examples are available in the use_cases/ folder
Below are two representative workflows created by users, demonstrating Chaldene's capabilities for interactive image processing:
- 📖 Developer Guide - Setup and development instructions
- 🚀 Release Guide - Package Build and Releae
If you use this package in your research, please cite our paper:
For the visual programming environment:
@INPROCEEDINGS{chen2022Chaldene,
author={Chen, Fei and Slusallek, Philipp and Müller, Martin and Dahmen, Tim},
booktitle={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)},
title={Chaldene: Towards Visual Programming Image Processing in Jupyter Notebooks},
year={2022},
volume={},
number={},
pages={1-3},
doi={10.1109/VL/HCC53370.2022.9832910}}For the underlying image conversion systems:
@article{chen2025im2im,
author = {Fei Chen and Sunita Saha and Manuela Schuler and Philipp Slusallek and Tim Dahmen},
title = {im2im: Automatically Converting In-Memory Image Representations using A Knowledge Graph Approach},
journal = {Proc. ACM Program. Lang.},
volume = {9},
number = {OOPSLA2},
pages = {281:1--281:26},
year = {2025},
month = oct,
doi = {10.1145/3763059}
}

