Metadata-Version: 2.1
Name: ImmunoViewer
Version: 0.2.4
Summary: Explore and annotate your multi-channel large TIF files with this user-friendly viewer.
Author-email: David van IJzendoorn <davidvanijzendoorn@gmail.com>
License: Creative Commons Attribution-NonCommercial 4.0 International License
        
        Copyright (c) 2023 David van IJzendoorn
        
        This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
        
        You are free to:
        - Share — copy and redistribute the material in any medium or format
        - Adapt — remix, transform, and build upon the material
        
        Under the following terms:
        - Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
        - NonCommercial — You may not use the material for commercial purposes.
        
        No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
        
        
Project-URL: Homepage, https://github.com/davidvi/ImmunoViewer
Project-URL: Source, https://github.com/davidvi/ImmunoViewer
Project-URL: Bug Reports, https://github.com/davidvi/ImmunoViewer/issues
Project-URL: Documentation, https://github.com/davidvi/ImmunoViewer
Keywords: big tif,immuno,viewer,annotate,annotation,discover,discovery,image,images,tif,tiff,multi-channel,multi c
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: click ~=8.1.3
Requires-Dist: contourpy ~=1.0.7
Requires-Dist: cycler ~=0.11.0
Requires-Dist: fonttools ~=4.39.0
Requires-Dist: itsdangerous ~=2.1.2
Requires-Dist: jinja2 ~=3.1.2
Requires-Dist: kiwisolver ~=1.4.4
Requires-Dist: markupsafe ~=2.1.2
Requires-Dist: matplotlib ~=3.7.1
Requires-Dist: numpy ~=1.24.2
Requires-Dist: pillow ~=9.4.0
Requires-Dist: pyparsing ~=3.0.9
Requires-Dist: werkzeug ~=2.2.3
Requires-Dist: watchdog ~=4.0.0
Requires-Dist: aicsimageio ~=4.14.0
Requires-Dist: opencv-python ~=4.7.0
Requires-Dist: gunicorn ~=22.0.0
Requires-Dist: fastapi ~=0.110.2
Requires-Dist: uvicorn ~=0.29.0
Requires-Dist: pydantic-settings ~=2.2.1
Provides-Extra: test
Requires-Dist: pytest >=6.0 ; extra == 'test'
Requires-Dist: mock >=4.0 ; extra == 'test'

# ImmunoViewer

Explore and annotate your multi-channel, large TIF files with this user-friendly viewer designed for high-resolution multiplex imaging.

## Table of Contents

- [About ImmunoViewer](#about-immunoviewer)
- [Installation](#installation)
    - [Install from GitHub](#install-from-github)
    - [Install from pip](#install-from-pip)
- [Usage](#usage)
    - [Folder Structure](#folder-structure)
    - [Generate Tiles](#generate-tiles)
    - [Run the Viewer](#run-the-viewer)
    - [Deploy in cloud](#cloud-deploy)
- [Acknowledgements](#acknowledgements)

## About ImmunoViewer

ImmunoViewer is designed to efficiently handle high-resolution multiplex imaging files, such as those generated by Orion Rarecyte or Keyence Immuno Fluorescence scanners. It supports multi-channel images and allows users to add annotations, customize colors, and adjust signal intensities for each channel. Your suggestions for additional features are highly welcomed!

![ImmunoViewer Screenshot](https://github.com/davidvi/ImmunoViewer/raw/main/img/screenshot.png)

## Installation

ImmunoViewer requires Python 3.10 or higher. We recommend installing ImmunoViewer within a Python virtual environment to manage dependencies effectively.

### Using venv

```bash
python -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate
```

### Using Conda

```bash
conda create -n ImmunoViewer
conda activate ImmunoViewer
```

### Install from GitHub

```bash
git clone https://github.com/davidvi/ImmunoViewer.git
cd ImmunoViewer
pip install .
```

### Install from pip

```bash
pip install ImmunoViewer
```

## Usage

### Folder Structure

Configure your data directory to manage input and output files efficiently:

```
data_directory/
  sample1.ome.tiff
  sample2/
    dapi.tiff
    CD68.tiff
```

Files are automatically processed and stored in a separate 'processed' directory.

### Generate Tiles

Generate image tiles for easier viewing and processing:

```bash
ImmunoViewerWatch [data_directory] [processed_directory]
```

### Run the Viewer

Launch the viewer server with the following command:

```bash
ImmunoViewerServer --port [port (default is 8000)] --host [IP address (default = 0.0.0.0)] [processed_directory]
```

Access the viewer by navigating to `http://[IP address]:[port]` in your web browser. Note: If you use the default IP address (0.0.0.0), ensure the port is properly secured if exposed over the network.

### Cloud deploy

See instructions in folder [cloud-deploy](https://github.com/davidvi/ImmunoViewer/tree/main/cloud-deploy). 

## Acknowledgements

ImmunoViewer uses [OpenSeadragon](https://openseadragon.github.io/) for robust, high-performance image visualization.
