Giter Site home page Giter Site logo

achamess / elife_submission Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhoupc/elife_submission

0.0 2.0 0.0 1014.11 MB

License: GNU General Public License v3.0

TeX 15.81% Shell 0.55% MATLAB 77.51% C++ 0.18% HTML 5.85% CSS 0.05% M 0.05%

elife_submission's Introduction

CNMF-E eLife submission

This repo supports our submission of CNMF-E work to eLife. All the code and data are shared for reproducible research. The figures and the videos shown in our paper can be automatically generated using the provided code. The latex file for writing the paper was provided as well. In a nutshell, you can completely reproduce our paper using this repo.

Author

Pengcheng Zhou, Columbia University, [email protected]

All rights reserved!

Requirements

  1. MATLAB
  2. pdfLatex
  3. ffmpeg or other avi2mp4 converters

Folder descriptions

  • main.tex & vancouver-elife.bst & references.bib (latex file & the eLife template & references)

    The manuscript can be generated by compiling main.tex

  • ./code (all scripts and packages used in this project)

    • ./scripts_figures (scripts for generating all figure panels)

      • ./fig_intro (Figure 1 )
      • ./fig_bg (Figure 1E & Figure 2))
      • ./fig_initialization (Figure 3)
      • ./fig_sim (Figure 4)
      • ./fig_corr (Figure 5)
    • ./CNMF-E (CNMF-E package (12/02/2017))

    • ./CellSort (** PCA/ICA package **)

    • ./cbrewer (generate some fancy colormaps)

  • ./data =

    ** since data files are too large for including them into github. you have to download them by yourself. Click here for downloading the data**

    • ./blood_vessel_10Hz.mat (Figure 6 )

      collected by Shay Q. Neufeld & Bernardo L. Sabatini at Harvard University)

      ./PFC4_15Hz.mat (Figure 7) ) collected by Shanna L. Resendez and Garret D. Stuber at University of North Carolina at Chapel Hill

    • ./bma22_epm_motioncorrected_round1_cropped_correction.mat (Figure 8)

      collected by Jessica C. Jimenez, Mazen A. Kheirbek & Rene Hen at Columbia University

    • ./CAMKII120_160317shock.mat (Figure 9)

      collected by Jose Rodriguez-Romaguera and Garret D. Stuber at University of North Carolina at Chapel Hill)

  • ./Figs

    • ./Fig_introduction.tex (Figure 1)
    • ./Fig_BG.tex (Figure 2)
    • ./Fig_INIT.tex (** Figure 3 **)
    • ./Fig_SIM_part1.tex (Figure 4)
      • ./Fig_SIM_part2.tex (Figure 5)
    • ./Fig_Striatum.tex (Figure 6)
    • ./Fig_PFC.tex (Figure 7)
    • ./Fig_HIPPOCAMPUS.tex (Figure 8)
    • ./Fig_BNST.tex (Figure 9)
  • ./Video

  • ./results

Guide

We used two steps for generating paper figures:

  1. generate all figure panels and videos using MATLAB. Figure panels are saved into each subfolder of ./Figs; videos are saved into folder ./Videos

  2. create paper figures by combining all panels using the picture package in latex.

We tested these code under Ubuntu 16.04. The MATLAB version is R2015a. The commands for compiling tex file should work for both unix and linux systems. I haven't tested the Windows system, but it should be the same as compiling other latex files.

Figure 1 & Figure 2

MATLAB

>> run ./code/scripts_figures/fig_intro/main.m 
>> run ./code/scripts_figures/fig_bg/main.m

Latex

pdflatex ./Figs/Fig_introduction.tex
pdflatex ./Figs/Fig_BG.tex 

Results:

  • Figure 1: ./Fig_introduction.pdf
  • Figure 2: ./Fig_BG.pdf
  • S1 Video: ./Videos/example_microendoscopic_data.avi
  • S2 Video: ./Videos/background_comparison.avi

Figure 3

MATLAB

>> run ./code/scripts_figures/fig_initialization/main.m 

Latex

pdflatex ./Figs/Fig_INIT.tex

Results: Figure 3: ./Figs/Fig_INIT.pdf S3 Video: ./Videos/sim_initialization.avi

Figure 4

MATLAB

>> run ./code/scripts_figures/fig_sim/main.m 

Latex

pdflatex ./Figs/Fig_SIM_part1.tex

Results: Figure 4: ./Figs/Fig_SIM_part1.pdf S4 Video: ./Videos/sim_snr1_decompose.avi S5 Video: ./Videos/sim_snr6_decompose.avi

Figure 5

MATLAB

>> run ./code/scripts_figures/fig_corr/main.m 

Latex

pdflatex ./Figs/Fig_SIM_part2.tex

Results: Figure 5: ./Figs/Fig_SIM_part2.pdf

Figure 6

MATLAB

>> run ./code/scripts_figures/fig_striatum/main.m 

Latex

pdflatex ./Figs/Fig_Striatum.tex

Results: Figure 6: ./Figs/Fig_Striatum.pdf S6 Video: ./Videos/striatum_decompose.avi

Figure 7

MATLAB

>> run ./code/scripts_figures/fig_PFC/main.m 

Latex

pdflatex ./Figs/Fig_PFC.tex

Results: Figure 6: ./Figs/Fig_PFC.pdf S7 Video: ./Videos/PFC_decompose.avi

Figure 8

MATLAB

>> run ./code/scripts_figures/fig_hippocampus/main.m 

Latex

pdflatex ./Figs/Fig_HIPPOCAMPUS.tex

Results: Figure 8: ./Figs/Fig_HIPPOCAMPUS.pdf S9 Video: ./Videos/HIPPOCAMPUS_decompose.avi S10 Video: ./Videos/intervention.avi

Figure 9

MATLAB

>> run ./code/scripts_figures/fig_bnst/main.m 

Latex

pdflatex ./Figs/Fig_BNST.tex

Results: Figure 9: ./Figs/Fig_BNST.pdf S11 Video: ./Videos/BNST_decompose.avi

Figure 10

Figure 10 is a figure for illustrative purpose. I created the figure in an interactive way. Thus, I don't have the script for creating this figure.

Convert all avi movies to mp4 videos

All exported Videos from MATLAB are avi files. We used ffmpeg to convert them into mp4 format and rename as 'S* Video.mp4'

bash ./Videos/avi2mp4.sh
bash ./Videos/rename_videos.sh 

Compile the manuscript

Latex

pdflatex CNMF_E_final.tex
bibtex CNMF_E_final.tex
pdflatex CNMF_E_final.tex
pdflatex CNMF_E_final.tex

Results:

The paper: ๐Ÿ“ŽCNMF_E_final.pdf

๐Ÿ˜ƒ

elife_submission's People

Contributors

zhoupc avatar

Watchers

James Cloos avatar  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.