Giter Club home page Giter Club logo

mpgan's Introduction

MPGAN

Implementation of the paper Using Simulated Training Data of Voxel-level Generative Model to Improve 3D Neuron Reconstruction.

Introduction

In this paper, we propose a novel strategy of using two-stage generative models to simulate training data with voxel-level labels (MPGAN). Trained upon unlabeled data by optimizing a novel objective function of preserving predefined labels, the models are able to synthesize realistic 3D images with underlying voxel labels. The framework of MPGAN model is shown as follow:

image-1

Getting Started

Prerequisites

  • Linux
  • NVIDIA GPU
  • TensorFlow==1.15.0

Installation

  • Clone this repo:
git clone https://github.com/CSDLLab/MPGAN.git
cd MPGAN
  • Create virtual environment and install required packages:
conda create -n mpgan
conda activate mpgan
conda install --yes --file requirements.txt

Usage

First Stage: Neuron Image Simulator

  • Use first-stage simulator to generate the fake images:
python 1_simulator.py
  • The output images are shown in follow figure:

image-2

Second Stage: GAN

  • Use second-stage MPGAN to refine the fake images:
python 2_mpgan.py

Data

Due to the size of each individual stack, which can be as big as 512 * 512 * 512, it is not practical to input the whole stack into a deep neural network. Instead, we use small patches with the size of 64 * 64 * 32. To exclude patches containing too few foreground voxels, we use a sliding window to traverse each stack.

  • Use OTSU to segment the image.

  • Skeletonize the neuron image to get the neuron centerline.

  • Slide the window to traverse the image on centerline to ensure that the neuron branches are centered in the training data.

image-3

Reference

If you find MPGAN useful in your work, please consider citing our paper:

@article{liu2022using,
  title={Using simulated training data of voxel-level generative models to improve 3D neuron reconstruction},
  author={Liu, Chao and Wang, Deli and Zhang, Han and Wu, Wei and Sun, Wenzhi and Zhao, Ting and Zheng, Nenggan},
  journal={IEEE transactions on medical imaging},
  volume={41},
  number={12},
  pages={3624--3635},
  year={2022},
  publisher={IEEE}
}

mpgan's People

Contributors

supermelc avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

supermelc

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.