Skip to content

Repository files navigation

CMRRWNet

This is the baseline of the MICCAI2026 Challenge: Generalized Analysis of Vessels in Eye Edition 2 (GAVE2)

Data format

fig2

  • Segmentation: Above is an example of our provided arteriovenous labels. Our code always expects the images to be RGB images with pixel values in the range [0, 255] and the labels to be RGB images with the following segmentation maps in each channel:

    • R: Artery
    • G: Interection of vessels
    • B: Vein

    The masks should be binary images with pixel values in the range [0, 255]. The predictions will be saved in the same format as the masks. To align with the model prediction, in training stage and evaluation stage, our code uses the union of R and G channels (intersection) as the artery label, the union of B and G channels (intersection) as the vein label, and the union of R,G,B channels as the vessel label. This process just for groundtruth, not for prediction result. It can be found in the related code. Our training output is three channels:

    • R: Artery
    • G: Vessel
    • B: Vein

Here's an example of a model prediction, its RGB channels represents artery, vessel and vein respectively.

fig_example

Preparation

The code was tested using Python3.10.12. However, it should work with other Python versions and package managers. Just make sure to install the required packages listed in requirements.txt.

Environment settings

Make sure you have installed conda in advance. Create and activate Python environment

conda create -n cmrrwnet python==3.10
conda activate cmrrwnet

Update pip.

pip install --upgrade pip

Install requirements using requirements.txt.

pip3 install -r requirements.txt

Preparing Dataset

You can download the GAVE2 dataset through the "GAVE2 challenge" on AI studio. Put the dataset in the ./data. Before proceeding, please register CFP and FFA images using MINIMA.The dataset directory structure is following:

|-data
|	|-training
|	|	|-av        # artery/vein label
|	|	|-images    # color fundus images
|	|	|-masks     # ROI masks
|	|	|-FFA_A     # early_FFA images
|	|	|-FFA_AV    # late_FFA images
|	|-validation
|		|-images    # color fundus images
|		|-masks     # ROI masks
|		|-FFA_A     # early_FFA images
|		|-FFA_AV    # late_FFA images

Project structure

|-train
|	|-config		# for training
|	|...
|	|-train.py         # step 1
|...
|-get_predictions.py 	# step 2
|-get_biomarker.py		# step 3

Run your code

1️⃣ Training

All training code can be found through the entrance of training script train.py, and the configuration file, with all the hyperparameters and command line arguments, is config.py.

  • For CFP single-modal training: set input_channels to 3 and model to RRWNet.
  • For CFP+FFA multi-modal training: set input_channels to 5 and model to CMRRWNet.
python train/train.py

2️⃣ Get predictions

After the model trained, the predictions can be generated using the following command(please modify the configurations first). Remember to adjust the value of input_channels according to the single-modal or multi-modal setup.

python get_predictions.py

3️⃣ Get Biomarker

You need to first obtain the optic disk segmentation result from MNet_DeepCDR. You can extract vascular biomarkers using the following command (please modify the configurations first).

python get_biomarker.py 

Contact

If you have any questions or problems with the code or the paper, please do not hesitate to open an issue in this repository (preferred) or contact me at pengqiyu2004@163.com.

Acknowledge

Our project code is built based on the rrwnet project. The authors' outstanding work, code and kind help are gratefully acknowledged. We also thanks the authors of "MNet_DeepCDR" ,MINIMA

About

Template Code for GAVE Challenge in the 13th OMIA workshop at MICCAI 2026

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages