Usefulness of "organized point cloud"

5 views (last 30 days)
AnaelG
AnaelG on 5 Jul 2017
Commented: AnaelG on 9 Aug 2017
I thought it was smart to use Matlab's "organized point cloud" format to keep the data sorted by "frames". But I have a multiple concerns that seem to make it much less useful than anticipated.
  1. Since it is a matrix I need all frames to have the same number of points. Which means I need to initialize it with a bunch of NaN to the size of the largest frame before populating it with the point cloud data...
  2. Most Matlab Point Cloud Processing Toolbox functions don't seem to handle organized point clouds: pcFitPlane or pcRegRigid...
  3. Why the MxNx3 format and not Mx3xN?? This makes it a pain to populate the matrix frame by frame since I cannot simply assign a Mx3 matrix to a MxNx3 one. It forces me to use permute or some time consuming functions like that.
  1 Comment
AnaelG
AnaelG on 5 Jul 2017
For 3. my only consolation is that it's easy to convert MxNx3 to a 2D matrix (MxN)x3 with reshape(A,[],3), whereas there are a few more steps starting from a Mx3xN...

Sign in to comment.

Answers (1)

Don Zheng
Don Zheng on 19 Jul 2017
Edited: Don Zheng on 19 Jul 2017
Quoted from PCL
" An organized point cloud dataset is the name given to point clouds that resemble an organized image (or matrix) like structure, where the data is split into rows and columns. Examples of such point clouds include data coming from stereo cameras or Time Of Flight cameras. The advantages of a organized dataset is that by knowing the relationship between adjacent points (e.g. pixels), nearest neighbor operations are much more efficient, thus speeding up the computation and lowering the costs of certain algorithms in PCL."
Based on that, an organized point cloud format might be more suitable for a dense point cloud (e.g., a depth point cloud captured from a stereo camera). In that case, the number of points in the cloud is considered equivalent to the frame size. As long as the frame size does not change, the number of points stays the same.
As for your second item, I believe that 'pcFitPlane' and 'pcRegRigid' take pointCloud objects, which can be constructed from either organized and unorganized point cloud format.
As for item 3, I am not sure if there is a confusion about 'N'. I believe that 'N' represents the number of columns. Based on your description, 'N' seemed to be related to the number of frames. Theoretically, if you have an unorganized (or sparse) point cloud without pixel coordinates, you cannot convert it to an organized point cloud.
  1 Comment
AnaelG
AnaelG on 9 Aug 2017
That's makes a lot more sense now, thank you.
I had the wrong interpretation of what was "organized". I thought that in MxNx3, N was the index of the frame number (as in a movie frame)...

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!