Tinkering‎ > ‎

Texture Mapping in Cyclone

posted Sep 8, 2016, 2:42 PM by Ted Bibby   [ updated Sep 8, 2016, 3:37 PM ]
Overlaying an image on a LiDAR point cloud, aka Texture Mapping:

It took me a while to work this out, so I figured I'd lay out the steps I went through.
The goal here is to take a photo or image taken in the field and place it on a point cloud. Ideally the pointcloud is correctly georeferenced in space. It's just the image that is random. This could be something from your iphone you took while doing field work, and now you want a precise measurement of the distance between two items in your photo, or you want the XYZ coordinates of something you can identify in a photo but not in the point cloud, or the image acquired by the scanner was really poor. The short description here is to use the Texture mapping toolbar, create reference points between the image and the point cloud, and then merge the two in your model space.

I'm using Leica's Cyclone Modeler.

Open up Cyclone Navigator and import the image from your camera. Right click on Model Space>Import>Navigate to your file

The image should show up with a little camera next to it.

Next, open your model space with the point cloud you want to overlay the image on and navigate to the Texture Map Browser.

If you have no points selected the browser will be grayed out.

Select a point in the point cloud roughly where you'll want the picture placed. Does not have to be perfect. Once you've selected a point, the Texture Map Browser will become active. Click the "+" symbol to select an image and click "OK"
If a pop-up comes up asking Perspective or Ortho, click perspective.

The Texture Editor should open up and show you the picture you want to overlay on the point cloud. You now need to create reference points between the image and the point cloud.

Click control points on the Texture map.  Holding down the mouse button will allow you to zoom in and around the image to select individual pixels.

Now in your model space click the exact same locations to reference the image to on your point cloud. Use Multi- Pick Mode. Matching #'s should appear with each click.

Now add the control points via the Texture Editor: Click the button that looks like a yellow knot. All your matching control points should appear.
Then click "Compute". You may have to adjust some of the tolerances for pixels in Edit Preferences button>modeling>Texture Map

Click OK,
Click Close
Select any point in the point cloud, and highlight the row with the picture's name in Texture Browser
Click Save
Click Yes to Accept rendering
Click OK on next message, and Restart Cyclone.

After Opening Cyclone again, click a point in the point cloud. then right click and change color map option.

If the point cloud colors don't change immediately, you may need to click change the point cloud rendering tool bar to use colors from scanner. Not the hue intensity map.

And hopefully all went well and now your image is rendered to the point cloud.

Additional description of steps:
The command is in the menu "Edit Object, Appearance, and Texture Map Browser". 

1. Turn the View > Global Texture Map option ON 
2. Start the process of “mapping” common points in point clouds to pixels in photos. Import relevant photos into the project from Navigator (Right Click > Import) 
3. Select Edit Object > Appearance > Texture Map Browser 
5. Pick a point anywhere on point cloud to enable the ADD (“+”) button. 
6. Click on ADD button ( ) 
7. Select a Photo, and OK on next message (if photo is from Digital Camera) 
8. Picture (and Texture Editor) should now be visible on screen for mapping common points. 
9. Deselect (un-pick) any points currently picked on point cloud. 
10. Start the process of “mapping” common points in point clouds to pixels in photos. 
11. Right-Click on Picture, and adjust the zoom if necessary. 
12. Single Clicking and holding down button on picture automatically zooms in, and releasing mouse button picks the first point to be mapped. 
13. Select at least 7 points on the picture by clicking and releasing the mouse button. 
14. Now select the same 7 points on point cloud 
15. Click ADD button on Texture Editor 
16. Now, Click the COMPUTE button, and notice the error at the bottom (Smaller the better) 
17. You may get an error message to adjust tolerance. 
18. Points can be reselected, followed by COMPUTE operation until desired accuracy is obtained. 
19. Click CLOSE button. 
20. Select any point on the cloud, and highlight the row with picture’s name in Texture Browser. 
21. Click on SAVE button. 
22. Click Yes to accept Recording of colors to Point Cloud (CAUTION: Colors from Scanner will be lost once cloud takes the colors from photograph) 
23. Click OK on next message, and RESTART Cyclone. 
24. After opening the modelspace, if the colors are not applied, select the point cloud, click the right mouse button, and check “Apply Color Map | Image Texture Map.” Color from the image will immediately apply. 

Note to keep the left mouse button pressed while picking a point in the image (ZOOM IN).Use the right mouse button to change between single-pick and multi-pick. 
Please also find the Cyclone Manual installed under ...\Leica Geosystems\Cyclone. There you will also find some information about Texture Mapping.