Git Product home page Git Product logo

sifa-pytorch's Introduction

SIFA-pytorch

This is a PyTorch implementation of SIFA for 'Unsupervised Bidirectional Cross-Modality Adaptation via Deeply Synergistic Image and Feature Alignment for Medical Image Segmentation.'

If you find this code useful, please consider citing my UDA research: FPL-UDA: Filtered Pseudo Label-Based Unsupervised Cross-Modality Adaptation for Vestibular Schwannoma Segmentation. You can access the research paper here, and the code is also available here.

1. Dataset

If you wish to utilize the provided UnpairedDataset, please prepare your dataset in the following format. Please note that each individual data unit should be stored in an NPZ file, where '[arr_0]' contains the image data, and '[arr_1]' contains the corresponding labels:

your/data_root/
       source_domain/
          s001.npz
            ['arr_0']:imgae_arr
            ['arr_1']:label_arr
          s002.npz
          ...

       target_domain/
          t001.npz
            ['arr_0']:imgae_arr
            ['arr_1']:label_arr
          t002.npz
          ...
       test/
          t101.npz
            ['arr_0']:imgae_arr
            ['arr_1']:label_arr
          t102.npz
          ...

2. Perform experimental settings in config/train.cfg

3. Train SIFA

CUDA_LAUNCH_BLOCKING=0 python train.py

4. Test SIFA

CUDA_LAUNCH_BLOCKING=0 python test.py

There are other UDA methods you can try. And if you find the code useful, please consider comparing and citing the following article (with code):

@article{wu2024fpl+,
  title={FPL+: Filtered Pseudo Label-based Unsupervised Cross-Modality Adaptation for 3D Medical Image Segmentation},
  author={Wu, Jianghao and Guo, Dong and Wang, Guotai and Yue, Qiang and Yu, Huijun and Li, Kang and Zhang, Shaoting},
  journal={IEEE Transactions on Medical Imaging},
  year={2024},
  publisher={IEEE}
}

@inproceedings{wu2022fpl,
  title={FPL-UDA: Filtered Pseudo Label-Based Unsupervised Cross-Modality Adaptation for Vestibular Schwannoma Segmentation},
  author={Wu, Jianghao and Gu, Ran and Dong, Guiming and Wang, Guotai and Zhang, Shaoting},
  booktitle={2022 IEEE 19th International Symposium on Biomedical Imaging (ISBI)},
  pages={1--5},
  year={2022},
  organization={IEEE}
}


Furthermore, Source-Free Domain Adaptation is a more advanced domain adaptation task that does not require source domain data for adaptation. Please refer to the following paper (with code):

@ARTICLE{10261231,
  author={Wu, Jianghao and Wang, Guotai and Gu, Ran and Lu, Tao and Chen, Yinan and Zhu, Wentao and Vercauteren, Tom and Ourselin, Sébastien and Zhang, Shaoting},
  journal={IEEE Transactions on Medical Imaging}, 
  title={UPL-SFDA: Uncertainty-Aware Pseudo Label Guided Source-Free Domain Adaptation for Medical Image Segmentation}, 
  year={2023},
  volume={42},
  number={12},
  pages={3932-3943}

sifa-pytorch's People

Contributors

jianghaowu avatar

Stargazers

 avatar  avatar  avatar  avatar Yibo Wang  avatar jingluo-lan avatar  avatar  avatar bar酒吧 avatar  avatar Quintin avatar HongLiu avatar qxy avatar HoranCe avatar Haoran Wang avatar shaoleiliu avatar YaoShuxin avatar  avatar  avatar  avatar  avatar CyanZz avatar Xinya Liu avatar

Watchers

 avatar

sifa-pytorch's Issues

segloss function

Hallo, I have a question about whether the seg function in your pytorch implementation is somewhat different from the original paper

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.