Switch branches/tags
Nothing to show
Find file History
evadyer code to download image data + vessels
-using CAJAL matlab api
Latest commit 99540d4 Sep 12, 2016


xbrain (code)

This is the main repository for code to analyze and quantify neuroanatomy in X-ray microtomography images. You can find further details about how we apply these methods to analyze mm-scale brain volumes in the following paper:

Dyer, Eva L., et al. "Quantifying mesoscale neuroanatomy using X-ray microtomography." arXiv preprint, arXiv:1604.03629 (2016).

If you use any of the code or datasets in this repo, please cite this paper. Please direct any questions to Eva Dyer at edyer{at}northwestern{dot}edu.

Getting started...

Install NeuroData Matlab API (Cajal)

In order to run the following example, you must install NeuroData's Matlab API (CAJAL). You can do this by downloading or cloning the CAJAL github repo. If you have your own dataset to test, you can skip this step but note that much of the code assumes that you have CAJAL installed and in your path.

Run xbrain on training volume (V1)

(Step 1) To begin, make sure you add all necessary directories to your current path in Matlab. To run our cell detection algorithm on raw image data (located in NeuroData), you need the following directories.


(Step 2) Next, run the cell detection method on x-ray image data located in NeuroData (imageToken='S1proj4') using the following commands.

xrange = [1350,1650]; yrange = [1850,2150]; zrange = [395,495]; 
startballsz = 18; dilatesz = 8; kmax = 500; presid = 0.7;
Results = runxbrain_gmm(xrange,yrange,zrange,presid,startballsz,dilatesz,kmax);

The parameters that we supply in the example above have been optimized over this training volume (V1) using methods in hyperparam module (/xbrain/code/hyperparam).

What's here...

  • analysis: matlab scripts for retrieving results from OCP.
  • celldetect: matlab code for cell detection.
  • cellsize: matlab code for estimating the size of detected cells.
  • hyperparam: matlab code for running hyper-parameter sweeps to optimize celldetect and vessel-segment modules.
  • masking: matlab code for semi-supervised masking of data volumes.
  • metrics: matlab code for computing centroid-based and pixel-wise precision and recall.
  • segment-gmm: matlab code for segmenting foreground (cells and vessels) from the background using a gaussian mixture model.
  • segment-vessels: matlab code for computing vessel segmentation (from ilastik output).
  • scripts: matlab scripts for running different segmentation and analysis modules.
  • spatialstats: code to compute density and other spatial statistics.
  • utils: extra helper functions needed in multiple modules.
  • visualize: matlab and python code to visualize data + pull down a obj representation of annotations (for 3D visualization with Blender).