GithubHelp home page GithubHelp logo

lxmwust / anatomynet-for-anatomical-segmentation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wentaozhu/anatomynet-for-anatomical-segmentation

0.0 0.0 0.0 12.01 MB

AnatomyNet: Deep 3D Squeeze-and-excitation U-Nets for fast and fully automated whole-volume anatomical segmentation

License: Apache License 2.0

Python 93.17% Jupyter Notebook 6.83%

anatomynet-for-anatomical-segmentation's Introduction

AnatomyNet-for-anatomical-segmentation

Please first read the paper Zhu, Wentao, Yufang Huang, Liang Zeng, Xuming Chen, Yong Liu, Zhen Qian, Nan Du, Wei Fan, and Xiaohui Xie. "AnatomyNet: Deep Learning for Fast and Fully Automated Whole‐volume Segmentation of Head and Neck Anatomy." Medical physics (2018).

Use PDDCA18 (MICCAI) training + HNPETCT + HNCetuximab as training set. Use PDDCA18 test as test.

The data spliting is in https://www.google.com/search?q=PDDCA+dataset&oq=PDDCA+dataset&aqs=chrome..69i57j0l5.3910j0j7&sourceid=chrome&ie=UTF-8

./data/*.csv files are used to remove non-head and neck regions. Processed PDDCA, PETCT and CET datasets can be downloaded from https://drive.google.com/open?id=1yTarwj5_rp7eX2gCm5k8R0RsZVGzdYlc https://drive.google.com/file/d/17SUj2Si3eD8BHQ7nGpPSO_6wSLlk0TEg/view?usp=sharing https://drive.google.com/file/d/1XbsHVVtap72qp11Pv2cUzbV3dosOjBos/view?usp=sharing

The numpy and cropping information in .csv are from original .nrrd data. It is recommended you extract spacing from .nrrd and resample the numpy (z, y, x) to data of spacing 0.76 (x), 0.76 (y), and 1.25 (z) which are the smallest spacing of the dataset if you want to resample to a fixed spacing.

For the files in ./src/, please read the paper for details.

Depedencies: pytorch 0.3/0.4, simpleitk 1.1.0, tqdm 4.11.2, cv2 3.4.0. I recommend to use Anaconda to configure the environment.

preprocee_crop.ipynb can be used for cropping.

baseline.py is the U-Net with only one downsample layer.

baseline2Pool.py is the U-Net with two downsampling layer.

baseline3Pool.py is the U-Net with two downsampling layer.

baseline4Pool.py is the U-Net with two downsampling layer.

baselineDiceCrossEntropy.py is the hybrid loss with dice loss and cross entropy loss.

baselineDiceFocalLoss.py is the hybrid loss with dice loss and focal loss.

baselineExpLogLoss.py is the exponential log loss. It does not work well both theoretically and experimentally. You can read the paper for detail.

baselineRes18Conc.py uses Res18 as the encoder and concatenation in the skip connection.

baselineRes18Sum.py uses Res18 as the encoder and summation in the skip connection.

baselineSERes18Conc.py uses Squeeze and Excitation Res18 as the encoder and concatenation in the skip connection.

baselineSERes18sum.py uses Squeeze and Excitation Res18 as the encoder and summation in the skip connection.

AnatomyNet.py is used for the proposed method with the initialization of baselineSERes18Conc.py

Segmentation for the first 4 test CT images on MICCAI 2015 challenge: left is the ground truth; right is the prediction.

Test 0

Test 1

Test 2

Test 3

anatomynet-for-anatomical-segmentation's People

Contributors

wentaozhu avatar

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.