[R-sig-Geo] Irregularly spaced 3D point clustering / segmentation
Michael Sumner
mdsumner at utas.edu.au
Fri May 18 04:51:45 CEST 2007
Hello,
I had some success with visualization as follows.
I calculated the "forest floor" elevation "minElev" by calculating the
minimum height in a set of grid cells - you could use
as.SpatialPolygons.GridTopology
and overlay to achieve the same, but I reverted to GIS to get a quick
result. If you have a good DEM you will only need to overlay those
heights to the points.
library(rgdal)
library(trip) ## just for my oc.colors function - any color function
will do
z <- d$elev - d$minElev ## colourize based on height above ground
## this is taken from surface3d
z <- z - min(z)
zlim <- range(z)
zlim <- zlim - min(zlim)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- oc.colors(zlen) # height color lookup table
col <- colorlut[z -zlim[1]+1 ] # assign colors to heights for each point
## subsample it for sanity until you are happy it's right
sub <- sample(1:nrow(d), 5000)
## sub <- 1:nrow(d)
plot3d(d[sub,1], d[sub,2], d[sub, 3], aspect = "iso", col = col, size = 3)
Sample images here:
http://staff.acecrc.org.au/~mdsumner/R/lidar.png
http://staff.acecrc.org.au/~mdsumner/R/lidar2.png
That might help you with your clustering explorations.
Cheers, Mike.
Andrew Niccolai wrote:
> Absolutely. I am waiting on a LIDAR data set for my research site and
> thought that I would get a head start with building the code to segment the
> data. So, I downloaded the US Forest Service free software FUSION that was
> built to visualize LIDAR data. This software comes with an example set from
> the Pacific Northwest including an orthophoto of the same site. This is the
> data that I am currently using while awaiting my own.
>
> Hope this helps. Let me know if you end up making any headway with
> separating out the trees....
>
> cheers
>
> Andrew Niccolai
> Doctoral Candidate
> Yale University
> (203) 432-5144
> -----Original Message-----
> From: Michael Sumner [mailto:mdsumner at utas.edu.au]
> Sent: Thursday, May 17, 2007 5:33 PM
> To: Andrew Niccolai
> Cc: r-sig-geo at stat.math.ethz.ch
> Subject: Re: [R-sig-Geo] Irregularly spaced 3D point clustering /
> segmentation
>
> Hello,
>
> I have no suggestions for helping yet, but I'd rather like to play with
> some LIDAR forest data. Is there some publicly available that you can
> point me to? I have messed around with rgl for interactive 3-D view of
> similar things, and would like to explore more.
>
> Cheers, Mike.
>
> Andrew Niccolai wrote:
>
>> Greetings fellow R users,
>>
>> I would really enjoy (and eagerly anticipate) any discussions on ideas for
>> handling a LIDAR (laser) data set of a New England forest. The LIDAR
>> dataset is essentially xyz coordinates that form an irregularly spaced 3D
>> data cloud of points. I have brought the data in as
>>
> SpatialPointsDataFrame,
>
>> SpatialPixelsDataFrame, SpatialGridDataFrame, marked Point Pattern Process
>> objects, matrices etc. I can view the interpolated surface with ?interp
>>
> in
>
>> library(akima) as well as 3D points and surfaces in library(rgl).
>>
>> So, importing the LIDAR data and viewing it or exporting it so that ImageJ
>> can handle it is not the issue.
>>
>> The LIDAR data set essentially produces a set of "mounds" from the
>>
> elevation
>
>> data recorded in the z variable. Each "mound" represents a tree in the
>> forest. I am hoping to get some ideas on ways to cluster this data set so
>> that I can isolate each mound for further analysis and segmentation. One
>> possibility that I have looked into with Matlab software is
>> "marker-controlled watershed segmentation". This essentially inverts the
>> interpolated surface and "fills" the inverted image with "water" starting
>>
> at
>
>> the local minimas until the water starts to spill over into the next
>> watershed at which point it builds a "dam" between local valleys. This is
>>
> a
>
>> function in Matlab and I haven't been able to see the code to bring it to
>>
> R.
>
>> Any ideas on this method or suggestions for better methods to isolate
>> "mounds" in 3D space? Template matching, perhaps??
>>
>> Thanks in advance and thanks to all the innovative producers and users of
>> the R domain!!
>> Andrew
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>>
>>
>>
>
>
>
More information about the R-sig-Geo
mailing list