Giter Club home page Giter Club logo

cshaper's Introduction

CShaper

Implementation for Establishment of a morphological atlas of the Caenorhabditis elegans embryo using deep-learning-based 4D segmentation, by Jianfeng Cao#, Guoye Guan#, Vincy Wing Sze Ho#, Ming-Kin Wong, Lu-Yan Chan, Chao Tang, Zhongying Zhao, & Hong Yan.

# equal contribution

Update

  • 2023.12 We have developed desktop software CShaperAppLogo CShaperApp that integrates the training, prediction and analysis parts of CShaper framework. The backbone and user interface have been improved. We highly recommend users to process the dataset with this open-source software.

Usage

This implementation is based on Tensorflow and python3.6, trained with one GPU NVIDIA 2080Ti on Linux. Steps for training and testing are listed as below.

  • Intsall dependency library:
    conda env create -f requirements.yml
  • Train: Download the data from this link and put it into ./Data folder, Set parameters in ./ConfigMemb/train_edt_discrete.txt, then run
    python train.py --cf ./ConfigMemb/train_edt_discrete.txt
    
  • Test: Put the raw data (membrane and nucleus stack, and CD files from AceTree) into ./Data/MembValidation/. The pretrained model is available through the Google Drive, which should be unzip to ./ModelCell/. Example data is also available through previous data link. Set parameters in ./ConfigMemb/test_edt_discrete.txt and run
    python test_edt.py ./ConfigMemb/test_edt_discrete.txt
    
    Then binary membrane and initial segmented cell are saved in ./ResultCell/BothWithRandomnet and BothWithRandomnetPostseg, respectively. To unify the label of cell based on AceTree file, run
    python shape_analysis.py ./ConfigMemb/shape_config.txt
    
  • Structure of folders: (Folders and files in .gitignore are not shown in this repository)
    DMapNet is used to segmented membrane stack of C. elegans at cellular level
    DMapNet/
      |--configmemb/: parameters for training, testing and unifying label
      |--Data/: raw membrane, raw nucleus and AceTree file (CD**.csv)
          |--MembTraining/: image data with manual annotations
          |--MembValidation/: image data to be segmented
      |--ModelCell/: trained models 
      |--ResultCell/: Segmentation result
          |--BothWithRandomnet/: Binary membrane segmentation from DMapNet
          |--BothWithRandomnetPostseg/: segmented cell before and after label unifying
          |--NucleusLoc/: nucleus location information and annotation
          |--StatShape/: cell lineage tree (with time duration)
      |--ShapeUtil/: utils for unifying cells and calculating robustness
          |--AceForLabel/: multiple AceTree files for generating namedictionary
          |--RobustStat/: nucleus lost sration and cell surface...
          |--TemCellGraph/: temporary result for calculating surface, volume...
        
      |--Util/: utils for training and testing
    
    Result folders will be automatically built. Codes for the normalization (e.g., resize, rotation) on the segmentation results are available at CShaperPost.

Related

  • Project file for CellProfiler involved in evaluation (link).
  • Parameter files for RACE (link).

Acknowledgements

Contact

jfcao3-c(at)my.cityu.edu.hk

Citation

If our work is helpful for you, please consider the citation.


@article{cao2020establishment,
  title={Establishment of a morphological atlas of the Caenorhabditis elegans embryo using deep-learning-based 4D segmentation},
  author={Cao, Jianfeng and Guan, Guoye and Ho, Vincy Wing Sze and Wong, Ming-Kin and Chan, Lu-Yan and Tang, Chao and Zhao, Zhongying and Yan, Hong},
  journal={Nature communications},
  volume={11},
  number={1},
  pages={6254},
  year={2020},
  publisher={Nature Publishing Group UK London}
}

cshaper's People

Contributors

cao13jf 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.