---
# System prepended metadata

title: QuilL_master_course@CODIPAI2023

---

# QuilL_master_course@CODIPAI2023

pip install pyvips
apt -y install libvips-dev

This document instructs how to do inference in our solution source code for the given dataset. We assume that all environments are installed sucessfully in the docker image.

## Team members
- Lee Jucheon
- Anh T. Nguyen
- Doanh C. Bui

## Step-by-step running

### 1. Build docker file

First, extract the code:
```
unzip WSI-finetuning.zip
```

Then, go inside the code directory:

```
cd WSI-finetuning
```

Run following command to build docker image:

```
docker build -t quiil -f Dockerfile .
```

After build the Dockerfile, please run and mount the data directory into the `data_wsis` in docker image:

```
docker run --gpus all -it --mount type=bind,source="<data source dir>",target="/WSI-finetuning/data_wsis" quiil
```

Where:
- `<data source dir>`: source data folder in the main server, we assume this is the directory including WSI file images.

### 2. Downgrade from 40X to 20X

First, note that we assume the orginal WSI data folder has the following directory tree:

```
./data_wsis
|__ Lymph_node_metasis_present
|__ Lymph_node_metasis_absent
```

Because we worked on the 20X WSIs. Then, resizing from 40X to 20X is required. Run the below script for resizing:

```
python resize_40x_to_20x_cancer.py
```

If images are sucessfully downgraded, it would generate the new folder whose name is `data_wsis_20x`.

```
./data_wsis_20x
|__ Lymph_node_metasis_present
|__ Lymph_node_metasis_absent
```

### 3. Patch extraction

Run the following python script to perform patch extraction

```
bash create_patches.sh
```

There is a sub-folder `Codipai_patch256_ostu` created inside the folder `data_wsis_20x` include `.h5` files storing coordinates of extracted patches.

### 4. Feature extraction

After patching, do the feature extraction by following command:

```
bash create_features_ft.sh
```

Then, the features will be stored in sub-folder `feats_ft_512` in `data_wsis_20x`.

### 5. Inference to produce final output

For inference to produce final output, just run the following python script:

```
bash inference.sh
```

Then, the csv file `QuilL_master_course@CODIPAI2023_submission.csv` is created storing our predictions.

The stucture is design as following:

```[python3]
slide_id,label
CODIPAI-THCB-0105,0
CODIPAI-THCB-0239,1
CODIPAI-THCB-0365,0
CODIPAI-THCB-0424,1
CODIPAI-THCB-0291,0
CODIPAI-THCB-0464,1
CODIPAI-THCB-0140,0
CODIPAI-THCB-0367,0
CODIPAI-THCB-0408,0
CODIPAI-THCB-0205,0
CODIPAI-THCB-0463,1
CODIPAI-THCB-0170,1
CODIPAI-THCB-0083,1
CODIPAI-THCB-0056,1
CODIPAI-THCB-0416,1
```