Skip to content

Finding a 3D convex hull in R

2 messages · Dr Gregory Jefferis, Brian Ripley

#
Dear List Members,

I'm presently carrying out morphological analysis of a data set of neuronal
structures.  These are essentially 3D binary trees.  In due course I will be
trying to use discriminant analysis or other methods to classify these
neurons based on morphological variables such as total tree length, segment
number etc.

I would like to calculate a 3D convex hull for a set of X,Y,Z data points
which define the tips of my neurons.  I have found the R function chull
which finds a 2D convex hull, but not have found any 3D routines.  I
wondered if there were any packages / publicly available code I could use.
Having found the convex hull, it would be handy if there were also functions
to find the centroid, volume etc.  I've only been using R for 10 days and am
not much of a programmer, so I would rather not have to write code to
interface to external C routines etc if possible.

Very many thanks for any suggestions,

Greg.

P.S. I'm running R 1.3.1 on MacOS 9.1

__________________________________________________________________________
Greg Jefferis,                          Lab Address: Liqun Luo, Herrin 144
Neurosciences PhD Programme &                e-mail: jefferis at stanford.edu
Dept Biological Sciences,                       Lab: (650) 725 5809
Gilbert Biology Building,                       Fax: (650) 723 0589
371 Serra Mall,
Stanford, CA 94305-5020.                       Home: (650) 497 1135

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
On Fri, 21 Sep 2001, Greg Jefferis wrote:

            
3D convex hull programs are very much more specialized than 2D ones.
When I added chull I looked at the possibility of allowing kD, k > 2,
but it was hard to find suitable code, let alone interface to it.
Known algorithms are far too complicated to implement tolerably at R level.

netlib.bell-labs.com/netlib/voronoi/hull.html

is one place I considered starting, but note the portability comments.