ashlarUC2 1.18.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ashlaruc2-1.18.1/LICENSE +21 -0
- ashlaruc2-1.18.1/MANIFEST.in +3 -0
- ashlaruc2-1.18.1/PKG-INFO +44 -0
- ashlaruc2-1.18.1/README.md +117 -0
- ashlaruc2-1.18.1/ashlarUC2/__init__.py +5 -0
- ashlaruc2-1.18.1/ashlarUC2/_version.py +520 -0
- ashlaruc2-1.18.1/ashlarUC2/filepattern.py +123 -0
- ashlaruc2-1.18.1/ashlarUC2/fileseries.py +222 -0
- ashlaruc2-1.18.1/ashlarUC2/reg.py +1614 -0
- ashlaruc2-1.18.1/ashlarUC2/scripts/__init__.py +0 -0
- ashlaruc2-1.18.1/ashlarUC2/scripts/ashlar.py +617 -0
- ashlaruc2-1.18.1/ashlarUC2/scripts/make_alignment_movie.py +63 -0
- ashlaruc2-1.18.1/ashlarUC2/scripts/preview_slide.py +102 -0
- ashlaruc2-1.18.1/ashlarUC2/thumbnail.py +86 -0
- ashlaruc2-1.18.1/ashlarUC2/transform.py +95 -0
- ashlaruc2-1.18.1/ashlarUC2/utils.py +268 -0
- ashlaruc2-1.18.1/ashlarUC2/viewer.py +131 -0
- ashlaruc2-1.18.1/ashlarUC2/zen.py +87 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/PKG-INFO +44 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/SOURCES.txt +26 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/dependency_links.txt +1 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/not-zip-safe +1 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/requires.txt +10 -0
- ashlaruc2-1.18.1/ashlarUC2.egg-info/top_level.txt +1 -0
- ashlaruc2-1.18.1/setup.cfg +12 -0
- ashlaruc2-1.18.1/setup.py +143 -0
- ashlaruc2-1.18.1/versioneer.py +1833 -0
ashlaruc2-1.18.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 President and Fellows of Harvard College
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: ashlarUC2
|
|
3
|
+
Version: 1.18.1
|
|
4
|
+
Summary: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration
|
|
5
|
+
Home-page: https://github.com/openuc2/ashlar
|
|
6
|
+
Download-URL: https://github.com/openuc2/ashlar/archive/v1.18.1.tar.gz
|
|
7
|
+
Author: Jeremy Muhlich modified by Benedict Diederich
|
|
8
|
+
Author-email: benedictdied@gmail.com
|
|
9
|
+
License: MIT License
|
|
10
|
+
Keywords: scripts,microscopy,registration,stitching
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Natural Language :: English
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
19
|
+
Description-Content-Type: text/x-rst
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: numpy>=1.18.1
|
|
22
|
+
Requires-Dist: pyjnius>=1.2.1
|
|
23
|
+
Requires-Dist: matplotlib>=3.1.2
|
|
24
|
+
Requires-Dist: networkx>=2.4
|
|
25
|
+
Requires-Dist: scipy>=1.4.1
|
|
26
|
+
Requires-Dist: scikit-image<0.20,>=0.19.2
|
|
27
|
+
Requires-Dist: scikit-learn>=0.21.1
|
|
28
|
+
Requires-Dist: tifffile>=2023.3.15
|
|
29
|
+
Requires-Dist: zarr>=2.11.3
|
|
30
|
+
Requires-Dist: blessed>=1.17
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
ASHLAR: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration
|
|
35
|
+
|
|
36
|
+
Ashlar implements efficient combined stitching and registration of multi-channel
|
|
37
|
+
image mosaics collected using the Tissue-CycIF microscopy protocol [1]_. Although
|
|
38
|
+
originally developed for CycIF, it may also be applicable to other tiled and/or
|
|
39
|
+
cyclic imaging approaches. The package offers both a command line script for the
|
|
40
|
+
most common use cases as well as an API for building more specialized tools.
|
|
41
|
+
|
|
42
|
+
.. [1] Tissue-CycIF is multi-round immunofluorescence microscopy on large fixed
|
|
43
|
+
tissue samples. See https://doi.org/10.1101/151738 for details.
|
|
44
|
+
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
**ATTENTION:** This is a modified version used by UC2 and mirrored by PyPi to make it installable for ImSwitch.
|
|
2
|
+
|
|
3
|
+
# ASHLAR: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration
|
|
4
|
+
|
|
5
|
+
## Whole-slide microscopy image stitching and registration in Python
|
|
6
|
+
|
|
7
|
+
**Ashlar** performs fast, high-quality stitching of microscopy images. It also
|
|
8
|
+
co-registers multiple rounds of cyclic imaging for methods such as CyCIF and
|
|
9
|
+
CODEX. Ashlar can read image data directly from BioFormats-supported microscope
|
|
10
|
+
vendor file formats as well as a directory of plain TIFF files. Output is saved
|
|
11
|
+
as pyramidal, tiled OME-TIFF.
|
|
12
|
+
|
|
13
|
+
Note that Ashlar requires unstitched individual "tile" images as input, so it is
|
|
14
|
+
not suitable for microscopes or slide scanners that only provide pre-stitched
|
|
15
|
+
images.
|
|
16
|
+
|
|
17
|
+
**Visit [labsyspharm.github.io/ashlar/](https://labsyspharm.github.io/ashlar/) for the most up-to-date information on ASHLAR.**
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
ashlar [-h] [-o PATH] [-c CHANNEL] [--flip-x] [--flip-y]
|
|
23
|
+
[--flip-mosaic-x] [--flip-mosaic-y]
|
|
24
|
+
[--output-channels CHANNEL [CHANNEL ...]] [-m SHIFT]
|
|
25
|
+
[--stitch-alpha ALPHA] [--filter-sigma SIGMA]
|
|
26
|
+
[--tile-size PIXELS] [--ffp FILE [FILE ...]]
|
|
27
|
+
[--dfp FILE [FILE ...]] [--plates] [-q] [--version]
|
|
28
|
+
FILE [FILE ...]
|
|
29
|
+
|
|
30
|
+
Stitch and align multi-tile cyclic microscope images
|
|
31
|
+
|
|
32
|
+
positional arguments:
|
|
33
|
+
FILE Image file(s) to be processed, one per cycle
|
|
34
|
+
|
|
35
|
+
optional arguments:
|
|
36
|
+
-h, --help Show this help message and exit
|
|
37
|
+
-o PATH, --output PATH
|
|
38
|
+
Output file. If PATH ends in .ome.tif a pyramidal OME-
|
|
39
|
+
TIFF will be written. If PATH ends in just .tif and
|
|
40
|
+
includes {cycle} and {channel} placeholders, a series
|
|
41
|
+
of single-channel plain TIFF files will be written. If
|
|
42
|
+
PATH starts with a relative or absolute path to
|
|
43
|
+
another directory, that directory must already exist.
|
|
44
|
+
(default: ashlar_output.ome.tif)
|
|
45
|
+
-c CHANNEL, --align-channel CHANNEL
|
|
46
|
+
Reference channel number for image alignment.
|
|
47
|
+
Numbering starts at 0. (default: 0)
|
|
48
|
+
--flip-x Flip tile positions left-to-right
|
|
49
|
+
--flip-y Flip tile positions top-to-bottom
|
|
50
|
+
--flip-mosaic-x Flip output image left-to-right
|
|
51
|
+
--flip-mosaic-y Flip output image top-to-bottom
|
|
52
|
+
--output-channels CHANNEL [CHANNEL ...]
|
|
53
|
+
Output only specified channels for each cycle.
|
|
54
|
+
Numbering starts at 0. (default: all channels)
|
|
55
|
+
-m SHIFT, --maximum-shift SHIFT
|
|
56
|
+
Maximum allowed per-tile corrective shift in microns
|
|
57
|
+
(default: 15)
|
|
58
|
+
--stitch-alpha ALPHA Significance level for permutation testing during
|
|
59
|
+
alignment error quantification. Larger values include
|
|
60
|
+
more tile pairs in the spanning tree at the cost of
|
|
61
|
+
increased false positives. (default: 0.01)
|
|
62
|
+
--filter-sigma SIGMA Filter images before alignment using a Gaussian kernel
|
|
63
|
+
with s.d. of SIGMA pixels (default: no filtering)
|
|
64
|
+
--tile-size PIXELS Pyramid tile size for OME-TIFF output (default: 1024)
|
|
65
|
+
--ffp FILE [FILE ...]
|
|
66
|
+
Perform flat field illumination correction using the
|
|
67
|
+
given profile image. Specify one common file for all
|
|
68
|
+
cycles or one file for every cycle. Channel counts
|
|
69
|
+
must match input files. (default: no flat field
|
|
70
|
+
correction)
|
|
71
|
+
--dfp FILE [FILE ...]
|
|
72
|
+
Perform dark field illumination correction using the
|
|
73
|
+
given profile image. Specify one common file for all
|
|
74
|
+
cycles or one file for every cycle. Channel counts
|
|
75
|
+
must match input files. (default: no dark field
|
|
76
|
+
correction)
|
|
77
|
+
--plates Enable plate mode for HTS data
|
|
78
|
+
-q, --quiet Suppress progress display
|
|
79
|
+
--version Show program's version number and exit
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Installation
|
|
83
|
+
|
|
84
|
+
### Pip install
|
|
85
|
+
|
|
86
|
+
Ashlar can be installed in most Python environments using `pip`:
|
|
87
|
+
``` bash
|
|
88
|
+
pip install ashlar
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Using a conda environment
|
|
92
|
+
|
|
93
|
+
If you don't already have [miniconda](https://docs.conda.io/en/latest/miniconda.html)
|
|
94
|
+
or [Anaconda](https://www.anaconda.com/products/individual), download the python
|
|
95
|
+
3.x version and install. Then, run the following commands from a terminal (Linux/Mac)
|
|
96
|
+
or command prompt (Windows):
|
|
97
|
+
|
|
98
|
+
Create a named conda environment with python 3.10:
|
|
99
|
+
```bash
|
|
100
|
+
conda create -y -n ashlar python=3.10
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Activate the conda environment:
|
|
104
|
+
```bash
|
|
105
|
+
conda activate ashlar
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
In the activated environment, install dependencies and ashlar itself:
|
|
109
|
+
```bash
|
|
110
|
+
conda install -y -c conda-forge numpy scipy matplotlib networkx scikit-image=0.19 scikit-learn "tifffile>=2023.3.15" zarr pyjnius blessed
|
|
111
|
+
pip install ashlar
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Docker image
|
|
115
|
+
|
|
116
|
+
The docker image of ashlar is on DockerHub at `labsyspharm/ashlar` which should be
|
|
117
|
+
suitable for many use cases.
|