Skip to main content

Visual Programming in JupyterLab for Image Processing

Project description

Chaldene

PyPI Package Teaser Tutorial Use Cases Binder License

Notebook-Embedded Visual Workflow Authoring for Scientific Image Processing

Chaldene teaser

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

  1. Create a new notebook

    • Click "+" to create a new notebook
    • Add a Visual Code cell from the cell toolbar
  2. 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:

Workflow 1: Image Analysis Pipeline

Workflow 2: Processing Chain

More Features

Publish to Zenodo

Archive your workflow files or results to Zenodo and mint a citable DOI, directly from JupyterLab.

  1. Create a Zenodo personal access token with the deposit:write and deposit:actions scopes.
  2. In the JupyterLab file browser, right-click the empty area and choose Publish to Zenodo.
  3. In the dialog, select one or more files/folders to publish (folders are zipped automatically).
  4. Enter your access token, then a title, author(s), and description.
  5. 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chaldene-0.2.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chaldene-0.2.0-py3-none-any.whl (737.3 kB view details)

Uploaded Python 3

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

Hashes for chaldene-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1a0c9da10196eb5a0db877a077a8d386a39d1e6080d6aa6654b22ede5f286aaf
MD5 fb4cf61eb6b45b8a4f4e3a8888c5649f
BLAKE2b-256 10cae7fc9b428fd776b0f626d135c800336ad9076af7538f0a938503bb261e49

See more details on using hashes here.

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

Hashes for chaldene-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 684438fd39d27c585374ecde57600d543c718298b4e5f155fc68805ddafb89df
MD5 952b35a23e342dd0dd5979ddfbf1bb7d
BLAKE2b-256 e7b86b36daf551113433dfb454e468d4495cccc41edc86fc62bf20a612c35f71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page