Code Monkey home page Code Monkey logo

hypoquantyl's Introduction

HypoQuantyl

Image analysis tool used for tracking localized growth of hypocotyls using high-throughput cloud computing. This program uses a variety of machine learning algorithms to identify a hypocotyl, extract the growth region, form a midline, then quantify the elemental growth rate in which cellular elongation occurs at many locations along that midline.

Note

Used BFG to remove all objects > 500K in size [07-09-2019]

Summary [re-iterate above description and expand on use, novelty, and similar software]

A) What is this program for?
Learning algorithms: predict contour, predict ending of midline
Image analysis: select points along seedling
Quantification: Localized measurements of midline, model growth of growing seedlings
Miscellaneous features: late-decision segmentation for error checking, ease of loading data
Output Data: models full developmental process of a growing, de-etiolating hypocotyl

B) How does this program work?
User stores time-lapse image stacks of a single type in individual folders
A full experiment is a set of individual image stacks in a parent folder
Multiple experiments can be loaded as well

C) Instructions for using HypoQuantyl can be found in HOWTO.md
- Sample data can be found in Sample Data

Getting Started

Dependencies

  • Lowest usable MATLAB version
  • Run scripts for toolbox dependencies (like from QuantDRaCALA)
  • Maybe something about CyVerse if necessary?

Installation

  • (to-do) Install program as Matlab executable
  • (to-do) Program runs on CyVerse

Version Information

02/05/2018 - HypoQuantyl Version 0.1 [ date created ] 02/06/2018 - HypoQuantyl Version 0.1 [ name chosen ] 02/22/2018 - HypoQuantyl Version 0.3 [ class structure finalized ] 05/24/2018 - HypoQuantyl Version 0.4 [ midpoint-normalization method ] 08/02/2018 - HypoQuantyl Version 0.5 [ routes method --> curves method ] 12/05/2018 - HypoQuantyl Version 0.6 [ optimized image read/write ] 02/18/2019 - HypoQuantyl Version 0.7 [ learning-based segmentation framework ]

Authors

Main Author

Julian Bustamante, Cellular and Molecular Biology Program ([email protected])
University of Wisconsin - Madison
Department of Botany

Contributing Author

Nathan Miller, Senior Scientist ([email protected])
University of Wisconsin - Madison
Department of Botany

License

MIT license found in LICENSE

Acknowledgements

  • Guosheng Wu
  • Nathan Miller

To-Do:

  • Segmentation with Convolution Neural Net (CNN)
    • CNN Architecture
    • Feature analysis
  • Junction Finder with CNN
    • Click Method
    • Slice Method
  • Midline Region Splitter and Feature Identifier
    • Track patches between frames
  • Kinematics Analysis
    • Elemental Growth Rate methods
  • Validation Methods
    • Manual methodology
  • Deployment to CyVerse
    • Compile to use with MCR
    • Synchronization with Open Science Grid
  • True Application Testing
    • CRY1 mutants
    • Cell Wall mutants

Class Structure and Main Functions

Main Classes

Class Description
HypoQuantyl Initializes program and loads Experiment folders
Experiment Loads folders containing multiple image stacks
Genotype Loads image stacks containing growing seedlings
Seedling Represents a single seedling throughout a time-lapse
Hypocotyl Represents the hypocotyl portion of a single seedlings
CircuitJB Main contour of a hypocotyl, segmented by anchor points
Route Individual segments around a hypocotyl's contour

Algorithms

Algorithm Description
FindHypocotyl Identifies region on a seedling containing the hypocotyl
TrackHypocotyl Keeps track of hypocotyl during de-etiolation process
FindGoodFrames Runs error-checking of each frame for each Seedling
IntegrationAlgorithm Integration method for measuring growing Hypocotyl

Implementing to Cyber Infrastructure

Infrastructure Description
Create accounts University Network, CyVerse, HTCondor
Set up submit files Holds MATLAB MCR, HypoQuantyl, Data, I-Commands
Run Test Data Run HypoQuantyl on Sample data on cloud computing environment

hypoquantyl's People

Contributors

jbustamante35 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

arhenry2

hypoquantyl's Issues

How To file

Good day Julian,
The How To file is not populated. I would be interested to analyze some etiolated wheat seedlings of mine grown under different temperatures for growth rate, if possible. Thanks, Julian (also my name)

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.