Forum

Vvvv & pointclouds .ply

Im into Aereal Mapping with UAV…
A long time ago i was able to get the pointcloud data from Photosynth into vvvv https://discourse.vvvv.org/t/8559
sebl was able to moddify a dottore patch ( dottore gave the credits to Viktor Vicsek for the spryes implementation ).

after all that, we were able to open pointclouds into vvvv… but bigger pointclouds use to crash :(

a few months ago I found an free open source alternative called VisualSFM that is a interfaces to run Yasutaka Furukawa’s PMVS/CMVS tool, with this software is super easy to get huge pointclouds from pictures, all the processing is done on the machine, so no more need of 123catch or photosynt. There are several tutorials on how to import the pointclouds into meshlab for futher processing, like surface reconstruction.

I would like to import the point clouds of this software into vvvv… the output of this software is a .ply file with this structure

ply
format ascii 1.0
element vertex 111949
property float x
property float y
property float z
property float nx
property float ny
property float nz
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
end_header
1.83157 -1.3391 3.83691 0.210131 0.00257095 -0.97767 169 213 254
1.83697 -1.33971 3.82486 -0.481217 0.721945 -0.497218 183 220 253
1.84159 -1.33646 3.82603 -0.380569 0.740291 -0.554198 182 221 253
1.85919 -1.34299 3.8357 0.278883 0.0214793 -0.960085 180 219 254
1.80875 -1.33044 3.83354 -0.767557 0.502272 -0.39822 169 213 254
1.81203 -1.33131 3.82597 0.120239 -0.549744 -0.826634 183 220 253
1.83389 -1.33479 3.83602 -0.364433 0.00257095 -0.931226 175 222 253
1.83853 -1.33479 3.8342 0.270264 -0.0147541 -0.962673 173 224 253
1.83911 -1.33254 3.82883 -0.110846 0.323581 -0.939685 169 224 251 
and so on... 111949 lines

the problem is that the original patch from dottore seems unable to handle this amount of data, its like 7mb file… i guess that i can just skip some lines with a getslice node…

anybody have any better solution ?

hey andres

the sample looks rather straight forward to implement, but have you already tried the assimp nodes? They should handle Stanford Polygon Library format natively.

oculus-bakretskort-final <- this is point cloud from VisualSFM & CMPMVS

I can’t really remember if I read it directly from the .ply file or used some step in between, too busy to check right now but I’ll try to remember to look it up and get back to you when I have time

I believe I just stripped the header info and then read in all positions and rgb data with a dynamic plugin that output the parsed data as two textures, one for xyz pos and one for rgb color.

write a plugin that reads the data … and then translates it to the format you need it. be it a spread or a dynamic buffer or a texture.

or read only chunks of the file with reader advanced/ sequential reader.