The code in this folder accompanies the paper:
"Bayesian Image Recovery for Dendritic Structures Under Low Signal-to-Noise Conditions"

Abstract:
Experimental research seeking to quantify neuronal structure
constantly contends with restrictions on image resolution and
variability.  In particular, experimentalists often need to analyze
images with very low signal-to-noise ratio (SNR).  In many experiments
dye toxicity scales with the light intensity; this leads
experimentalists to reduce image SNR in order to preserve the
viability of the specimen. In this work we present a Bayesian approach
for estimating the neuronal shape given low-SNR observations.  This
Bayesian framework has two major advantages.  First, the method
effectively incorporates known facts about 1) the image formation
process, including blur and the Poisson nature of image noise at low
intensities, and 2) dendritic shape, including the fact that dendrites
are simply-connected geometric structures with smooth boundaries.
Second, we may employ standard Markov chain Monte Carlo (MCMC)
techniques for quantifying the posterior uncertainty in our estimate
of the dendritic shape. We describe an efficient computational
implementation of these methods and demonstrate the algorithm's
performance on simulated noisy two-photon laser-scanning microscopy
images.

-------------------
to run code:

open and run params.m in matlab. after these parameters have been defined, 
run MC_Demo by copying the desired outputs and the function of the required 
parameters into the command window. this code employs functions from matlab's
image processing and statistics toolboxes.
running this code displays a slideshow of MCMC samples (samples are separated by 
intervals defined in params). sampling is described in the section of the paper: 
"Markov Chain Monte Carlo methods for sampling from p(S|I_obs)."


-------------------
file descriptions:

params: sample parameters for the MH_Demo. changing these allows the user to set,
for example: the fluorescence levels,the number of samples to be taken, the burnin 
period, the penalty weights etc. etc.

MC_Demo: when run, this displays a 'movie' of MC samples 
produces figures related to the outcome of the MC sampler.

convovle2: a faster version of matLab's built in conv2 function.

FCvector: a list containing information about connectivity when adding a pixel. 
see section "simple connectivty constraint" in the paper for further information.

UCvector: same as FCvector, but for removing a pixel.

neuron: we use this data with thanks to Roberto Araya (Columbia University) as a source neuronal shape
to produce simulated data as discussed in the appendix. after cropping, this is the raw sample image 
displayed in the section of the paper "maximum likelihood estimation."



---------------------
last updated 9/15/08
Geoff Fudenberg, Liam Paninski