--- title: Lungs Segmentation Web App emoji: 🖥️ colorFrom: indigo colorTo: green sdk: gradio sdk_version: 5.49.1 app_file: app.py pinned: false --- # 🖥️ Lungs segmentation web application A web-based application for automated lung segmentation using deep learning, powered by **Gradio** and **PyTorch**. This tool allows users to upload lung images and obtain segmented outputs efficiently.

--- ## Try the app The application is running on [Hugging Face](https://huggingface.co/), try it using this [link](https://huggingface.co/spaces/qchapp/3d-lungs-segmentation)! #### Example File If you don't have your own `.tif` image, the app includes a built-in example file that can be used directly from the UI by clicking **"Try an example!"**. #### Load from URL (file_url parameter) You can also provide a `.tif` file hosted online using a URL parameter. To do so, simply append `?file_url=...` to your app's URL. ##### Example (hosted on Hugging Face): `https://huggingface.co/spaces/qchapp/3d-lungs-segmentation/?file_url=https://zenodo.org/record/8099852/files/lungs_ct.tif` The application will automatically download the file and load it into the viewer (the operation can take some time). --- ## Installation We recommend performing the installation in a clean Python environment. The code requires `python>=3.10`, as well as `pytorch>=2.0`. Please install Pytorch first and separately following the instructions for your platform on [pytorch.org](https://pytorch.org/get-started/locally/). After that please run the following command: ```sh pip install -r requirements.txt ``` --- ## Usage Run: ```sh python app.py ``` And go to the indicated local URL. --- ## Usage as an API Install `gradio_client` and run the following Python code: ```py from pathlib import Path import shutil from gradio_client import Client, handle_file client = Client("qchapp/3d-lungs-segmentation") result_path = client.predict( file_obj=handle_file("https://zenodo.org/record/8099852/files/lungs_ct.tif?download=1"), api_name="/segment", ) dest = Path("outputs/mask.tif") dest.parent.mkdir(parents=True, exist_ok=True) shutil.copy(result_path, dest) print("Saved the mask in:", dest.resolve()) ``` --- ## About Lungs Segmentation If you are interested in the package used for segmentation please check the following [GitHub repository](https://github.com/qchapp/lungs-segmentation)! ---