Automated lung size measurements using deep learning and computer vision on portable chest radiographs.
Project description
AILungMeasure
AILungMeasure is a Python package designed for automated lung size measurements using deep learning and computer vision on portable chest radiographs. This package aims to improve accuracy, reduce variability, and streamline the lung transplantation size matching process.
Features
- Automated lung mask extraction from chest radiographs
- Feature points detection to generate lung height and width measurements
- Validation against measurements reported by radiologists
- Robust performance even with technically challenging radiographs
Installation
You can install AILungMeasure via pip:
pip install AILungMeasure
Usage
Loading the Model
AILungMeasure includes a pre-trained model for lung size measurements. When importing the package, the model will be automalically downloaded and loaded.
import AILungMeasure
Segmenting Lung Images
To get the lung mask, use the get_mask function:
input_image = '/path/to/your/image' # can be dicom, jpg, png, etc..
mask = AILungMeasure.get_mask(input_image)
To visualize the mask, use the show_mask function:
mask = AILungMeasure.show_mask(input_image)
# or plot it
matplotlib.pyplot.imshow(mask)
Get Measurements
To plot the lung measurements, use the show_measurments function:
AILungMeasure.show_measurments(input_image , dpi=200) # dpi controls the image resolution
To get the measurments, use the get_measurments function:
measurments = AILungMeasure.get_measurments(input_image)
Note that this will work if the input_image is dicom, which already includes the pixel size in its meta data. The reported measurments will be in mm.
If you are using jpg, png, etc.. then the returned measurments will be in pixels.
Example Script
import AILungMeasure
input_image = '/media/Mostafa12TB/CXRs/dicom-3_15_2024/DICOMS Only/EE0C0DF7'
AILungMeasure.show_measurments(input_image)
AILungMeasure.get_measurments(input_image)
# Measurments in mm if input image is dicom
{'R-ACPA': 209.51056325555803,
'R-AMD': 155.81790884489396,
'L-ACPA': 235.95200821775532,
'L-AMD': 204.3306113771206,
'width-at-hilum': 258.89750000000004,
'width-at-base': 287.53000000000003}
License
This project is licensed under the Creative Commons ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL.
Contact
For questions or issues, please contact Mostafa Ismail at mostafa.ismail.k@gmail.com.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ailungmeasure-0.1.8.tar.gz.
File metadata
- Download URL: ailungmeasure-0.1.8.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.60.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba9178ca5499f60d0c3b2211633633070d2dc1260883ae576bdba5476e9060a0
|
|
| MD5 |
eafc971576226f970c8abd95d1745750
|
|
| BLAKE2b-256 |
6f6c5381afacb6bf32537946c816e124913d2e4f77721aade1b517e921c7b247
|
File details
Details for the file AILungMeasure-0.1.8-py3-none-any.whl.
File metadata
- Download URL: AILungMeasure-0.1.8-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.60.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c752152baf12daaf703a97dd7e6c5f2991c6d89594549dcd1f6f0b558578725
|
|
| MD5 |
b5e73a49e0259375cf5849228a3b8a1f
|
|
| BLAKE2b-256 |
df02073a4c51556bd581c6f08bce566884d20cd10cc95bcd4c825df3f1c5711d
|