Positioning a Cross Section Bitmap Vertically with Voxler

Voxler is a good tool to use when you wish to display objects in three dimensions. When you load a bitmap image, you can specify the X and Y minimum and maximum coordinates for positioning the image in the horizontal XY plane. To position the image vertically, attach Transform modules to rotate and offset the image file.

Voxler customers at Tyréns AB in Kristianstad Sweden submitted two files, a bitmap PNG file of a cross-section, and a data file in CSV format with 255,000 XYZC points. The object is to position the cross-section within a ScatterPlot of the data points. The desired locations of the four corners of the PNG cross-section file are as follows:

      1. upper left corner: 6213051,624099864,7850 0 
        lower right corner: 6211825,522100194,817 -7

To aid in positioning the bitmap, add four points to the data file that define the four corners of the bitmap. In addition, add a large data value C so the points are a different color in the ScatterPlot.

99864.785 6213051.624 0 5000
99864.785 6213051.624 -7 5000
100194.817 6211825.522 -7 5000
100194.817 6211825.522 0 5000

Open Voxler and choose File | Load Data to import the data file. Right-click on the data module and attach a ScatterPlot. Add a BoundingBox and Axes to clarify the display.

Load the data file and attach ScatterPlot, BoundingBox, and Axes modules.
This data file uses a Transform module to scale the Z axis.

ScatterPlot of data file.
Four points in red define the desired bitmap position.

Load the bitmap image with the File | Load Data menu command. Right-click the data module and attach an OrthoImage module to display the bitmap.

Attach an OrthoImage module to display a bitmap image.

Insert a Transform module between the bitmap file and the OrthoImage to adjust the X, Y, and Z Scale to match the scale of the ScatterPlot. Specify the X and Y Translation to match the minimum X and Y coordinates. Add a 90 degree Rotationabout the X axis (Axis X set to 1) to rotate the bitmap to the vertical plane. This gets the image close to the ScatterPlot, but not yet aligned.

Insert a Transform module between the bitmap and the OrthoImage.

Set the Scale, Rotation, and Translation for the Transform module.

The Transform module settings get the bitmap close to the ScatterPlot.

Rather than attempt to calculate the complicated math needed to align the bitmap with the red registration points, attach another Transform module and use the Dragger tool to drag and rotate the image to the approximately correct location. By using a separate Transform module for this portion of the alignment, we can change settings without losing the settings made in the Transform 2 module.

Click the Show Dragger check box to enable the Dragger tool. Click on the OrthoImage and drag it to the desired position. If your data use large coordinates such as UTM meters, the Dragger may be a bit jumpy due to the use of single precision values in the OpenGL subsystem.

Drag the OrthoImage towards the ScatterPlot.

Once the OrthoImage is close to the ScatterPlot, change the angle by clicking on the green boxes at the sides of the Dragger tool. The Dragger changes to display ellipses in the XY and XZ planes. Drag the mouse pointer along the ellipse in one of the directions indicated by the orange arrows to change the rotation angle.

Click on the green cube at the side of the 
Dragger tool to activate the rotation controls.

The Dragger changes to show ellipses and orange arrows.
Drag the mouse along the ellipse to change the rotation angle.

Fine tune the position by changing the values within the Properties window for the Transform module.

Fine tune the position of the OrthoImage
in the Transform module Properties window.

OrthoImage lines up with the red calibration points.

Thanks to Mats Svensson and Anneli Palm at Tyréns AB for permission to use the files.


Updated March 9, 2017

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Please sign in to leave a comment.