Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

morphological features #19

Open
22 of 27 tasks
xiuliren opened this issue Oct 23, 2017 · 1 comment
Open
22 of 27 tasks

morphological features #19

xiuliren opened this issue Oct 23, 2017 · 1 comment

Comments

@xiuliren
Copy link
Member

xiuliren commented Oct 23, 2017

features represent a whole neuron

  • arbor density 5d39fb9
  • total path length
  • total frustum-based surface 4d9df08
  • total frustum-based volume 4d9df08
  • number of branch points c78104a
  • Median branch length is the median dendritic segment length of all the segments starting and ending at irreducible nodes (in μm). Irreducible nodes are the points of the dendritic arbor corresponding to soma, branching points or terminal points.
  • 3D sholl analysis. c493411
  • Hull area is the area of the tightest convex hull containing the z-projection of the dendritic arbor (in μm2).
  • volume of the convex hull around all neurites
  • Average angle is the mean of the positive angle between (parent node, node) and (node, child node) vectors, where node, parent node and child node are irreducible nodes (in radians). 3f11d24
  • Average tortuosity is the average value of the ratio of the actual dendritic length to the Euclidean distance between irreducible nodes. caa4486
  • Asymmetry is the distance of the soma node to the dendritic arbor (skeleton) centre of mass (in nm). 6991059
  • Typical radius (λ) is the root-mean-square distance of dendritic arbor points to the centre of mass (in nm). 87f488a
  • fractal dimension. computed using cumulative-mass method. wiki. paper. paper2. 8923553 , 09f846b
  • longest neurite length. 903fedf
  • distribution of Euclidian distance of branches from soma (third principal component)
  • distribution of Euclidian distance of branches from soma as a function of branch order (third principal component)
  • number of branches per branch order (second principal component)
  • distribution of morphological distance of branches from soma along the skeleton as a function of branch order (first principal component)

features represent branches in a neuron

References:

  1. Sümbül U, Song S, McCulloch K, Becker M, Lin B, Sanes JR, Masland RH, Seung HS. A genetic and computational approach to structurally classify neuronal types. Nature communications. 2014 Mar 24;5:3512. link
  2. Schierwagen A, Villmann T, Alpár A, Gärtner U. Cluster analysis of cortical pyramidal neurons using som. InIAPR Workshop on Artificial Neural Networks in Pattern Recognition 2010 Apr 11 (pp. 120-130). Springer, Berlin, Heidelberg.
  3. Cuntz H, Forstner F, Borst A, H\äusser M. The TREES Toolbox—Probing the Basis of Axonal and Dendritic Branching. Neuroinformatics. 2011;1–6.
  4. Schierwagen A. Neuronal morphology: Shape characteristics and models. Neurophysiology. 2008;40(4):310–315.
  5. Uylings HB., van Pelt J. Measures for quantifying dendritic arborizations. Network: Computation in Neural Systems. 2002;13(3):397–414. a good review paper
  6. Wanner AA, Genoud C, Masudi T, Siksou L, Friedrich RW. Dense EM-based reconstruction of the interglomerular projectome in the zebrafish olfactory bulb. Nature neuroscience. 2016 Jun 1;19(6):816-25. also have clustering methods
@xiuliren
Copy link
Member Author

Convex Hull features were computed outside the package to avoid getting too many dependencies.

# convex hull analysis
using QHull
convexHullVolumeList = []
convexHullAreaList = []
for cellId in df[:cellId]
    @show cellId
    neuron = neuronDict[cellId]
    nodeList = Neurons.get_node_list(neuron)
    points = zeros((length(nodeList), 3))
    for (i,node) in enumerate(nodeList)
        points[i,:] = [nodeList[i][1:3]...]
    end 
    ch = chull(points)
    push!(convexHullVolumeList, ch.volume)
    push!(convexHullAreaList, ch.area)
end

df[:convexHullVolume] = convexHullVolumeList
df[:convexHullArea] = convexHullAreaList

p = histogram(convexHullVolumeList, leg=false, nbins=40)
xlabel!(p, "convex hull volume (\u03BCm)")
ylabel!(p, "count of cells")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant