Name | LungDamageDetectionCLI JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | CLI application for training and inferring lung injury detection model |
upload_time | 2024-06-28 10:52:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | ==3.10.* |
license | MIT License
Copyright (c) 2024 mtuci.ru
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
detection
lung injuries
dicom
unet
pytorch
torch
cli
computer vision
medicine
covid-19
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# LUNG INJURY DETECTION CLI APP
___
This repository provides source code of CLI app for training and inferring lung injury detection model. The model is based on U-Net architecture implemented with pytorch framework for python.
## INSTALLATION
___
<u>The project depends on python ==3.10.*</u>
Install from PyPI:
```shell
pip install LungDamageDetectionCLI
```
Install from repo:
```shell
git clone <repo-name> && cd <project-dir>
pdm install
```
## DEVELOPMENT AND USE
___
Run CLI app from project dir
```shell
pdm run ldd-cli SUBCOMMAND
```
This app supports these subcommands:
* train - run model training
* test - run model test
* inference - detect injuries
You may copy .env.example and rename it into .env
<b>Environment Variables</b>
PATH_TO_DATA= # directory containing dataset
DCM_DIR= # directory inside PATH_TO_DATA containing dcm files
PNG_DIR= # directory inside PATH_TO_DATA containing png files
TRAIN_SET= # number of images for model training
TEST_SET= # number of images for model test
VAL_SET= # number of images for model validation
EPOCHS= # number of training epochs
LR= # learning rate
BATCH_SIZE= # size of batch
IMG_SIZE=512 # width and height of images in dataset
BACKBONE=resnet101 # name of backbone model
SAVE_PATH= # path of trained model state dict
OUT_PATH= # directory to save inference results
INPUT_PATH= # dcm file or directory of dcm files for model inference
USE_AUGMENTATION=false # dataset is loaded with augmentation if true
SEED=5 # seed for numpy.random.seed
or pass desired values through command line args (names of args are case insensitive).
Supported backbone names:
* resnet18
* resnet34
* resnet50
* resnet101
* resnet152
* vgg16
* vgg19
* densenet121
* densenet161
* densenet169
* densenet201
All code is placed in src directory.
To train model place .dcm files of CT of lungs in PATH_TO_DATA/DCM_DIR and .png masks in PATH_TO_DATA/PNG_DIR then set TRAIN_SET, VAL_SET and TEST_SET variables according to your dataset size. App saves state dict of model every epoch. If SAVE_PATH file exists model will be loaded using it when the app is restarted.
If USE_AUGMENTATION is true some images will be rotated, cropped and flipped.
After model test trained model metrics are printed.
<b>Metrics</b>
- precision
- recall
- f1 score
- jaccard coefficient
- dice coefficient
To inference model you have to provide path of dcm file or path of directory with several dcm files into INPUT_PATH.
Result png files are placed in OUTPUT_PATH. Png files have same name as dcms.
## LICENSE
___
Lung injury detection CLI app is [MIT licensed](LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "LungDamageDetectionCLI",
"maintainer": null,
"docs_url": null,
"requires_python": "==3.10.*",
"maintainer_email": null,
"keywords": "detection, lung injuries, dicom, unet, pytorch, torch, cli, computer vision, medicine, covid-19",
"author": null,
"author_email": "grottI0 <chernega.bk@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a7/58/5eea199a14fca2f19c3587adbece680d68e742168f1ff7e111dc26c07891/lungdamagedetectioncli-1.0.0.tar.gz",
"platform": null,
"description": "# LUNG INJURY DETECTION CLI APP\n\n___\n\nThis repository provides source code of CLI app for training and inferring lung injury detection model. The model is based on U-Net architecture implemented with pytorch framework for python. \n\n## INSTALLATION\n\n___\n\n<u>The project depends on python ==3.10.*</u>\n\nInstall from PyPI:\n```shell\npip install LungDamageDetectionCLI\n```\nInstall from repo:\n```shell\ngit clone <repo-name> && cd <project-dir>\npdm install\n```\n\n## DEVELOPMENT AND USE\n\n___\n\nRun CLI app from project dir\n```shell\npdm run ldd-cli SUBCOMMAND\n```\n\nThis app supports these subcommands:\n* train - run model training\n* test - run model test\n* inference - detect injuries\n\nYou may copy .env.example and rename it into .env\n\n<b>Environment Variables</b>\n\n PATH_TO_DATA= # directory containing dataset \n DCM_DIR= # directory inside PATH_TO_DATA containing dcm files\n PNG_DIR= # directory inside PATH_TO_DATA containing png files\n TRAIN_SET= # number of images for model training\n TEST_SET= # number of images for model test\n VAL_SET= # number of images for model validation\n EPOCHS= # number of training epochs\n LR= # learning rate\n BATCH_SIZE= # size of batch\n IMG_SIZE=512 # width and height of images in dataset\n BACKBONE=resnet101 # name of backbone model\n SAVE_PATH= # path of trained model state dict\n OUT_PATH= # directory to save inference results\n INPUT_PATH= # dcm file or directory of dcm files for model inference\n USE_AUGMENTATION=false # dataset is loaded with augmentation if true\n SEED=5 # seed for numpy.random.seed\n\nor pass desired values through command line args (names of args are case insensitive).\n\nSupported backbone names:\n* resnet18\n* resnet34\n* resnet50\n* resnet101 \n* resnet152\n* vgg16\n* vgg19\n* densenet121\n* densenet161\n* densenet169\n* densenet201\n\nAll code is placed in src directory.\n\nTo train model place .dcm files of CT of lungs in PATH_TO_DATA/DCM_DIR and .png masks in PATH_TO_DATA/PNG_DIR then set TRAIN_SET, VAL_SET and TEST_SET variables according to your dataset size. App saves state dict of model every epoch. If SAVE_PATH file exists model will be loaded using it when the app is restarted.\n\nIf USE_AUGMENTATION is true some images will be rotated, cropped and flipped.\n\nAfter model test trained model metrics are printed.\n\n<b>Metrics</b>\n- precision\n- recall\n- f1 score\n- jaccard coefficient\n- dice coefficient\n\nTo inference model you have to provide path of dcm file or path of directory with several dcm files into INPUT_PATH.\n\nResult png files are placed in OUTPUT_PATH. Png files have same name as dcms.\n\n## LICENSE\n\n___\n\nLung injury detection CLI app is [MIT licensed](LICENSE)\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 mtuci.ru\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "CLI application for training and inferring lung injury detection model",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/mtuciru/Lung-Damage-Detection-CLI",
"Repository": "https://github.com/mtuciru/Lung-Damage-Detection-CLI.git"
},
"split_keywords": [
"detection",
" lung injuries",
" dicom",
" unet",
" pytorch",
" torch",
" cli",
" computer vision",
" medicine",
" covid-19"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8e794ed5eb6890d5eeec16ad60294b49006b1f5236879c9c102195717d9ac968",
"md5": "791ca35ed32e0048cf9eee2816d7da8e",
"sha256": "17a50cf5941fb013076e231ce693d2b19967a13a783d28429629acb2b93958bc"
},
"downloads": -1,
"filename": "lungdamagedetectioncli-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "791ca35ed32e0048cf9eee2816d7da8e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "==3.10.*",
"size": 13019,
"upload_time": "2024-06-28T10:52:49",
"upload_time_iso_8601": "2024-06-28T10:52:49.291062Z",
"url": "https://files.pythonhosted.org/packages/8e/79/4ed5eb6890d5eeec16ad60294b49006b1f5236879c9c102195717d9ac968/lungdamagedetectioncli-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a7585eea199a14fca2f19c3587adbece680d68e742168f1ff7e111dc26c07891",
"md5": "817c1a9215a85986e7fd95f214447560",
"sha256": "3ce2f9e9487c83fc7c70f9213067b90512d7b27eb932e52537e9447945600118"
},
"downloads": -1,
"filename": "lungdamagedetectioncli-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "817c1a9215a85986e7fd95f214447560",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "==3.10.*",
"size": 12155,
"upload_time": "2024-06-28T10:52:51",
"upload_time_iso_8601": "2024-06-28T10:52:51.400470Z",
"url": "https://files.pythonhosted.org/packages/a7/58/5eea199a14fca2f19c3587adbece680d68e742168f1ff7e111dc26c07891/lungdamagedetectioncli-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-28 10:52:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mtuciru",
"github_project": "Lung-Damage-Detection-CLI",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "lungdamagedetectioncli"
}