# Lungify KFU
## Как запустить все локально
[Тот самый гайд для КФУ](https://docs.google.com/document/d/1tdyYlw8w6o7iQeg_hcoeVbqqc_dJdhzBk1F5acqoJE4/edit)
Из этого гайда мы возьмем вот что:
1. `docker pull harbor.stageogip.ru/lungify/airflow:pilot_kfu-latest`
2. `docker pull harbor.stageogip.ru/lungify/adapter:pilot_kfu-latest`
3. > Ae2Dag mappings
: {
"LungifyDefault": "default_kfu_lung"
}
4. `docker pull nvcr.io/nvidia/tritonserver:20.07-py3`
### Запуск адаптера
1. Перейти в dicom_adapter
2. export `IMAGE_TAG=<...>`. Посмотреть tag image `docker images`
3. `export WEB_PORT=8042`
4. Заходим на ip:8042 (где IP - ip адрес сервера, на котором поднят dicom_adapter)
> В моем случае localhost
5. `docker-compose up -d`
6. Вводим логин и пароль demo:demo
### Запуск workflow
1. Перейти в workflow
2. `export `IMAGE_TAG=<>``
3. export `CONFIG_NAME=<см. в папке configs>`. Если запускаешь локально, то в конфиге нужно убрать callback kafka и telegram
4. `export FAILS_PATH="/opt/Lungify/fails"`
5. `export PUBLIC_IP=`
6. `export WEB_PORT=8090`
7. `docker-compose up -d`
8. Перейти по ссылке http://SERVER_IP:8090/home и ввести логин и пароль airflow:airflow .
**Выдать права на папку `chmod -R 777 /opt/Lungify/`**
### Как тестить
Скачать файл https://drive.google.com/file/d/1OvQ5KdDv2PLbSl4ZVVSQc8MuBbtU5Q4w/view?usp=sharing
Удалить из конфига и файла, описывающий DAG (на данный момент это `lung.py`), всё, что связано с `kafka` и `telegram`
Запустить эту команду `storescu dicom_adapter 4242 IM_00685 -xs -aec LungifyDefault`
***Если storescu почему-то у вас не установлен***
> docker run --rm -it --name dcmtk --network Lungify -v path_to_file:/demo darthunix/dcmtk:latest /bin/sh
Переход внуть контейнера, надо ввести эту команду
> cd demo
> storescu dicom_adapter 4242 IM_00685 -xs -aec LungifyDefault
**NOTE** Проверить LungifyDefault (ae) и в конфиге файле в самом внизу при помощи **логов dicom adapter'a**
```
docker logs dicom adapter
```
Должна быть такая информация
```
Ae2Dag mappings
: {
"LungifyDefault": "default_kfu_lung"
}
```
**Отсюда и берем нужный AE**. Прописываем в storescu и в конфиг файл
**NOTE** Если study зафейлилось, то нужно его удалить из dicom adapter'а, а только потом загружать снова
Дождаться появления нового dag’a и включить: как показано на рисунке
