Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to display huge point cloud via QT?
Qt 6.11 is out! See what's new in the release blog

How to display huge point cloud via QT?

Scheduled Pinned Locked Moved Unsolved General and Desktop
8 Posts 4 Posters 3.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    hitbuyi
    wrote on last edited by hitbuyi
    #1

    I have some Qt examples on displaying 3D point cloud(with X,Y,Z,I), they can display small size point cloud well(< 100000 points), if I want to display huge point cloud( with more than 5 million points) in real time(< 100ms ), and colorize the points according to its height(or according to itensity I). Is Qt capable of doing such task? if so, which Qt module should I use? Qt3D, QML?

    C 1 Reply Last reply
    0
    • S Offline
      S Offline
      SamiV123
      wrote on last edited by
      #2

      Sorry can't offer you a direct answer, but maybe you should consider doing a prototype with different possible implementations first and then do some perf analysis before starting on the actual work.

      1 Reply Last reply
      0
      • H hitbuyi

        I have some Qt examples on displaying 3D point cloud(with X,Y,Z,I), they can display small size point cloud well(< 100000 points), if I want to display huge point cloud( with more than 5 million points) in real time(< 100ms ), and colorize the points according to its height(or according to itensity I). Is Qt capable of doing such task? if so, which Qt module should I use? Qt3D, QML?

        C Offline
        C Offline
        ChrisW67
        wrote on last edited by
        #3

        @hitbuyi What is going to deliver 50,000,000 changing points/second in the first place?

        H 1 Reply Last reply
        0
        • W Offline
          W Offline
          Winz 0
          wrote on last edited by
          #4

          I think I have a bit of the same need as you but without the time constraint. I want to display a multitude of independent point clouds. To do this, I tried using the QtDataVisualization module, but I came up against the fact that the objects are not transparent to each other.

          I describe my problem here and give an example code here: https://forum.qt.io/topic/156479/transparency-problem-between-qcustom3dvolume-of-the-same-scatter3d

          If you only have one point cloud to represent, this may be a solution for you (then see if the data model can be updated quickly). You say you have examples of solutions for displaying point clouds, what approach have you already tried that I could use as inspiration?

          H 1 Reply Last reply
          0
          • C ChrisW67

            @hitbuyi What is going to deliver 50,000,000 changing points/second in the first place?

            H Offline
            H Offline
            hitbuyi
            wrote on last edited by hitbuyi
            #5

            @ChrisW67 lidar points, maybe more than one lidar points, such as points before processing, after processing , one frame, two frame, I want visualize the whole processing stages for algorithm debug

            1 Reply Last reply
            0
            • W Winz 0

              I think I have a bit of the same need as you but without the time constraint. I want to display a multitude of independent point clouds. To do this, I tried using the QtDataVisualization module, but I came up against the fact that the objects are not transparent to each other.

              I describe my problem here and give an example code here: https://forum.qt.io/topic/156479/transparency-problem-between-qcustom3dvolume-of-the-same-scatter3d

              If you only have one point cloud to represent, this may be a solution for you (then see if the data model can be updated quickly). You say you have examples of solutions for displaying point clouds, what approach have you already tried that I could use as inspiration?

              H Offline
              H Offline
              hitbuyi
              wrote on last edited by hitbuyi
              #6

              @Winz-0 thank you for your advice. Now I resort to combination of PCL+VTK+QT , PCL for processing, VTK +Qt for display, thus reduce Qt burden. My example are below
              https://github.com/aszpatowski/Lidar-Visualization-Qt/tree/master
              https://github.com/zjulion/QtCloudViewer
              I doubt that using Qt only can not handle huge points data at scale of more than 5M+ points

              1 Reply Last reply
              0
              • W Offline
                W Offline
                Winz 0
                wrote on last edited by
                #7

                Thanks for sharing your code @hitbuyi.
                To optimize display speed, you could also consider displaying only a sub-section of you data depending on the zoom level, for example. The user won't notice the difference if you display 3 or 4 million pixels. You could apply trilinear interpolation to your raw data, for example, or take inspiration from approaches like this one: https://www.kdab.com/a-speed-up-for-charting-on-embedded/

                H 1 Reply Last reply
                0
                • W Winz 0

                  Thanks for sharing your code @hitbuyi.
                  To optimize display speed, you could also consider displaying only a sub-section of you data depending on the zoom level, for example. The user won't notice the difference if you display 3 or 4 million pixels. You could apply trilinear interpolation to your raw data, for example, or take inspiration from approaches like this one: https://www.kdab.com/a-speed-up-for-charting-on-embedded/

                  H Offline
                  H Offline
                  hitbuyi
                  wrote on last edited by
                  #8

                  @Winz-0 If just for purpose of display point clouds, the method you mentioned is reasonable. my purpose is to debug the algorithm, so it can't discard some ponit cloud.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved