Skip to main content

Read, stitch and compress Leica LAS Matrix Screener experiments

Project description

build-status-image pypi-version wheel


This is a python module for interfacing with Leica LAS AF/X Matrix Screener experiments.

The module can be used to:

  • stitch wells from an experiment exported with the LAS AF Data Exporter
  • batch compress images lossless
  • programmatically select slides/wells/fields/images given by attributes like
    • slide (S)
    • well position (U, V)
    • field position (X, Y)
    • z-stack position (Z)
    • channel (C)


  • Access experiment as a python object
  • Compress to PNGs without loosing precision, metadata or colormap
  • ImageJ stitching (Fiji is installed via fijibin)


Install using pip

pip install leicaexperiment


stitch experiment

from leicaexperiment import Experiment

# path should contain AditionalData and slide--S*
experiment = Experiment('path/to/experiment')

# if path is omitted, experiment path is used for output files
stitched_images = experiment.stitch('/path/to/output/files/')

# get information about placement of images in the stitch
xs, ys, attrs = experiment.stitch_coordinates(well_x=0, well_y=0)

stitch specific well

from leicaexperiment import stitch

stitched_images = stitch('/path/to/well')

do stuff on all images

from leicaexperiment import Experiment

experiment = Experiment('path/to/experiment--')

for image in experiment.images:
    do stuff...

do stuff on specific wells/fields

from leicaexperiment import Experiment
from PIL import Image

experiment = Experiment('path/to/experiment--')

# on images in well --U00--V00
for well in experiment.well_images(0, 0):
    do stuff...

# rotate top left image in first row
rows = experiment.well_rows
for r in rows:
    img_path = experiment.image(r, 0, 0, 0)
    img =
    img = img.rotate(90)

subtract attributes from file names

from leicaexperiment import attribute

# get all channels
channels = [attribute(image, 'C') for image in experiment.images]
min_ch, max_ch = min(channels), max(channels)

batch lossless compress of experiment

from leicaexperiment import Experiment

e = Experiment('/path/to/experiment')
pngs = e.compress()

API reference

API reference is at


Install dependencies and link development version of leicaexperiment to pip:

git clone
cd leicaexperiment
pip install -r requirements.txt

run test

pip install tox

extra output, jump into pdb upon error

DEBUG=leicaexperiment tox -- --pdb -s

build api reference

pip install -r docs/requirements.txt
make docs

Project details

Download files

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

Files for leicaexperiment, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size leicaexperiment-0.2.0-py2.py3-none-any.whl (11.9 kB) File type Wheel Python version 3.4 Upload date Hashes View
Filename, size leicaexperiment-0.2.0.tar.gz (1.3 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page