Is it possible to import unregistered PLY format point clouds/

Comments

6 comments

  • Avatar
    Erik Kubiňan CR

    Hello dear John, 
    sorry for letting you wait. I have gathered detailed information about this function and here you go:

    format documentation:
     
     
    supported formats:
     
        ascii
        binary_little_endian
        binary_big_endian
        
    supported version:
     
        1.0
     
    mandaroty fields:
     
        vertex
        camera
        phoxi_frame_params | camera_resolution
        
     
    supported property types:
     
        char
        uchar
        short
        ushort
        int
        uint
        float
        double
        uint32
            
    unsupported property type:
     
        list
    0
    Comment actions Permalink
  • Avatar
    John Ledford Gregory

    Thank you for the additional details. It appears that RC supports exclusively PhoXi camera exports. I have attempted to track down their specification, but cannot find anything. I am stuck having to wrap our exports in E57 format, which is fine, but it is taking longer than usual, since the export must happen "on the device", and it has had a hard time using the C++ libE57 library (which depends on Xerces and Boost).

    Hopefully, I can get more information on how to format a PLY properly in order to include correlations for cameras.I have found the following output on the PCL site, but it is not clear how all of these values map to rotation, transform, and intrinsics:

    ply
    format binary_little_endian 1.0
    obj_info Photoneo PLY PointCloud ( Width = 2064; Height = 1544)
    element vertex 3186816
    property float x
    property float y
    property float z
    property float nx
    property float ny
    property float nz
    property uchar red
    property uchar green
    property uchar blue
    property float Texture32
    element camera 1
    property float view_px
    property float view_py
    property float view_pz
    property float x_axisx
    property float x_axisy
    property float x_axisz
    property float y_axisx
    property float y_axisy
    property float y_axisz
    property float z_axisx
    property float z_axisy
    property float z_axisz
    element phoxi_frame_params 1
    property uint32 frame_width
    property uint32 frame_height
    property uint32 frame_index
    property float frame_start_time
    property float frame_duration
    property float frame_computation_duration
    property float frame_transfer_duration
    element camera_matrix 1
    property float cm0
    property float cm1
    property float cm2
    property float cm3
    property float cm4
    property float cm5
    property float cm6
    property float cm7
    property float cm8
    element distortion_matrix 1
    property float dm0
    property float dm1
    property float dm2
    property float dm3
    property float dm4
    property float dm5
    property float dm6
    property float dm7
    property float dm8
    property float dm9
    property float dm10
    property float dm11
    property float dm12
    property float dm13
    element camera_resolution 1
    property float width
    property float height
    element frame_binning 1
    property float horizontal
    property float vertical
    end_header
    
    0
    Comment actions Permalink
  • Avatar
    John Ledford Gregory

    It looks like the PCL library may be used to write PLY with cameras:

    https://pointclouds.org/documentation/classpcl_1_1_p_l_y_writer.html#ad89118568a800934d248385520ec024d

    0
    Comment actions Permalink
  • Avatar
    Erik Kubiňan CR

    Well I hope you'll find the correct way, if not I may ask the development team for this, but the integration to your hardware is something they possibly could not know about. 

    0
    Comment actions Permalink
  • Avatar
    John Ledford Gregory

    I will be happy to share results once this is working. If possible, could your developer team please let me know what RC is expecting to see in these fields:

    element camera 1
    property float view_px
    property float view_py
    property float view_pz
    property float x_axisx
    property float x_axisy
    property float x_axisz
    property float y_axisx
    property float y_axisy
    property float y_axisz
    property float z_axisx
    property float z_axisy
    property float z_axisz

    I know the px/y/z is the projection coordinates. Are the remaining values a transform matrix? If so, it's not the standard 4x4.

    0
    Comment actions Permalink
  • Avatar
    Erik Kubiňan CR

    I will try to have a look at this with the dev, please be patient meanwhile.

    0
    Comment actions Permalink

Please sign in to leave a comment.