VICCE
<meta name="title" content="VICCE"/>
Variational Intensity Cross Channel Encoder for Unsupervised Vessel Segmentation on OCT Angiography (VICCE)
Variational intensity cross channel encoder is an vessel segmentation algorithm for 2D OCT angiography images. The associated publication is:
- Y. Liu, L. Zuo, A. Carass, Y. He, A. Filippatou, S.D. Solomon, S. Saidha, P.A. Calabresi, and J.L. Prince, "Variational intensity cross channel encoder for unsupervised vessel segmentation on OCT angiography", Proceedings of SPIE Medical Imaging (SPIE-MI 2020), Houston, TX, February 15 - 20, 2020. (PDF) (doi)
Software
- Coming soon.
Instructions
If you have questions regarding the method or software, please contact Yihao Liu
Prepare data
The data loader requires pairs of Spectralis and Cirrus scans as input. Name the Spectralis scan as "H.png" stand for Heidelberg and the Cirrus scan as "Z.png" for Zeiss, also provide a mask image "M.png" to outline the common field of view of the Spectralis scan and Cirrus scan. Those three images are stored in subfolder inside "data/train/" and "data/val/". The directory structure of the whole preject is as follows:
├──datasets │ ├──__init__.py │ └── vicce_dataset.py ├──train.py ├──evaluate.py ├──params.json ├──pytorch_env.yml ├──model │ ├──__init__.py │ ├──sampling.py │ ├──unet.py │ └──vicce_model.py | ├──utils │ ├──__init__.py │ └──utils.py | └──data ├──train | └──subject_* | ├── H.png | ├── Z.png | └── M.png └──val └──subject_* ├── H.png ├── Z.png └── M.png
Install packages
To install the required packages, run conda env create --name pytorch --file=pytorch_env.yml
Training/Evaluation
If you have prepared registered pairs of Spectralis and Cirrus scans in "data/train/", you can use
python train.py --output vicce