23fa-ece661-final-proj
This is repo to hold the source code and other materials for ECE 661 final project with Lavsen, Ken, and Zion.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
This is repo to hold the source code and other materials for ECE 661 final project with Lavsen, Ken, and Zion.
Basic Info
- Host: GitHub
- Owner: zs144
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 323 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Intra-retinal cyst segmentation in optical coherence tomography images via transfer learning
This repository contains the source code and related materials for the ECE 661 final project by Lavsen Dahal, Ken Ho, and Zion Sheng.
Quick Navigation
| Files/Directory | Comments |
| ----------------------- | ------------------------------------------------------------ |
| config_file.py | Set up the training/testing configuration. |
| convert_mat_to_png.py | Convert original .mat files to .png files. |
| utils.py | Collection of utilitiy functions. |
| main.py | The main program to setup the training pipeline and perform training. |
| inference.py | Deploy trained models to infer the segmetation areas. Also visualize some results. |
| dice_score.py | Evalute the model performance by computing the DICE score. Also visualize some results. |
| ./data | This directory holds the data from the Duke dataset and UMN dataset, which we already converted from .mat files to .png images. Each dataset has four sub-directories: ./images contains OCT images; ./labels contains manual segmentation images from Doctor #1, which we used as the training/testing set; ./manualFuild2 contains images from Doctor #2 which we didn't touch too much. ./split contains text files on how we set up the train/valid sets in cross-validations. |
| ./plots | This directory holds quantitative evaluation results for training/testing on the Duke dataset. There are two sub-directories, with ./DSC_Sensitivity_Specificity holding all results we get while ./V2 holds results we used in the report and poster. |
| ./work_dirs | This directory mainly holds automatic segmentation results from our models. ./duke_dataset contains results from models trained/tested on the Duke dataset. ./comparison_duke_and_umn contains results from the Duke dataset and UMN dataset individually and provides a Python script to generate a .svg graph comparing the DICE scores from the two datasets. |
| ./tutorial | This directory contains the tutorial downloaded from MMEsegmentation official documentation website (link). |
Project Overview
Segmentation of OCT Images using a Transfer Learning Approach
We have utilized the MM-SEGMENTATION framework and PyTorch for training and evaluation of our models.
Models Used
- Swin Transformers
- Deeplabv3+
- Mobilenetv3
Getting Started
Prerequisites
- Python
- Docker (recommended)
Data Preparation
Converting OCT Images from .mat to .png
Before training the models, it is necessary to convert the OCT images from their original .mat format to .png. This is done using the convert_mat_to_png.py script.
How to Run the Conversion Script
To convert the .mat files to .png format, run the following command:
```bash python convertmatto_png.py
Running the Project
To run the project, execute the following command:
```bash python main.py
Owner
- Name: Zion Sheng
- Login: zs144
- Kind: user
- Location: Durham, NC
- Company: Duke University
- Repositories: 1
- Profile: https://github.com/zs144
Hi! I'm Zion, a graduate student in the Duke ECE program (2022 - 2024). I'm studying data science and engineering.