Metadata-Version: 2.1
Name: aics-tf-registration
Version: 0.1.1
Summary: Rigid registration algorithm for generating training/testing data for transfer function model
Home-page: https://github.com/AllenCell/aics_tf_registration
Author: Mark Filip Sluzewski
Author-email: filip.sluzewski@alleninstitute.org
License: Allen Institute Software License
Keywords: aics_tf_registration
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Free for non-commercial use
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: scikit-image (>=0.16.2)
Requires-Dist: aicsimageio (>=3.2.0)
Requires-Dist: SimpleITK (>=1.2.4)
Requires-Dist: numpy (>=1.17.3)
Requires-Dist: scipy (>=1.3.1)
Requires-Dist: pandas (>=0.25.2)
Requires-Dist: tqdm (>=4.36.1)
Requires-Dist: ruamel.yaml
Provides-Extra: all
Requires-Dist: scikit-image (>=0.16.2) ; extra == 'all'
Requires-Dist: aicsimageio (>=3.2.0) ; extra == 'all'
Requires-Dist: SimpleITK (>=1.2.4) ; extra == 'all'
Requires-Dist: numpy (>=1.17.3) ; extra == 'all'
Requires-Dist: scipy (>=1.3.1) ; extra == 'all'
Requires-Dist: pandas (>=0.25.2) ; extra == 'all'
Requires-Dist: tqdm (>=4.36.1) ; extra == 'all'
Requires-Dist: ruamel.yaml ; extra == 'all'
Requires-Dist: pytest-runner (>=5.2) ; extra == 'all'
Requires-Dist: black (>=19.10b0) ; extra == 'all'
Requires-Dist: codecov (>=2.1.4) ; extra == 'all'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'all'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'all'
Requires-Dist: pytest (>=5.4.3) ; extra == 'all'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'all'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'all'
Requires-Dist: bumpversion (>=0.6.0) ; extra == 'all'
Requires-Dist: coverage (>=5.1) ; extra == 'all'
Requires-Dist: ipython (>=7.15.0) ; extra == 'all'
Requires-Dist: m2r (>=0.2.1) ; extra == 'all'
Requires-Dist: Sphinx (<3,>=2.0.0b1) ; extra == 'all'
Requires-Dist: sphinx-rtd-theme (>=0.4.3) ; extra == 'all'
Requires-Dist: tox (>=3.15.2) ; extra == 'all'
Requires-Dist: twine (>=3.1.1) ; extra == 'all'
Requires-Dist: wheel (>=0.34.2) ; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest-runner (>=5.2) ; extra == 'dev'
Requires-Dist: black (>=19.10b0) ; extra == 'dev'
Requires-Dist: codecov (>=2.1.4) ; extra == 'dev'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'dev'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'dev'
Requires-Dist: pytest (>=5.4.3) ; extra == 'dev'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'dev'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'dev'
Requires-Dist: bumpversion (>=0.6.0) ; extra == 'dev'
Requires-Dist: coverage (>=5.1) ; extra == 'dev'
Requires-Dist: ipython (>=7.15.0) ; extra == 'dev'
Requires-Dist: m2r (>=0.2.1) ; extra == 'dev'
Requires-Dist: Sphinx (<3,>=2.0.0b1) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (>=0.4.3) ; extra == 'dev'
Requires-Dist: tox (>=3.15.2) ; extra == 'dev'
Requires-Dist: twine (>=3.1.1) ; extra == 'dev'
Requires-Dist: wheel (>=0.34.2) ; extra == 'dev'
Provides-Extra: setup
Requires-Dist: pytest-runner (>=5.2) ; extra == 'setup'
Provides-Extra: test
Requires-Dist: black (>=19.10b0) ; extra == 'test'
Requires-Dist: codecov (>=2.1.4) ; extra == 'test'
Requires-Dist: flake8 (>=3.8.3) ; extra == 'test'
Requires-Dist: flake8-debugger (>=3.2.1) ; extra == 'test'
Requires-Dist: pytest (>=5.4.3) ; extra == 'test'
Requires-Dist: pytest-cov (>=2.9.0) ; extra == 'test'
Requires-Dist: pytest-raises (>=0.11) ; extra == 'test'

# aics_tf_registration

[![Build Status](https://github.com/AllenCell/aics_tf_registration/workflows/Build%20Master/badge.svg)](https://github.com/AllenCell/aics_tf_registration/actions)
[![Documentation](https://github.com/AllenCell/aics_tf_registration/workflows/Documentation/badge.svg)](https://AllenCell.github.io/aics_tf_registration)
[![Code Coverage](https://codecov.io/gh/AllenCell/aics_tf_registration/branch/master/graph/badge.svg)](https://codecov.io/gh/AllenCell/aics_tf_registration)

Rigid registration algorithm for generating training/testing data for transfer function model

---

## Features
* Rigid registration of `.tiff` confocal/fluorescent microscopy images, outputting cropped images containing their mutual field of view
* Supports the following registration scenarios
	* Images at the same or different resolutions and pixel dimensions/scales
	* Full multichannel images based on a reference channel
	* Specific channels in multichannel images based on seperate reference channel
	* Multiple pairs of images with the same registration scenario at once
* Configuration of registration settings through easy-to-read `.yaml` file
* Outputs composite of registered image for easy evaluation of results

## Quick Start
In console (after installation):
```console
run_alignment --config_path `path/to/config/file.yaml`
```

## Installation
**Stable Release:** `pip install aics_tf_registration`<br>
**Development Head:** `pip install git+https://github.com/AllenCell/aics_tf_registration.git`

## Documentation
For full package documentation please visit [AllenCell.github.io/aics_tf_registration](https://AllenCell.github.io/aics_tf_registration).

## Image Requirements for Registration
In order for the registration algorithm to produce accurate results, the images must have the following requirements:

* Images must be in `.tif` or `.tiff` format. 
* The source and target images must be in separate folders and images that are to be registered to each other must share the same filename.
* Images must be 3D or 4D
* The field of view of either the source or target image must be wholly contained within the fov of the other (or cropped to be so with the settings in the config file)
* Rotation and mirroring of images (if necessary) to have matching orientations must either be done prior to registration or within the settings of the config file if it is consistent between different image pairs 
* The resolution/voxel dimensions of the images, or at least the relative scaling differences between the source and target image, should be known to within approximately 3-4 decimal units


***Free software: Allen Institute Software License***



