Neurite outgrowth

Hi I am trying to set up a pipeline
to measure neurite outgrowth on PC12 cells

Yesterday, I read an interesting paper by Yu et al., Cytometry A.2009 in which the authors compared the efficiency of different cell analysis softwares, including CellProfiler, to analyze neurite outgrowth and branching. Do you know whether any CellProfiler module for neurite measurement has been made available?

Hi,

We do have a module called MeasureNeurons, which measures the number of trunks and branches for each neuron in an image. It takes a skeletonized image of the neuron plus previously identified seed objects (for instance, the neuron soma or a nucleus) and finds the number of axon or dendrite trunks that emerge from the soma and the number of branches along the axons and dendrites.

Regards,
-Mark

Having trouble getting data from the measure neurons module. Can create a skeleton of neurites and a threshold image but would like to get information on my neurons, such as neurite length and branches as well as intensity information. Does anyone have a working pipeline as an example?

Having a lot of trouble getting any data out of the measure neurons module. Seems to be tracing the neurites fine but no neurite length or branching data. I keep getting this error if I try and run the neuron graph relationship.

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 309, in run
File “cellprofiler\modules\measureneurons.pyc”, line 350, in run
File “cellprofiler\modules\measureneurons.pyc”, line 675, in make_neuron_graph
File “cellprofiler\cpmath\cpmorphology.pyc”, line 3648, in pairwise_permutations
File “scipy\sparse\csc.pyc”, line 147, in getitem
File “scipy\sparse\csr.pyc”, line 252, in getitem
File “scipy\sparse\csr.pyc”, line 190, in check_bounds
IndexError: index (203) out of range

Hi,

[quote=“Fennell”]Having a lot of trouble getting any data out of the measure neurons module. Seems to be tracing the neurites fine but no neurite length or branching data. I keep getting this error if I try and run the neuron graph relationship.

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 309, in run
File “cellprofiler\modules\measureneurons.pyc”, line 350, in run
File “cellprofiler\modules\measureneurons.pyc”, line 675, in make_neuron_graph
File “cellprofiler\cpmath\cpmorphology.pyc”, line 3648, in pairwise_permutations
File “scipy\sparse\csc.pyc”, line 147, in getitem
File “scipy\sparse\csr.pyc”, line 252, in getitem
File “scipy\sparse\csr.pyc”, line 190, in check_bounds
IndexError: index (203) out of range[/quote]

This error has been fixed, but you need to download a special compiled version, or use the Developer’s python code. See the comments here: viewtopic.php?f=14&t=1693&p=6687&hilit=MeasureNeurons#p6681

And re: extracting neurite length, that has yet to be added. However, a simple hack to get the overall length in the image you can take the skeletonized image, make a binary out of it using, say, ApplyThreshold, and then run MeasureImageIntensity on the binary. This is the next, and obvious measure, we will add. It is likely you can also get this info form the graph output, but we haven’t built a parsing tool for this yet, so you’d have to extract this info yourself for now.

Hope this helps,
David

I’ve gotten as far as getting nice-looking images from the MeasureNeurites module and even imported the resulting edges & vertices into Gephi to see how they look. However, I’m having trouble getting some “easy” information out of the resulting maps, particularly 1) the mean and median number of neurites per cell and per field and 2) the mean and median length of neurites per cell and per image/field. In an ideal world, I could get all the individual neurites in a table format so I can make a histogram…but perhaps that is just a pipe dream.

Unfortunately I can’t just count the intensity of the skeletonized image, since my ApplyThreshold module does have quite a bit of noise it in and I thus rely on MeasureNeurites to only connect the strings of pixels that are, in fact, neurites. Can you offer any tips on tools I can use to quickly analyze the vertices/edges produced? Thanks!

Steve

Hi Steve,

Perhaps by the lack of replies so far, you intuited that we don’t have any ready-made tools for analyzing the edges and vertices data. That is the case, though in our longer-range planning we are planning to make a tool available, or at least interface well with another visualization tool. Tulip or Cytoscape might be some other tools to check out. If you have any experiences to share, please do so here!

You should be able to get average numbers of neurites if you choose ExportToSpreadsheet with “Calculate per_image mean values” checked. Look in your Per_Image file (“Default_Image.csv”) for fields like these:
Mean_nuclei_Neuron_NumberBranchEnds_MorphGreen
Mean_nuclei_Neuron_NumberNonTrunkBranches_MorphGreen
Mean_nuclei_Neuron_NumberTrunks_MorphGreen

We do not calculate the length of the neurites yet and that is an obvious addition that we intend to make. You could calculate this (per_image, at least, and normalize by the number of soma) by
(1) Taking the binary skeleton (which you already need for MeasureNeurons) and using MeasureImageIntensity. The “Intensty” of the binary skeleton (assuming skeletonized “Forever” by Morph, so that it is a true skeleton with single-pixel width) is just the pixel count of the foreground , which equals the length of all the neurites.
(2) CalculateMath to divide the above length (i.e. “Intensity”) by the neuron number likely from IdentifyPrimaryObjects.

Hope this helps, at least until we flesh out MeasureNeurons!
David