Processing Workflows

This guide describes the typical image processing workflows available in KINTSUGI.

Overview

KINTSUGI provides a complete pipeline for multi-cycle immunofluorescence image analysis:

  1. Illumination Correction - Fix uneven lighting across images

  2. Stitching - Combine tiled images into single large images

  3. Deconvolution - Remove optical blur and improve resolution

  4. Extended Depth of Focus (EDoF) - Combine Z-stacks into 2D

  5. Registration - Align images across multiple cycles

  6. Autofluorescence Removal - Subtract background signal

  7. Segmentation - Identify cells and structures

  8. Spatial Analysis - Analyze spatial relationships

Workflow 1: Single Channel Evaluation

Use this workflow to test and tune parameters on a single channel before batch processing.

Notebook: notebooks/1_Single_Channel_Eval.ipynb

Steps:

  1. Load a single channel image

  2. Test illumination correction parameters

  3. Test stitching parameters

  4. Test deconvolution settings

  5. Evaluate results visually

Workflow 2: Cycle Processing

Batch process all channels across multiple cycles.

Notebook: notebooks/2_Cycle_Processing.ipynb

Steps:

  1. Configure input/output directories

  2. Set processing parameters

  3. Run illumination correction

  4. Run stitching

  5. Run deconvolution (optional)

  6. Run EDoF (optional)

  7. Run registration

Workflow 3: Signal Isolation

Remove autofluorescence and isolate true signal.

Notebook: notebooks/3_Signal_Isolation.ipynb

Steps:

  1. Load registered images

  2. Identify autofluorescence channels

  3. Subtract autofluorescence

  4. Apply filtering

  5. Generate final signal images

Workflow 4: Segmentation Analysis

Perform cell segmentation and spatial analysis.

Notebook: notebooks/4_Segmentation_Analysis.ipynb

Steps:

  1. Load processed images

  2. Run InstanSeg segmentation

  3. Extract cell features

  4. Perform clustering

  5. Analyze spatial relationships

Registration Module (Kreg)

The Kreg module provides image registration functionality based on VALIS.

Basic Usage

from kintsugi.kreg import Valis

# Initialize registrar
registrar = Valis(
    src_dir="/path/to/images",
    dst_dir="/path/to/output",
    reference_img_f="cycle1.tif",
    align_to_reference=True,
)

# Run registration
registrar.register()
registrar.register_micro()  # Fine registration
registrar.warp_and_merge_slides()  # Output registered images

Configuration Options

Parameter

Description

Default

src_dir

Source image directory

Required

dst_dir

Output directory

Required

reference_img_f

Reference image filename

Required

max_image_dim_px

Max image dimension for processing

2048

compose_non_rigid

Enable non-rigid registration

True

crop_to_overlap

Crop to overlapping region

True

Visualization Module (Kview2)

The Kview2 module provides interactive visualization tools.

Basic Usage

from kintsugi.kview2 import imshow, curtain, crop

# Display image
imshow(image)

# Compare two images with curtain view
curtain(image1, image2)

# Interactive crop
cropped = crop(image)

Stitching Module (Kstitch)

The Kstitch module provides tile stitching functionality.

Basic Usage

from kintsugi.kstitch import stitch_tiles

# Stitch tiled images
stitched = stitch_tiles(
    tile_dir="/path/to/tiles",
    output_path="/path/to/output.tif",
    overlap=0.1,  # 10% overlap
)

Tips for Large Datasets

  1. Start small: Test parameters on a subset before full batch processing

  2. Monitor memory: Use kintsugi info to check available resources

  3. Use tiled processing: Enable tiled output for very large images

  4. GPU acceleration: Enable CuPy for faster deconvolution