Coder Social home page Coder Social logo

zova137 / locomouse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from careylab/locomouse

0.0 0.0 0.0 1.3 MB

LocoMouse tracking algorithm from Machado, Darmohray, Fayad, Marques, and Carey, eLife (2015): http://dx.doi.org/10.7554/eLife.07892. Code written by Joao Fayad.

MATLAB 89.02% C++ 10.98%

locomouse's Introduction

*****************************************************************************
LocoMouse tracking algorithm from โ€œA quantitative framework for whole-body 
coordination reveals specific deficits in freely walking ataxic mice"
Machado, Darmohray, Fayad, Marques, and Carey.
eLife (2015) http://dx.doi.org/10.7554/eLife.07892.

***For questions, suggestions please contact Ana Machado ([email protected])***

Code written by Joao Fayad.

------------------ PLEASE NOTE -----------------------------------------------
This version of LocoMouse retains the analysis procedures as used in the 
cited paper. An updated version (Matlab R2014B and higher) can be found under 
http://github.com/careylab/LocoMouse_Dev (careylab's development version)
------------------ Dennis Eckmeier, 2015 ------------------------------------

If you find this code useful, please reference our paper.
*****************************************************************************

--|Intro|-- 
LocoMouse_Tracker is a software developed in MATLAB R2013 for tracking
features of locomoting mice when observing them from the side and
bottom view simultaneously. It uses Support Vector Machines to learn
image filters for each of the features and a multi-target tracking
framework to resolve the most likely tracks from the image observations.
This software was developed for a specific setup, and so replicating such
conditions is essential for it to work as intended. The general framework
is, however, flexible enough to be modified for a different setup.

Please read the following files before using this code:

- "README" (this file) - All other license and readme files contained in
the "additional_packages" folder.

--|License & Disclaimer|--
Copyright (C) 2015  Joao Fayad
 
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


--|Requirements|-- 

Matlab toolboxes: 
- Image processing toolbox 
- Parallel toolbox (not strictly required, but very slow otherwise). 
- Signal processing toolbox - Statistics toolbox

Additional packages (already included): 
- A modified version of the following algorithm:

Efficient Second Order Multi-Target Tracking with Exclusion Constraints
Russel C., Setti F., Agapito L. British Machine Vision Conference (BMVC
2011), Dundee, UK, 2011.

- sc (https://github.com/ojwoodford/sc)

- combinator
(http://www.mathworks.com/matlabcentral/fileexchange/24325-combinator-combinations-and-permutations)

These packages are already included in this release. Please read the
respective copyright and license files before using this software.

--|Usage|-- 
To use this software please edit the MTF_main.m file so the different
paths point to the appropriate folders. An example under a typical
installation of MATLAB is provided. Make sure the path to all the
functions are added to your MATLAB path, including the external packages
folder.

To run the example you will need a video example. Please go to
https://www.dropbox.com/sh/hfu0sayfzwoqwp1/AADcMwYPl0UHw8jTDIRIHBtoa?dl=0
 and download 'G6AE1_98_28_1_control_S1T1.avi' and
 'G6AE1_98_28_1_control_S1T.png' into the
 LocoMouse/movies/3_11_2013_S1/G6AE1 folder.

Optionally, you can also download the contents of
'G6AE1_98_28_1_control_S1T1_corrected' into LocoMouse/output/Distortion
images/G6AE1_98_28_1_control_S1T1_corrected. This will save computational
time.

The list of specific files to track function follows the specific naming
convention of our system and therefore should be used carefully.

Binaries for 64bit Linux and Windows are included. If using a different
system, please compile the 'combinator' and 'tracking' packages under
'LocoMouse/external packages'.

In recent versions of MATLAB the behaviour of VideoReader has changed.
Therefore, if problems arise, move (and rename accordingly) the functions
inside 'LocoMouse/tracking code/matlab2014' to the 'LocoMouse/tracking
code' folder.

--|Practical Use and Limitations|-- 
The SVM models are dependent on the image conditions used to train them.
To use the provided SVM models, please make sure the following conditions
apply:

* Images must be grayscale.

* Images must be resized such that features have the expected size in
pixels as no multiresolution analysis is performed (for reference, the
size of the bottom view detector for the paw is 30x30 pixels). The system
is capable of rescaling, but needs user input on the scaling factor.

* Background must be subtracted.

* Mice must be black. For other colours, consider training a new SVM
model. However, for mice that look white on the image it might not be
possible to distinguish paws from body on the bottom view, which would
break the system.

--|Acknowledgements|-- 
This software was developed by Joao Fayad in the Neural Circuits and
Behavior Lab at the Champalimaud Neuroscience Programme. It is inspired
by previously existing tracking code (unreleased) developed by Ana S.
Machado, Dana Darmohray and Megan R. Carey.

Ana S. Machado, Dana Darmohray, Hugo G. Marques and Megan R. Carey
contributed with discussions, suggestions and testing of the software.

locomouse's People

Contributors

denniseckmeier avatar sofiamach 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.