This project is a lung segmentation application built with React, TypeScript, TailwindCSS, and ShadCN UI. It allows users to upload DICOM (.dcm) files, configure segmentation parameters, and send the data to an API for preprocessing, segmentation, and post-processing. Users can also manually edit segmentations, zoom in on images, and download results.
✅ Upload DICOM (.dcm) files
✅ Select segmentation methods (Otsu, Watershed, Sauvola, etc.)
✅ Configure preprocessing, segmentation, and post-processing parameters
✅ Light/Dark mode support
✅ Portuguese/English translation
✅ Manual segmentation (drawing over images)
✅ Zoom in/out for better visualization
✅ Download segmentation results as:
-
Contours (CSV)
-
Segmented image (PNG)
-
Frontend: React Vite + TypeScript
-
Styling: TailwindCSS + ShadCN UI
-
HTTP Requests: Axios
The app sends requests to a separate backend API with:
-
DICOM file
-
Preprocessing, segmentation, and post-processing parameters (as JSON)
-
Segmentation method (query parameter)
API Response:
-
Preprocessed image (before segmentation)
-
All detected contours
-
Valid contours (adjusted by post-processing parameters)
-
Clone the repository
git clone https://github.com/kelvinleandro/lung-segmentation-client cd lung-segmentation-client
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Upload a DICOM file (.dcm)
-
Configure segmentation settings
-
Select the segmentation method
-
View and download segmentation results