Algorithms and tools for stitching microscopy images taken at different focal lengths
Project description
Multifocal Image Stitching
Documentation | Build Status |
---|---|
This package aims to:
- Accurately compute translation parameters between two images taken with a translation and focus change
- Be tolerant of high levels of noise and blurriness caused by the focus change
This package does not:
- Account for other non-translational camera models
- Calculate subpixel-level stitching coordinates
- Perform focus stacking or blending of images in any manner
Examples
Matching using low-frequency features:
Matching using high-frequency features:
Installation
To install from pypi:
pip install multifocal-stitching
Usage
Ensure the images to be stitched are sequentially named in <dir>
, then run:
python -m multifocal_stitching <dir>
Most images can be stitched successfully with the default settings. To fine-tune settings with the CLI:
python -m multifocal_stitching -h
usage: __main__.py [-h] [-v] [--ext EXT] [--imgs IMGS [IMGS ...]] [--no_merge] [--workers WORKERS]
[--min_overlap MIN_OVERLAP] [--early_term_thresh EARLY_TERM_THRESH]
[--use_wins USE_WINS [USE_WINS ...]] [--peak_cutoff_std PEAK_CUTOFF_STD]
[--peaks_dist_threshold PEAKS_DIST_THRESHOLD]
[--filter_radii FILTER_RADII [FILTER_RADII ...]]
[--stitching_result STITCHING_RESULT] [--result_dir RESULT_DIR]
[--resize_factor RESIZE_FACTOR] [--save_gif]
dir
positional arguments:
dir Base directory
options:
-h, --help show this help message and exit
-v, --verbose Increase output verbosity (default: False)
--ext EXT Filename extension of images (default: .jpg)
--imgs IMGS [IMGS ...]
Stitch only provided images in provided order, otherwise will run in batch
mode over all images in directory (default: None)
--no_merge Disable generating merged images (default: False)
--workers WORKERS Number of CPU threads to use in FFT (default: 2)
--min_overlap MIN_OVERLAP
Set lower limit for overlapping region as a fraction of total image area
(default: 0.125)
--early_term_thresh EARLY_TERM_THRESH
Stop searching when correlation is above this value (default: 0.7)
--use_wins USE_WINS [USE_WINS ...]
Whether to try using Hanning window (default: (0,))
--peak_cutoff_std PEAK_CUTOFF_STD
Number of standard deviations below max value to use for peak finding
(default: 1)
--peaks_dist_threshold PEAKS_DIST_THRESHOLD
Distance to consider as part of same cluster when finding peak centroid
(default: 25)
--filter_radii FILTER_RADII [FILTER_RADII ...]
Low-pass filter radii to try, smaller matches coarser/out-of-focus features
(default: (100, 50, 20))
--stitching_result STITCHING_RESULT
Stitching result csv file (default: stitching_result.csv)
--result_dir RESULT_DIR
Directory to save merged files (default: merged)
--resize_factor RESIZE_FACTOR
Whether to resize the images saved by a factor (default: 1)
--save_gif Whether to save a gif alternating between the merged files (default: False)
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
Built Distribution
File details
Details for the file multifocal-stitching-0.2.1.tar.gz
.
File metadata
- Download URL: multifocal-stitching-0.2.1.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2aa64b1562f816214603b5e9aea52973a93f37138fc5fb18a5ac4d798c789d25
|
|
MD5 |
991a1fcbae57bd321a371ea1b6eb92fb
|
|
BLAKE2b-256 |
82472e6b138ba3925e19ba6bc88ccfefc4a8a27b1d2c36f7567700bcf6aa5d25
|
File details
Details for the file multifocal_stitching-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: multifocal_stitching-0.2.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6397b3e201567a51ba6dca2923706c0d69bb4b2dbb14ebabc9b0a5aaf2e27a21
|
|
MD5 |
be4149a09df6fbd203a6f2fb5714fbf7
|
|
BLAKE2b-256 |
f281c3d84891df0aa48be7ef2077db0f99dccc37ccb9b277f6705e9a6d673347
|