File size: 2,159 Bytes
e149eda
 
 
 
 
 
 
 
 
 
 
15ecff4
 
fa3d0dc
 
 
22173bf
 
 
 
 
 
fa3d0dc
 
e9c89d4
 
fd701da
 
 
 
 
 
 
 
 
 
 
fa3d0dc
9c30ea7
 
 
 
 
 
 
edef806
9c30ea7
15ecff4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a47dba9
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
title: wsi-visualization-demo
emoji: 🔬
colorFrom: blue
colorTo: red
sdk: docker
sdk_version: "24.0.6"
app_file: Dockerfile
pinned: false
---

# wsi-visualization-demo

[![license](https://img.shields.io/github/license/DAVFoundation/captain-n3m0.svg?style=flat-square)](https://github.com/andreped/wsi-visualization-demo/blob/main/LICENSE.md)
<a target="_blank" href="https://huggingface.co/spaces/andreped/wsi-visualization-demo"><img src="https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg"></a>

## Why?

This repository was developed to demonstrate how to do the following:
* Creating a simple web application for rendering a whole slide image in real time.
* Containerizing and deploying a web app for deployment on Hugging Face Spaces.

To access the live demo, click on the `Hugging Face` badge above. Below is a snapshot of the current state of the demo app.

<img width="1400" alt="demo-hf-spaces" src="https://github.com/user-attachments/assets/6cf9b9d5-4ea2-4cab-ac13-3a623edc1094">

## Stack

For this demonstration, we have used the following:

| Component | Description |
| - | - |
| **OpenSeadragon** | The actual library for rendering the WSI |
| **Deep Zoom Image (DZI)** | Image file format compatible with OpenSeadragon |
| **nginx** | HTTP web server |
| **Docker** | Containerization of the web app |
| **Hugging Face Spaces** | Deployment platform |

## Continuous integration

For this project, we continuously update the Hugging Face deployment for each commit to the main branch.

| Build Type | Status |
| - | - |
| **HF Space Deploy** | [![CI](https://github.com/andreped/wsi-visualization-demo/workflows/Deploy/badge.svg)](https://github.com/andreped/wsi-visualization-demo/actions) |
| **File Size Check** | [![CI](https://github.com/andreped/wsi-visualization-demo/workflows/Check%20file%20size/badge.svg)](https://github.com/andreped/wsi-visualization-demo/actions) |

## Docker

1. Build image:
```
docker build -t wsi-visualization .
```

2. Run image:
```
docker run -p 7860:7860 wsi-visualization
```

3. Open in browser:
```
open http://localhost:7860
```

## License

This project has MIT License.