• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ASHLAR: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration

ASHLAR: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration

Whole-slide microscopy image stitching and registration in Python

Ashlar performs fast, high-quality stitching of microscopy images. It also co-registers multiple rounds of cyclic imaging for methods such as CyCIF and CODEX. Ashlar can read image data directly from BioFormats-supported microscope vendor file formats as well as a directory of plain TIFF files. Output is saved as pyramidal, tiled OME-TIFF.

Note that Ashlar requires unstitched individual "tile" images as input, so it is not suitable for microscopes or slide scanners that only provide pre-stitched images.

Visit labsyspharm.github.io/ashlar/ for the most up-to-date information on ASHLAR.

Usage

ashlar [-h] [-o PATH] [-c CHANNEL] [--flip-x] [--flip-y]
       [--flip-mosaic-x] [--flip-mosaic-y]
       [--output-channels CHANNEL [CHANNEL ...]] [-m SHIFT]
       [--stitch-alpha ALPHA] [--filter-sigma SIGMA]
       [--tile-size PIXELS] [--ffp FILE [FILE ...]]
       [--dfp FILE [FILE ...]] [--plates] [-q] [--version]
       FILE [FILE ...]

Stitch and align multi-tile cyclic microscope images

positional arguments:
  FILE                  Image file(s) to be processed, one per cycle

optional arguments:
  -h, --help            Show this help message and exit
  -o PATH, --output PATH
                        Output file. If PATH ends in .ome.tif a pyramidal OME-
                        TIFF will be written. If PATH ends in just .tif and
                        includes {cycle} and {channel} placeholders, a series
                        of single-channel plain TIFF files will be written. If
                        PATH starts with a relative or absolute path to
                        another directory, that directory must already exist.
                        (default: ashlar_output.ome.tif)
  -c CHANNEL, --align-channel CHANNEL
                        Reference channel number for image alignment.
                        Numbering starts at 0. (default: 0)
  --flip-x              Flip tile positions left-to-right
  --flip-y              Flip tile positions top-to-bottom
  --flip-mosaic-x       Flip output image left-to-right
  --flip-mosaic-y       Flip output image top-to-bottom
  --output-channels CHANNEL [CHANNEL ...]
                        Output only specified channels for each cycle.
                        Numbering starts at 0. (default: all channels)
  -m SHIFT, --maximum-shift SHIFT
                        Maximum allowed per-tile corrective shift in microns
                        (default: 15)
  --stitch-alpha ALPHA  Significance level for permutation testing during
                        alignment error quantification. Larger values include
                        more tile pairs in the spanning tree at the cost of
                        increased false positives. (default: 0.01)
  --filter-sigma SIGMA  Filter images before alignment using a Gaussian kernel
                        with s.d. of SIGMA pixels (default: no filtering)
  --tile-size PIXELS    Pyramid tile size for OME-TIFF output (default: 1024)
  --ffp FILE [FILE ...]
                        Perform flat field illumination correction using the
                        given profile image. Specify one common file for all
                        cycles or one file for every cycle. Channel counts
                        must match input files. (default: no flat field
                        correction)
  --dfp FILE [FILE ...]
                        Perform dark field illumination correction using the
                        given profile image. Specify one common file for all
                        cycles or one file for every cycle. Channel counts
                        must match input files. (default: no dark field
                        correction)
  --plates              Enable plate mode for HTS data
  -q, --quiet           Suppress progress display
  --version             Show program's version number and exit

Installation

Pip install

Ashlar can be installed in most Python environments using pip:

pip install ashlar

Using a conda environment

If you don't already have miniconda or Anaconda, download the python 3.x version and install. Then, run the following commands from a terminal (Linux/Mac) or command prompt (Windows):

Create a named conda environment with python 3.10:

conda create -y -n ashlar python=3.10

Activate the conda environment:

conda activate ashlar

In the activated environment, install dependencies and ashlar itself:

conda install -y -c conda-forge numpy scipy matplotlib networkx scikit-image=0.19 scikit-learn "tifffile>=2023.3.15" zarr pyjnius blessed
pip install ashlar

Docker image

The docker image of ashlar is on DockerHub at labsyspharm/ashlar which should be suitable for many use cases.

More Repositories

1

mcmicro

Multiple-choice microscopy pipeline
Nextflow
104
star
2

scimap

Spatial Single-Cell Analysis Toolkit
Python
73
star
3

minerva-story

Minerva Story is an image viewer that is designed specifically to make it easy for non-expert users to interact with complex tissue images.
HTML
50
star
4

minerva_analysis

JavaScript
25
star
5

cylinter

An Interactive Image Segmentation Filter for Multiplex Microscopy
Python
22
star
6

palom

Piecewise alignment for layers of mosaics
Python
18
star
7

visinity

JavaScript
15
star
8

smallmoleculesuite-old

R
15
star
9

minerva-author

Tool to create images and configuration files for Minerva-Story
Python
13
star
10

ome-tiff-pyramid-tools

Python tools for creating and manipulating OME-TIFF multi-resolution pyramid images.
Python
13
star
11

scope2screen

Scope2Screen is an open-source web-application for focus+context exploration and annotation of whole-slide, high-plex, tissue images.
JavaScript
13
star
12

DRIADrc

Resources for Drug Repurposing In Alzheimer's Disease (DRIAD) work
R
11
star
13

CRC_atlas_2022

MATLAB
11
star
14

orion-crc

MATLAB
10
star
15

quantification

Quantification module for mcmicro
Python
9
star
16

DRIAD

Drug Repurposing in Alzheimer's Disease
R
8
star
17

basic-illumination

ImageJ BaSiC shading correction for use with Ashlar
Python
8
star
18

naivestates

Inference of cell states using Naive Bayes
R
6
star
19

smallmoleculesuite

R
5
star
20

cluequery

An R interface to the Connectivity Map API at clue.io
R
5
star
21

redseapy

Python
5
star
22

lsp-cheminformatics

API for performing all kinds of cheminformatics task, like fingerprinting and chemical similarity computations
Python
5
star
23

KinCo

Kinase-compound affinity prediction based on structures
Python
4
star
24

minerva-browser

JavaScript
4
star
25

marm2-supplement

Supplementary Material for the MARM2.0 model
Python
4
star
26

minerva-author-ui

Minerva Author is an authoring tool used to create Minerva narrated stories via selection of specific channel groupings and image views.
JavaScript
4
star
27

morgancpp

Efficient structure for storing and comparing Morgan fingerprints
C
3
star
28

dubportal

An integrative resource for deubiquitinating enzymes (DUBs) served at https://labsyspharm.github.io/dubportal
HTML
3
star
29

marm1-supplement

Supplemental code and model files for the MARM1 model publication, Gerosa et al.
Jupyter Notebook
3
star
30

harvardtissueatlas

Harvard Tissue Atlas website
SCSS
3
star
31

PanFab-PAPR-2021

Greater Boston Pandemic Fabrication Team Powered Air-Purifying Respirator (PanFab PAPR)
C++
3
star
32

UnMICST-info

Python
2
star
33

cycif.org

cycif.org GitHub Pages Website
JavaScript
2
star
34

scn2ometiff

Convert a Leica .SCN file to OME-TIFF format
Python
2
star
35

minerva-lib-python

Minerva Python Library
Python
2
star
36

OMERO_scripts

Repository for OMERO related scripts
Python
2
star
37

vae-paper

Jupyter Notebook
2
star
38

cellcutter

Create thumbnails of cells in a given image.
Python
2
star
39

rnaseq

Guide for aligning deep RNAseq and Digital Gene Expression (DGE) reads using bcbio.
CSS
2
star
40

minerva-cloud

Minerva Cloud is a novel cloud-native (AWS) platform for high-dimensional microscopy image storage, management, and visualization.
Python
2
star
41

sms-maintenance

Scripts for maintaining and processing Small Molecule Suite data.
R
1
star
42

selectivity_comparisons

R
1
star
43

enrichr.db

Data package providing gene sets from Enrichr in R
R
1
star
44

cd73_coy_spatialcorrelation

HTML
1
star
45

driad-website

Web app for Drug Repurposing in Alzheimer's Disease
R
1
star
46

lincs_proteomics_data_descriptor

This repository includes code used to process and visualize datasets that feature in the LINCS proteomics data descriptor
R
1
star
47

dark-kinome-old

R
1
star
48

aws-tools

General purpose scripts for managing our AWS usage
Shell
1
star
49

palmer-plana-2020

Mathematica
1
star
50

lymphonet_2023

Lymphocyte networks are dynamic cellular communities in the immunoregulatory landscape of lung adenocarcinoma
MATLAB
1
star
51

digipath_ml

1
star
52

mcmicro-ilastik

Ilastik segmentation module for mcmicro
Python
1
star
53

ludwigtumoratlas.org

Ludwig Tumor Atlas website
SCSS
1
star
54

pamsig

Partitioning Around Medoids (PAM) and generation of cluster SIGnatures
R
1
star
55

mcmicro-scanpy

An MCMICRO module implementation of scanpy for clustering cells
Python
1
star
56

lspci

A site describing LSP compounds served at https://labsyspharm.github.io/lspci/
HTML
1
star
57

bfextractor

Python
1
star
58

npjbcancer2023

Scripts and data for NPJ Breast Cancer 2023 (Guerriero-Lin-Santagata)
MATLAB
1
star
59

cylinter-paper

Jupyter Notebook
1
star
60

kinome-website

R
1
star
61

tissue_integrity_dashboard

Interactive dashboard showing DNA correlation coefficient as indicator of tissue integrity at single cell level
Jupyter Notebook
1
star
62

minerva-cli

Minerva Command Line Interface
Python
1
star
63

bfscanner

Bio-Formats Directory Scanner
Java
1
star
64

minerva-cloud-ui

Minerva Cloud is a novel cloud-based (AWS) software for high-dimensional image management, storage and visualization.
JavaScript
1
star
65

gater

JavaScript
1
star