Metadata-Version: 2.1
Name: wsireg
Version: 0.3.2
Summary: python package for registering multimodal whole slide microscopy images
Home-page: https://github.com/nhpatterson/wsireg
Author: Nathan Heath Patterson
Author-email: heath.patterson@vanderbilt.edu
License: MIT license
Keywords: wsireg
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS.rst

======
wsireg
======


.. image:: https://readthedocs.org/projects/wsireg/badge/?version=latest
        :target: https://wsireg.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status


Multi-modal or mono-modal whole slide image registration in a graph structure for complex registration tasks using `elastix`.


* Documentation: https://wsireg.readthedocs.io.


Features
--------

* Graph based approach to defining modalities and arbitrary transformation paths between associated images
* Use of `elastix` (through `ITKElastix <https://github.com/InsightSoftwareConsortium/ITKElastix/>`_) to perform registration
* Support for linear and non-linear transformation models
* Transform associated data (masks, shape data) along the same path as the images.
* Supports images converted to OME-TIFF using `bioformats2raw <https://github.com/glencoesoftware/bioformats2raw>`_ -> `raw2ometiff <https://github.com/glencoesoftware/bioformats2raw>`_ pipeline
* All registered images exported as pyramidal OME-TIFF or OME-zarr that can be viewed in software such as `Vitessce <https://vitessce.io>`_ , `vizarr <https://github.com/hms-dbmi/vizarr>`_, `QuPath <https://qupath.github.io>`_, `OMERO <https://www.openmicroscopy.org/omero/>`_ or any platform that supports these formats.
* All transforms for complex registration paths are internally composited and only 1 interpolation step is performed, avoiding accumulation of interpolation error from many registrations
* Shape data (polygons, point sets, etc.) in GeoJSON format (future portable format for QuPath detection/annotation data) can be imported and transformations applied producing a modified GeoJSON
* Some support for reading native WSI formats: currently reads .czi and .scn but could be expanded to other formats supported by python package `tifffile`



git=======
History
=======

0.0.2 (2021)
------------------

* First release on PyPI.

0.2.1 (2021-04-14)
------------------

* add `RegImage` sub-classes for different file types
	- `TiffFileRegImage` (.scn, .ndpi,.tiff,.tif) : uses `dask` + `zarr` to do memory-efficient computation of necessary data for registration / transformation
	- `CziRegImage` (.czi) : Carl Zeiss image format, can perform read-time pre-processing like RGB -> greyscale or selection of individual channels to limit memory footprint
	- `OmeTiffRegImage` (.ome.tiff,ome.tif): uses TiffFile to read images and parses OME metadata to get interleaved RGB information
	- `MergeRegImage` (meta): used to transform multiple images' channels to a single OME-TIFF after registration if they output to the same size and data type (i.e. for cyclic IF)
	- `NpRegImage` (`np.ndarray`): Supports adding a registration image from a `numpy` array
	- `SitkRegImage` (everything else): uses SimpleITK to read images as a last resort. Will read entire image into memory!

* support masks for registration
	- Masks can be used in `elastix` to define pixels used in metric calculation
	- add ability to automatically crop images based on associated masks's bounding box (can be useful if image dimensions differ greatly)

* use `RegTransform` class to manage transformations

0.3.0 (2021-09-22)
------------------

* add "ome.tiff-bytile" writer to write transformed images tile-by-tile
* unify data reading from tiffs to use `dask`
* numerous improvements, bug fixes, and additional tests


