Visual Programming in JupyterLab for Image Processing
Project description
Chaldene
Notebook-Embedded Visual Workflow Authoring for Scientific Image Processing
Key Features
- Low-barrier, drag-and-drop node-based authoring with an explicit, reusable workflow representation
- Image-specific inspection and comparison support, including branching, stepwise views, synchronized viewing, cursor linking, and difference overlays, with intermediate images captured as a visual trace
- Co-locates workflow structure, parameter settings, outputs, and narrative context within a single notebook artifact during authoring
Installation
Local Installation
The only external requirement is OpenJDK 11 (required for PyImageJ), for example with Conda:
conda install -c conda-forge "openjdk=11"
Then install Chaldene and launch JupyterLab:
pip install chaldene
jupyter lab
Use Without Local Installation
Chaldene targets practitioners with limited programming experience, so it is not intended to require manual installation and configuration by each end user. Instead, it can be provided through preconfigured environments, such as Binder, managed JupyterHub/JupyterLab servers, or lab-maintained software images, allowing practitioners to focus on workflow authoring rather than software administration.
Quick Start
-
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
Examples
📂 Examples are available in the use_cases/ folder
Below are two representative workflows created by users, demonstrating Chaldene's capabilities for interactive image processing:
More Features
Publish to Zenodo
Archive your workflow files or results to Zenodo and mint a citable DOI, directly from JupyterLab.
- Create a Zenodo personal access token with the
deposit:writeanddeposit:actionsscopes. - In the JupyterLab file browser, right-click the empty area and choose Publish to Zenodo.
- In the dialog, select one or more files/folders to publish (folders are zipped automatically).
- Enter your access token, then a title, author(s), and description.
- All selected items are uploaded to a single Zenodo record and the minted DOI is shown when publishing completes.
Python API
ChaldeneClient lets you control VP cells from Python — useful for driving
parameters with ipywidgets, running parameter sweeps, or integrating VP
cells into larger notebook workflows.
from chaldene import ChaldeneClient
client = ChaldeneClient()
Once a VP cell is visible in the notebook, client.get_ready_cell_ids()
returns its ID. From there you can update node inputs and re-run the cell:
cell_id = client.get_ready_cell_ids()[-1]
client.set_input(cell_id, node_id='1', handle_id='in1', value=[0.2, 0.8])
client.run(cell_id)
Combine with ipywidgets.interact for live parameter control:
import ipywidgets as widgets
@widgets.interact(threshold=widgets.FloatSlider(min=0.0, max=1.0, step=0.05))
def update(threshold):
ids = client.get_ready_cell_ids()
if ids:
client.set_input(ids[-1], '1', 'in1', [threshold, 0.9])
client.run(ids[-1])
See api_tutorials/ for full working examples.
Development
- 📖 Developer Guide - Setup and development instructions
- 🚀 Release Guide - Package Build and Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chaldene-0.2.0.tar.gz.
File metadata
- Download URL: chaldene-0.2.0.tar.gz
- Upload date:
- Size: 3.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a0c9da10196eb5a0db877a077a8d386a39d1e6080d6aa6654b22ede5f286aaf
|
|
| MD5 |
fb4cf61eb6b45b8a4f4e3a8888c5649f
|
|
| BLAKE2b-256 |
10cae7fc9b428fd776b0f626d135c800336ad9076af7538f0a938503bb261e49
|
File details
Details for the file chaldene-0.2.0-py3-none-any.whl.
File metadata
- Download URL: chaldene-0.2.0-py3-none-any.whl
- Upload date:
- Size: 737.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
684438fd39d27c585374ecde57600d543c718298b4e5f155fc68805ddafb89df
|
|
| MD5 |
952b35a23e342dd0dd5979ddfbf1bb7d
|
|
| BLAKE2b-256 |
e7b86b36daf551113433dfb454e468d4495cccc41edc86fc62bf20a612c35f71
|