Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

IMMerge™

3D Image Merging Software


© 1995–2020 InnovMetric Software Inc. All rights reserved. PolyWorks® is a registered
trademark of InnovMetric Software Inc. InnovMetric, PolyWorks|Inspector,
PolyWorks|Modeler, PolyWorks|Talisman, PolyWorks|Reviewer, IMAlign, IMMerge,
PolyWorks|DataLoop, PolyWorks|PMI+Loop, PolyWorks|AR, PolyWorks|ReportLoop, "The
Universal 3D Metrology Software Platform", "The Smart 3D Metrology Digital Ecosystem",
and "Interconnecting Hardware, Software and People" are trademarks of InnovMetric
Software Inc.

SmartGD&T is a trademark of Multi Metrics Inc. NX is a trademark or registered trademark of


Siemens Product Lifecycle Management Software Inc. or its subsidiaries in the United States
and in other countries. Teamcenter is a trademark or registered trademark of Siemens
Product Lifecycle Management Software Inc. or its subsidiaries in the United States and in
other countries. All other trademarks are the property of their respective owners.

This manual, as well as the software described in it, is furnished under license and may be
used or copied only in accordance with the terms of such license. The content of this
document is furnished for informational use only, and is subject to change without notice.
InnovMetric Software Inc. assumes no responsibility or liability for any errors or inaccuracies
that may appear in this document.

Except as permitted by such license, reproduction in whole or in part in any way without
written permission from InnovMetric Software is strictly prohibited.

IMMerge Reference Guide


2020/03/18
PolyWorks® Metrology Suite 2020
Contents

5 Introduction
5 Contents of the IMMerge Reference Guide
5 Related documentation
6 Technical support

7 1. Using IMMerge
8 1.1 Starting the IMMerge module from the Workspace Manager
8 1.1.1 Starting the Workspace Manager
8 1.1.2 Starting the IMMerge module
11 1.2 Using the IMMerge interface
11 1.2.1 Introducing the interface
11 1.2.2 Generating a polygonal model
12 1.2.3 Closing the interface
13 1.3 Presenting the basic parameters
13 1.3.1 The input IMAlign project
13 1.3.2 The output model name
13 1.3.3 The level of smoothing
13 1.3.4 The maximum distance between two overlapping surface areas
14 1.3.5 The surface sampling step
14 1.3.6 The standard deviation
15 1.4 Presenting the advanced parameters
15 1.4.1 Smoothing the generated high-resolution polygonal mesh
16 1.4.2 Reducing the number of triangles with a tolerance
16 1.4.3 Controlling the subdivision of the merging job
17 1.4.4 Optimizing low-curvature meshing
19 1.4.5 Managing the transition between 3D images
19 1.4.6 Configuring the memory manager
20 1.4.7 Merging using a workstation cluster
20 1.5 Merging color 3D images
20 1.6 The merging phase illustrated
21 1.6.1 Specifying the merge parameters
22 1.6.2 Visualizing the merging process
23 1.7 Transforming the display in the 3D scene
23 1.7.1 Rotating about the X and Y axes
24 1.7.2 Translating along the X and the Y viewing axes
24 1.7.3 Translating along the viewing Z axis
25 1.7.4 Rotating about the Z viewing axis
25 1.7.5 Zooming by delimiting a rectangular area

IMMerge Reference Guide 2020 3


Contents

27 1.8 Executing IMMerge from a macro script


28 1.9 Calling IMMerge from the command line
28 1.9.1 Calling IMMerge using the command line
30 1.9.2 Specifying the IMAlign project
30 1.9.3 Specifying the output model file name
30 1.9.4 Specifying the output model format
31 1.9.5 Specifying the maximum number of CPUs to use
31 1.9.6 Merging 3D images with color

32 2. Increasing performance using a cluster of computers


33 2.1 Introduction
33 2.2 Installing PolyWorks Metrology Suite IMMerge Agent on networked worksta-
tions
33 2.2.1 Installing PolyWorks Metrology Suite IMMerge Agent
34 2.2.2 Starting/stopping PolyWorks Metrology Suite IMMerge Agent
36 2.3 Using IMMerge in Cluster mode
36 2.3.1 Adding and removing IMMerge agents
36 2.3.2 Information displayed for IMMerge agents
38 2.3.3 Assigning the selected status to IMMerge agents
39 2.3.4 Saving changes made to the list of agents
39 2.3.5 Launching IMMerge using the selected agents
39 2.4 Conditions for optimal use

40 Glossary

IMMerge Reference Guide 2020 4


Introduction

The IMMerge Reference Guide is intended for users of the IMMerge™ module of the
PolyWorks Metrology Suite 2020. IMMerge is a software tool that merges a set of 3D
images into a unified polygonal mesh.

Contents of the IMMerge Reference Guide

This guide contains two chapters:

1. Using IMMerge
This chapter presents IMMerge, a fully automated software tool that merges the 3D
images from an IMAlign project into a global polygonal surface.

2. Increasing performance using a cluster of computers


This chapter presents the IMMerge option that allows using a cluster of computers to
optimize the merging task when merging large IMAlign projects.

Related documentation

The following documents offered in PDF format, available from the Help > Reference
Guides menu of the Workspace Manager, offer related information:

 The PolyWorks® Reference Guide presents the PolyWorks Metrology Suite, including
the Workspace Manager, and explains how to customize the user interface by means
of visual layouts. It also explains how to open modules from the Workspace Manager.
Finally, it describes the installation procedure for both node-locked and floating
license key files.

 The IMAlign™ Reference Guide describes IMAlign, a PolyWorks Metrology Suite


module used to acquire and align 3D point clouds with respect to each other.

All reference documentation can be accessed from the Workspace Manager. See its
Help > Reference Guides submenu.

IMMerge Reference Guide 2020 5


Introduction

Technical support

Report any problems, or send your suggestions, directly to InnovMetric Software at


www.innovmetric.com. The InnovMetric Software technical support team can also be
contacted by e-mail at support@innovmetric.com.

IMMerge Reference Guide 2020 6


Using IMMerge 1
The IMMerge module of the PolyWorks Metrology Suite is a completely automated software tool that allows
merging a set of aligned 3D images, in the form of an IMAlign project in a workspace, into a global surface
triangulation model. IMMerge only requires the setting of one intuitive geometric parameter. IMMerge can
merge any number of 3D images for any kind of object topology.

IMMerge is accessed from the Workspace Manager.

This chapter describes each parameter in the IMMerge interface, and the recommended values that are
automatically calculated based on the input IMAlign project.

IMMerge is also a command-line program. When called from the command line, the IMMerge module does
not open the Workspace Manager.

IMMerge Reference Guide 2020 7


Using IMMerge Starting the IMMerge module from the Workspace Manager

1.1 Starting the IMMerge module from the Workspace


Manager
The IMMerge module is started from the Workspace Manager. Note that the PolyWorks
Metrology Suite does not allow multiple instances of IMMerge, as merging is a
memory-intensive operation.

1.1.1 Starting the Workspace Manager

When the PolyWorks Metrology Suite is installed, two shortcuts to the PolyWorks
Metrology Suite are created. To start the Workspace Manager, either double-click the
PolyWorks Metrology Suite shortcut on your desktop, or follow this procedure:

1. Press the Start button on the Windows toolbar.

2. Point to the (All) Programs folder.

3. Point to the PolyWorks Metrology Suite folder.

4. Click PolyWorks Metrology Suite.

The Workspace Manager opens.

For complete information concerning the Workspace Manager, see the “The Workspace
Manager” chapter of the PolyWorks Reference Guide. It can be accessed by choosing
the Help > Reference Guides > Workspace Manager menu item from the Workspace
Manager menu bar.

The Workspace Manager interface is shown in Figure 1.1.

1.1.2 Starting the IMMerge module

There are several ways to open the IMMerge module in the Workspace Manager that
include specifying an input IMAlign project that is in the active workspace:

 Select an IMAlign project and click the Start IMMerge button on the Utility Modules
toolbar.

 Drag an IMAlign project onto the Start IMMerge button on the Utility Modules
toolbar.

 Right-click an IMAlign project and click Merge with IMMerge on the shortcut menu.

You can also open the IMMerge module without specifying an input IMAlign project:

IMMerge Reference Guide 2020 8


Using IMMerge Starting the IMMerge module from the Workspace Manager

Figure 1.1 The Workspace Manager interface.

 Click the Start IMMerge button on the Utility Modules toolbar.

The IMMerge interface is shown in Figure 1.2.

IMMerge Reference Guide 2020 9


Using IMMerge Starting the IMMerge module from the Workspace Manager

Figure 1.2 The IMMerge interface.


3D scene

Parameter window Text feedback area

IMMerge Reference Guide 2020 10


Using IMMerge Using the IMMerge interface

1.2 Using the IMMerge interface


This section describes the IMMerge interface and explains how to use it. The
parameters in the interface are explained in detail in following sections.

1.2.1 Introducing the interface

The IMMerge interface, shown in Figure 1.2, is composed of three areas. The first area,
the parameter window, controls the merging process:

 The parameter window lets you specify parameters used to generate a polygonal
model from the input IMAlign project; most items already display values calculated
using values in the input IMAlign project.

The two other areas are optional and are controlled by items in the Advanced section
of the parameter window:

 When the Show 3D progress check box is selected, the 3D scene is open. The
aligned images are displayed using the Point drawing type. You can transform the 3D
scene using standard PolyWorks techniques. When the images are being processed,
the progress is shown using a simple color scheme: the part of the model that has not
been processed is shown in red, the part of the model being processed is displayed
in yellow, and the part of the model that has been processed is shown in green.

 When the Show text output check box is selected, the text feedback area is
displayed. IMMerge reports the progress of the meshing process in its text feedback
window. After the initialization phase, PolyWorks prints one line per merging job, and
provides real-time status information for each merging job, possibly distributed over
several processors. If the merging operation is not successful, the information
contained in this area can be used for diagnostic purposes.

The title bar displays the name of the module as well as the specified input IMAlign
project and the name of its workspace.

1.2.2 Generating a polygonal model

On starting the IMMerge module, you may have specified an IMAlign project. If not, you
can drag an IMAlign project from the active workspace onto an already open IMMerge
interface. If the IMAlign project is not in a workspace, choose the File > Import menu
item on the Workspace Manager menu and import it in the active workspace, and then
drag it onto the IMMerge interface. See Chapter 3 The Workspace Manager of the
PolyWorks Reference Guide for more information on importing objects into a
workspace.

When an IMAlign project is provided to IMMerge for processing, the Workspace


Manager makes a copy of the project and gives the copy to IMMerge to work with. This
frees up the IMAlign project for other users who may wish to make use of it. IMMerge

IMMerge Reference Guide 2020 11


Using IMMerge Using the IMMerge interface

reads information from the copy of the IMAlign project and automatically sets values
for the parameters that control the quality of the polygonal model. You may accept the
recommended values or specify different values. The parameters are described in the
sections that follow.

Once the model creation parameters have been specified, you can tell the Workspace
Manager to open the PolyWorks|Modeler module on closing the IMMerge module by
selecting the Open in PolyWorks|Modeler after a successful merge check box.

To launch the merging operation, press the Start button. IMMerge uses the points in
the IMAlign project that are not ignored for merging (for more information, see Section
8.5.2 Ignoring 3D image points of the IMAlign Reference Guide). IMMerge does not
consider the status of the 3D images (i.e., used or ignored).

Progress can be followed in the 3D rendering window, in the text feedback area, and by
consulting the progress bar in the IMMerge progress group box. When the Cluster
mode check box is selected, the text feedback area provides progress information for
each used agent. The operation is completed when the Start button becomes available
again. The last line in the text feedback area should read “IMMerge has ended
successfully”.

To restart the current merging operation at any time using different parameters, press
the Stop button, specify new values, and press the Start button again. Note that on
pressing the Stop button, a message box is displayed asking for a confirmation. Press
the Yes button to confirm stopping the operation, or press the No button to allow the
processing in progress to continue.

1.2.3 Closing the interface

Closing the module is done by pressing the Close button. The polygonal model is
saved under the Polygonal Models branch of the workspace associated with the
IMMerge module using the name specified in the Output model name text box. By
default, the Workspace Manager uses its own object naming scheme. The model
format may be InnovMetric Software’s POL (all images have color information) or PQK
(no color) format. Note that the parameters used to generate the polygonal model are
automatically added to the model’s notes.

If the Open in PolyWorks|Modeler after a successful merge check box is selected,


the Workspace Manager opens the PolyWorks|Modeler module which automatically
imports the new polygonal model.

IMMerge Reference Guide 2020 12


Using IMMerge Presenting the basic parameters

1.3 Presenting the basic parameters


On starting the IMMerge module, certain values are read from the input IMAlign
project. As a result, recommended values can be calculated for the parameters in the
interface. You can change the parameter values. This section describes each parameter
and explains how the recommended value is calculated.

1.3.1 The input IMAlign project

IMMerge computes a high-resolution polygonal mesh from a set of 3D images aligned


by IMAlign and saved as an IMAlign project. You may have launched IMMerge while
specifying an input IMAlign project in a workspace; if not, drag the desired IMAlign
project from the active workspace to the open IMMerge interface. The name of the
input IMAlign project appears in the Input IMAlign Project text box of the IMMerge
interface.

Note that if you want to process a standalone IMAlign project, it must be imported into
a workspace by way of the Workspace Manager File > Import to make it available to
IMMerge. A standalone IMAlign project is a project exported to a location outside of a
workspace.

1.3.2 The output model name

The output model is written in InnovMetric Software’s POL or PQK (no color) format
under the Polygonal Models branch in the workspace where the IMMerge module was
opened. The Workspace Manager proposes a default name in the Output model name
text box. You can specify another name. The following characters cannot be used in the
name of an object saved to a workspace: “/” and “\”.

1.3.3 The level of smoothing

IMMerge offers the possibility of smoothing the generated high-resolution polygonal


mesh to reduce the impact of digitizing noise. The Smoothing level list box offers four
levels of smoothing: Low, Medium, High, and None. To understand this parameter in
detail, refer to Section 1.4.1 Smoothing the generated high-resolution polygonal mesh.

1.3.4 The maximum distance between two overlapping surface areas

In the modeling philosophy of PolyWorks, there must be a minimum amount of overlap


between images in a set of 3D images. For instance, IMAlign can only compute
alignment parameters for surface areas measured by more than one 3D image. In
IMAlign, a maximum distance parameter defines an acceptable maximum distance

IMMerge Reference Guide 2020 13


Using IMMerge Presenting the basic parameters

Figure 1.3 Two scans overlap in this illustration. The maximum distance parameter permits the
detection and the elimination of the overlap. The resulting surface would be situated
between the two scans.

between a 3D image point and another 3D image. The maximum distance parameter
therefore acts as a threshold used in detecting overlaps in the set of 3D images.

IMMerge has the same parameter, the Max distance text box of the Meshing group
box. The Max distance defines a maximum acceptable 3D distance between two
overlapping surface areas belonging to two distinct 3D images (see Figure 1.3). It is
used by IMMerge to detect overlaps in the set of 3D images. This detection is essential
in order to reconstruct a nonredundant surface representation where each part of the
measured object is only described once. The value should be sufficiently large to detect
all actual surface overlaps.

Max distance is automatically set to the value of the maximum distance parameter in
the IMAlign project. The Max distance value is specified in the same units as the 3D
images.

1.3.5 The surface sampling step

In the surface models generated by IMMerge, the density of mesh vertices is nearly
constant, as can be seen in Figure 1.4. The density is determined by the Surface
sampling step text box of the Meshing group box, which defines the surface sampling
step of the IMMerge models. The step value must be specified in the same units as the
3D images.

The Surface sampling step parameter displays the average value of the interpolation
step for each 3D image file in the IMAlign project.

1.3.6 The standard deviation

The Standard deviation value is obtained from the input IMAlign project if a best-fit
alignment operation was performed, even a best-fit for evaluation purposes only.

IMMerge Reference Guide 2020 14


Using IMMerge Presenting the advanced parameters

Figure 1.4 The image on the left shows two overlapped alignment grids coming from different
directions. Once IMMerge has been applied (image on the right), the density of the
vertices in the mesh is nearly constant.

If an alignment operation was not performed, the default value 0.05 is proposed. You
can replace this value with the standard deviation of the digitizer () that captured the
scans. This value becomes the new default value the next time you use IMMerge.

1.4 Presenting the advanced parameters


This subsection describes the parameters found in the Advanced section of the
interface.

1.4.1 Smoothing the generated high-resolution polygonal mesh

IMMerge offers the possibility of smoothing the generated high-resolution polygonal


mesh to reduce the impact of digitizing noise. The smoothing algorithm can preserve
edges and regions of high curvature.

Two items control the smoothing algorithm:

 The Radius text box of the Smoothing group box lets you specify a 3D distance (a
sphere) around a vertex for the smoothing filter (see Figure 1.5). A larger radius
increases the smoothing effects, and allows more noise reduction.

 The Smoothing level list box offers three choices: Low, Medium, and High, which
set the Radius value to, respectively, 2, 3, or 4 times the Surface sampling step.

The Tolerance text box of the Smoothing group box lets you define a maximum
deviation between a smoothed vertex and its original position (see Figure 1.6). The
tolerance should be set to a value large enough to filter the data in smooth regions, but
small enough to guarantee the preservation of edges. The value is automatically set to
three standard deviations, and guarantees a good preservation of the edges.

IMMerge Reference Guide 2020 15


Using IMMerge Presenting the advanced parameters

Figure 1.5 Illustration of the width of a smoothing radius with a value of roughly two times the
surface sampling step.

Smoothing
Radius
Surface sampling step

Smoothing is only performed if a radius larger than zero is specified. Note that
smoothing is applied prior to applying the optional polygon reduction process.

1.4.2 Reducing the number of triangles with a tolerance

IMMerge offers a tolerance parameter that allows you to reduce the generated high-
resolution polygonal mesh. For very large models, such as full-scale vehicles and
aerospace parts, the use of a small surface sampling step and a merging tolerance
results in accurate edges and features, while maintaining a reasonable number of
triangles in the generated polygonal models.

The Reduction tolerance text box lets you specify a tolerance. A value of 1/5 the
digitizer’s standard deviation is automatically calculated. IMMerge will reduce the
number of triangles, but not lose definition (see Figure 1.7).

1.4.3 Controlling the subdivision of the merging job

Merging large sets of 3D images requires a lot of system memory. To reduce the
amount of RAM needed to perform the merging task, InnovMetric Software uses a
strategy that subdivides the global merging job into smaller, more manageable local
merging jobs.

IMMerge Reference Guide 2020 16


Using IMMerge Presenting the advanced parameters

Figure 1.6 This is a side view of the smoothing process. The point A at the center of the
smoothing radius will move towards the average position of the other points within
the smoothing radius, but will never move by more than the user-specified
smoothing tolerance distance.
(a) Before smoothing A (b) After smoothing A

Smoothing radius

A
Smoothing
tolerance
A

By default, IMMerge estimates the number of triangles that will be produced and
subdivides the global merging job until each local merging job creates less than
500,000 triangles for every 128 MB of RAM. For example, if a system has 512 MB of RAM,
subdivision would occur until each local triangulated model contains less than 2 million
triangles.

IMMerge provides two parameters to change this default behavior in the Subdivision
group box:

 You can directly specify the maximum number of triangles that should be generated
by each merging job. First choose # Triangles per Job in the list box, and then
specify a value in the combo box that follows or accept the Default value.

 You can directly specify the number of merging jobs. First, choose # Merging Jobs
in the list box, and then specify a value in the combo box that follows or accept the
Default value.

If IMMerge runs out of memory using the default subdivision strategy, IMMerge
automatically quadruples the number of merging jobs and restarts. This solves the
problem in most cases. IMMerge only does this once.

The number of merging jobs is reported early on in the merging process by the
message “The data will be merged using N iterations”, displayed in the text progress
window. The Show text output check box must be selected to see the message.

1.4.4 Optimizing low-curvature meshing

IMMerge offers the possibility of specifying an additional sampling step to be applied


only to areas of low curvature by selecting the Optimized low-curvature meshing
check box. The resulting mesh in areas of low curvature is smoother.

IMMerge Reference Guide 2020 17


Using IMMerge Presenting the advanced parameters

Figure 1.7 The polygon reduction algorithm is applied to an initial dense mesh. The triangles
that compose the curved edges of the piece are preserved, while the number of
triangles is reduced in the flat areas.

Initial mesh - dense Final mesh - reduced

e
edg
ved
Cur

e
e dg
ved
Cur

When the Optimized low-curvature meshing check box is cleared, the Surface
sampling step in the Meshing group box is applied to all areas to be meshed. When
the Optimized low-curvature meshing check box is selected, a Surface sampling
step text box becomes available to specify the step to apply in low-curvature areas.
This step is always forced to be larger than the step in the Meshing group box:

 Initially, a value is automatically calculated as four times the value of the step in the
Meshing group box.

 A value can also be specified manually. However, only values greater than or equal to
twice the value of the step in the Meshing group box are allowed.

 If the value of the step in the Meshing group box is changed, the value is
automatically reset to four times the new value in the Meshing group box.

Note that the Optimized low-curvature meshing check box is cleared by default.

IMMerge Reference Guide 2020 18


Using IMMerge Presenting the advanced parameters

Figure 1.8 Side view illustration of transition between 3D images in area of overlap without
blending (c) and with blending (d).

(a) Two 3D images with overlap.

(b) Overlap as averaged mesh.

(c) Transition without blending.

(d) Transition with blending over


distance d. d
d

1.4.5 Managing the transition between 3D images

In areas of 3D image overlap, IMMerge first resolves the overlap by calculating an


average mesh and then connects this mesh to the corresponding 3D images. This
allows a transition between 3D images when merging in IMMerge. The mesh can be
connected directly, which may cause an undesired step effect, or it may be connected
over a transition distance using the blending option, resulting in a much smoother
mesh. See Figure 1.8 for an illustration of resolving 3D image overlap when merging;
note that the distance between the two overlapping images has been greatly
exaggerated to demonstrate the blending parameter.

The 3D images transition group box offers the Blend check box that enables using
blending. The blending distance is entered by means of the Distance from boundary
spin box as a factor of the Surface subsampling step. Whole numbers ranging from 3
to 20 are offered. The default value is 10.

1.4.6 Configuring the memory manager

A memory manager has been implemented in IMMerge which surveys IMMerge and
intercepts memory allocation commands. Only the memory manager is allowed to
request memory space from the system. The memory is obtained from the system in
blocks of the same size. The memory manager then makes this memory space available
for internal IMMerge routines. By default, the size of memory blocks is set to 200 MB.
You can modify this default value by specifying an integer value that represents the
block size in megabytes, in the Block size text box of the Memory management
group box. The recommended value is 20 percent of RAM on computers with one CPU,
and 10 percent of RAM on computers with two CPUs.

IMMerge Reference Guide 2020 19


Using IMMerge Merging color 3D images

The memory manager also has the ability to recuperate memory space that has been
freed by IMMerge routines. Once the limit of the last memory block has been reached,
the memory manager checks the amount of memory space that has been previously
freed. If that amount is larger than a given threshold, the manager then compacts the
memory blocks by sequentially moving the pointers, and placing them side by side
starting from the first block. Otherwise, a new block is obtained from the system. This
threshold is important since it avoids compacting memory when there is not enough
memory space left. By default, the threshold is set to 20 MB. This default value can be
modified by specifying an integer value, that represents a compaction threshold in
megabytes, in the Compaction text box of the Memory management group box.

If IMMerge stops processing because the memory block size is too small, IMMerge
automatically quadruples the number of merging jobs and restarts. This solves the
problem in most cases. IMMerge only does this once.

1.4.7 Merging using a workstation cluster

IMMerge offers a cluster mode that enables important gains in processing efficiency by
distributing the merging task to available workstations on a local area network. Each
workstation to be used in this way must have PolyWorks Metrology Suite IMMerge
Agent installed on it.

To enable this mode, select the Cluster mode check box. On pressing the Manage
Agents button, the IMMerge Agent Manager is displayed to manage the agents. For
more information on PolyWorks Metrology Suite IMMerge Agent and on configuring
the cluster mode, see Chapter 2 Increasing performance using a cluster of computers.

1.5 Merging color 3D images


If all 3D images contained in the input IMAlign project are color 3D images, IMMerge
automatically generates an output model with color-per-vertex information. The
output model then consists of a surface triangulation with RGB colors defined for each
triangulation vertex in InnovMetric Software’s POL format.

1.6 The merging phase illustrated


This section describes how parameters would be set for a typical merging job, and
provides illustrations of a real model at each stage of the merging process.

IMMerge Reference Guide 2020 20


Using IMMerge The merging phase illustrated

1.6.1 Specifying the merge parameters

After reading the input IMAlign project, IMMerge automatically sets the following
values in its interface:

Operation Parameter Calculated/recommended value

The value of the IMAlign project’s


maximum distance parameter (if you wish
Max distance
to change this value, enter a value that is at
least 10.

The average of the interpolation step of


each 3D image in the project; IMMerge
Surface sampling step
rounds the computation to two significant
numbers.
Meshing
The digitizer sigma (). If an IMAlign project
is loaded in IMMerge, the value is the
standard deviation calculated by the best-
fit operation in IMAlign appears
Standard deviation
automatically. If a value must be entered
manually, enter the value provided by the
manufacturer of the device used to capture
the scans in the project.

Low= 2 * Surface sampling step


Radius (Smoothing
Medium= 3 * Surface sampling step
Smoothing level list box)
High= 4 * Surface sampling step

Tolerance 3

Reduction Reduction tolerance s/5

Press the Start button to invoke the merging operation.

IMMerge Reference Guide 2020 21


Using IMMerge The merging phase illustrated

1.6.2 Visualizing the merging process

The merging process consists of three steps: Meshing (best-fit) the digitized points,
smoothing the mesh, and reducing the number of triangles. The table that follows
illustrates the results.

1. Meshing. The best-fit meshing of the digitized points using the Max distance and
the Surface sampling step parameters. The visual appearance of the model to the left
is somewhat rugged due to noise in the digitizer data.

2. Smoothing. The meshed is smoothed using the smoothing parameters, Radius


and Tolerance, thereby eliminating the noise. While the visual appearance has
become more smooth (left), the triangle distribution (right) has not changed.

IMMerge Reference Guide 2020 22


Using IMMerge Transforming the display in the 3D scene

3. Reducing. The number of triangles is reduced (Reduction tolerance parameter).


While the triangle distribution has changed in the image to the right from the one in
Step 2, the visual appearance in the respective images to the left has not. This is due
to the use of a very small value that introduces minute differences between the
original and the reduced meshes.

1.7 Transforming the display in the 3D scene


All six degrees of freedom needed to reach any desired position and orientation in 3D
space can be accessed using the mouse in a very intuitive manner. Object-centered
methods allow moving freely in 3D space. The mouse allows picking a 3D object and
then rotating and translating the object. Using only the mouse, three translations and
two rotations can be performed. One further rotation can be performed using the
SHIFT key. Each operation is described in the subsections that follow.

1.7.1 Rotating about the X and Y axes

To rotate about the X axis and the Y axis viewing axes, click and hold the left mouse
button inside the 3D scene. Rotations are performed by moving the mouse in the
desired directions. See Figure 1.9 (a). When a click occurs over a screen pixel belonging
to a 3D surface, the (X, Y, Z) coordinates of the point are computed. The 3D scene is then
rotated about the 3D location. If the click occurs over a background pixel instead of a
surface pixel, the rotations are performed about the center of the bounding box. While
rotating about the X axis and the Y axis, the pointer icon changes to the one shown to
the right.

Rotations can also be constrained to a vertical or a horizontal viewing axis by pressing


and holding down the SHIFT key before clicking. The decision to use the horizontal or
the vertical axis is determined by the first 10-pixel displacement made with the mouse -
if the displacement is close to the vertical axis, the rotation is performed about the
horizontal axis, and if the displacement is close to the horizontal axis, the rotation is
performed about the vertical axis. The pointer icon changes slightly, keeping only its
vertical component or only its horizontal component.

IMMerge Reference Guide 2020 23


Using IMMerge Transforming the display in the 3D scene

Figure 1.9 Using the left and middle mouse buttons to change the position and orientation of a
3D object. In (a), the left mouse button is used to rotate the 3D object about the X axis
and the Y axis. In (b), the middle mouse button is used to translate the 3D object along
the X axis and the Y axis.

Z
(a) -X (b) +Y

-Y +Y -X +X

+X -Y

1.7.2 Translating along the X and the Y viewing axes

To translate along the X axis and the Y axis, click and hold the middle mouse button.
Translations along the X axis or the Y axis are performed by moving the mouse in the X
or Y directions respectively, inside the 3D scene. See Figure 1.9 (b). While translating
along the X axis and the Y axis, the pointer icon changes to the one shown to the right.

1.7.3 Translating along the viewing Z axis

Translating along the Z axis is equivalent to a zoom operation. This translation is


illustrated in Figure 1.10 (a). Click and hold the right mouse button, then move the
mouse forward and backward. When the mouse is moved forward, a positive
translation is performed on the 3D object, and the scene moves nearer to the user.
When the mouse is moved backward, a negative translation is performed on the 3D
object, and the scene moves farther away from the user. While translating along the Z
axis, the pointer icon changes to the one shown to the right.

Note that in the case of a mouse that has a wheel button as the middle button:

IMMerge Reference Guide 2020 24


Using IMMerge Transforming the display in the 3D scene

 Rotating the wheel forward and backward will cause the 3D scene to, respectively,
zoom in and zoom out using the current pointer position in the 3D scene.

 Pushing and holding down the SHIFT key while rotating the wheel forward and
backward will cause the 3D scene to, respectively, zoom in and zoom out using the
center of the 3D scene.

The pointer does not change when zooming with the wheel button.

1.7.4 Rotating about the Z viewing axis

Press and hold down the SHIFT key to access this operation. Rotating about the Z axis is
performed by clicking and holding the right mouse button, then moving the mouse in
the right or left direction. See Figure 1.10 (b). While rotating about the Z axis, the
pointer icon changes to the one shown to the right.

It is also possible to rotate the 3D scene by increments of 90° about the viewing axis.
The rotation is performed by holding down the SHIFT key and quickly right-clicking. If
the right mouse button is held down for less than half a second, a counterclockwise
rotation of 90° is applied about the rotation axis. If the right mouse button is still down
after half a second, the standard unconstrained rotation mode is activated.

1.7.5 Zooming by delimiting a rectangular area

In addition to zooming using the Z axis translation method, zooming can be performed
on an object part by delimiting a rectangular area:

1. Press and hold the SHIFT key.

2. Middle-click to create a first rectangle corner.

3. Drag the pointer to the opposite rectangle corner.

4. Release the middle mouse button.

A zoom will operate on the delimited area. While zooming on the delimited area, the
pointer icon changes to the one shown to the right.

IMMerge Reference Guide 2020 25


Using IMMerge Transforming the display in the 3D scene

Figure 1.10 Using the right mouse button to change the position and orientation of the 3D
object. In (a), the right mouse button is used to translate the 3D object along the Z
axis. In (b), the right mouse button enables rotation about the Z axis when the SHIFT
key is pressed.

X
Z
+Z + Shift key
(a) (b)

-Z +Z

-Z

IMMerge Reference Guide 2020 26


Using IMMerge Executing IMMerge from a macro script

1.8 Executing IMMerge from a macro script


A merging task can be performed using the MODULE command executed in the Macro
Script Editor of the Workspace Manager. For example, the command that follows
specifies merging the current workspace’s Statue IMAlign project and outputting a
polygonal model called StatueOfLady in POL format. The commas represent using
certain default parameters; specific values could have been provided.

VERSION "5.0"
MODULE IMMERGE MERGE_IMALIGN_PROJECT(,"Statue",,,"StatueOfLady.pol")

For more information, see the section on Section 3.9 Running macros on opening and
on closing a workspace in the PolyWorks Reference Guide.

IMMerge Reference Guide 2020 27


Using IMMerge Calling IMMerge from the command line

1.9 Calling IMMerge from the command line


When the IMMerge module is called using the command line, you must specify the
values for the desired parameters, as they are not automatically calculated. For
instructions on how to calculate recommended values, see Section 1.6.1 Specifying the
merge parameters. Note that there are additional parameters that can be specified on
the command line. They deal with operations that you normally would do using
functions offered by the Workspace Manager, such as choosing an output file format.

Note that immerge.exe must be executed from the bin subfolder of a PolyWorks
Metrology Suite installation folder.

1.9.1 Calling IMMerge using the command line

A general call to IMMerge has the following format (note that the optional parameters
-ntpm and -subdiv are mutually exclusive):

immerge project_name

-fo output_format [-o output_model]

-snt threshold

-step sampling_step

[-smoothrad radius]

[-smoothtol tolerance]

[-tol tolerance]

[-blend_dist distance]

[-ntpm nb_triangles_per_merging]

[-memblock MB] [-memcompact MB]

[-verbose]

[-cluster_agents list]

[-lowcurv_step units]

[-maxcpu nb_of_cpu_used]

immerge project_name

-fo output_format [-o output_model]

-snt threshold

IMMerge Reference Guide 2020 28


Using IMMerge Calling IMMerge from the command line

-step sampling_step

[-smoothrad radius]

[-smoothtol tolerance]

[-tol tolerance]

[-blend_dist distance]

[-subdiv nb_merging_jobs]

[-memblock MB] [-memcompact MB]

[-verbose]

[-cluster_agents list]

[-lowcurv_step units]

[-maxcpu nb_of_cpu_used]

The table that follows indicate the correspondence between the IMMerge interface
items and the IMMerge command-line parameters:

Interface items Command-line parameters

Input IMAlign project (contained in an project_name (folder on disk


open workspace) containing an IMAlign project)

Meshing – Max distance –snt

Meshing – Surface sampling step –step

Reduction tolerance –tol

3D image transitions – Distance from –blend_dist


boundary

Smoothing – Radius –smoothrad

Smoothing – Tolerance –smoothtol

Output model name –o

Memory management – Block size –memblock

Memory management – Compaction –memcompact

Subdivision – list box (# Triangles per Job) –ntpm

Subdivision – list box (# Merging Jobs) –subdiv

Show text output –verbose

Cluster mode –cluster_agents

IMMerge Reference Guide 2020 29


Using IMMerge Calling IMMerge from the command line

Interface items Command-line parameters

Optimized low-curvature meshing – –lowcurv_step


Surface sampling step

Note that the command line offers the following switches not offered in the interface:

 -fo: specifies the output model format (see Section 1.9.4 Specifying the output
model format).

 -maxcpu: specifies the maximum number of CPUs to use when merging locally (see
Section 1.9.5 Specifying the maximum number of CPUs to use).

1.9.2 Specifying the IMAlign project

The project_name item represents the name of a folder containing an IMAlign project.
Prior to version 9 of the PolyWorks software, which saw the introduction of the concept
of workspaces and the Workspace Manager, IMAlign projects were saved in standard
directories.

To mesh an IMAlign project contained in a workspace, first export it to disk and then
use the command line to create a polygonal model.

1.9.3 Specifying the output model file name

By default, the output model is written inside the IMAlign project folder, in a file called
model.fmt, where fmt is the specified output model format.

To change this behavior, specify an absolute path for the output model using the -o
(output model) command-line parameter.

1.9.4 Specifying the output model format

Specify an output polygonal format which will be used to write the final output model
using the -fo (output format) command-line parameter.

See Figure 1.11 for the formats offered by IMMerge.

IMMerge Reference Guide 2020 30


Using IMMerge Calling IMMerge from the command line

Figure 1.11 The list of polygonal output formats offered by IMMerge.

1.9.5 Specifying the maximum number of CPUs to use

It is possible to specify the maximum number of CPUs to use when performing a merge
operation locally (i.e., not using the cluster mode). The -maxcpu command-line
parameter allows specifying the value.

Note the following:

 If a negative value or 0 are specified, an error message is displayed.

 If the number is larger than the number of CPUs of the workstation, the actual
number for the workstation is used.

1.9.6 Merging 3D images with color

If all 3D images contained in the input IMAlign project are color 3D images, IMMerge
automatically generates an output model with color-per-vertex information. The
output model then consists of a surface triangulation with RGB colors defined for each
triangulation vertex. Note that some polygonal formats do not support the
specification of vertex colors. InnovMetric Software’s POL format, the Inventor format,
and the VRML format all support the generation of polygonal models with color-per-
vertex information.

IMMerge Reference Guide 2020 31


Increasing
performance using a
cluster of computers 2
The performance of IMMerge is resource dependent. To accelerate the processing, IMMerge can make use of
the resources of specified workstations that are available through a local area network. This mode is called
Cluster mode. To enable a workstation to receive a local merging task from IMMerge, it must have the
PolyWorks Metrology Suite IMMerge Agent, a Windows Service, installed on it.

IMMerge Reference Guide 2020 32


Increasing performance using a cluster of computers Introduction

2.1 Introduction
Cluster mode allows a merging task launched by a host workstation (has the PolyWorks
Metrology Suite installed and a valid license key for IMMerge) to be distributed to other
networked workstations that have PolyWorks Metrology Suite IMMerge Agent installed
on them. If the host workstation is to participate in the processing, it must have
PolyWorks Metrology Suite IMMerge Agent installed on it as well.

The merging task is subdivided and sent out to workstations that are open and have
PolyWorks Metrology Suite IMMerge Agent. Each workstation will execute its task and
return the results to the host workstation. A user does not have to be logged onto the
workstation for the agent to function.

2.2 Installing PolyWorks Metrology Suite IMMerge Agent on


networked workstations

2.2.1 Installing PolyWorks Metrology Suite IMMerge Agent

PolyWorks Metrology Suite IMMerge Agent is included in the PolyWorks Metrology


Suite. It must be installed on networked workstations that will participate in merges
launched by a workstation that has the PolyWorks Metrology Suite installed and a valid
IMMerge license key. Log in as an Administrator user to install PolyWorks Metrology
Suite IMMerge Agent. Note the following:

 PolyWorks Metrology Suite IMMerge Agent can be installed on workstations where


the PolyWorks Metrology Suite is not installed.

 PolyWorks Metrology Suite IMMerge Agent does not require a license key. Rather, it
uses the one from the host computer that launches the merging job.

 PolyWorks Metrology Suite IMMerge Agent itself requires a very small quantity of
disk space. However, when it is processing its task, it may require several hundred
MBs of disk space.

PolyWorks Metrology Suite IMMerge Agent should not be installed on low-


performance workstations. The time required to do a merge is determined in large part
by the slowest participating workstation.

To allow the communication between IMMerge and its agents in the Windows firewall:

1. Open the Control Panel and select Windows Firewall.

IMMerge Reference Guide 2020 33


Increasing performance using a cluster of computers Installing PolyWorks Metrology Suite IMMerge Agent on
networked workstations

2. According to the operating system installed on the workstation, proceed as follows:

Operating system Procedure

• Click Allow a program or feature through Windows


Windows 7 or Firewall.
Windows 8 • Click Change settings.
• Click Allow another program.

3. Click Browse, then browse for the folder in which the IMMerge agent is located and
choose “immerge_agent.exe”.

4. For Windows 7 or Windows 8, click Add to add the program in the list of Allowed
programs and features. Then, make sure that the Domain, Home/Work (Private),
and Public options are enabled.

5. Click OK.

2.2.2 Starting/stopping PolyWorks Metrology Suite IMMerge Agent

PolyWorks Metrology Suite IMMerge Agent is installed as a Windows Service. Its


Startup Type is set to Automatic. Each time the workstation is rebooted, IMMerge is
automatically started and waiting for a call from a host workstation.

To deactivate the agent:

1. Click Start, Control Panel, Administrative Tools, and Services. The Services window
displays (see an example of this window under Windows 7 in Figure 2.1).

2. Choose InnovMetric IMMerge Agent in the list.

3. Click Stop the service to the left in the window.

To reactivate the agent:

1. Click Start, Control Panel, Administrative Tools, and Services.

2. In the window displayed, choose the InnovMetric IMMerge Agent in the list.

3. Click Restart the service to the left in the window.

IMMerge Reference Guide 2020 34


Increasing performance using a cluster of computers Installing PolyWorks Metrology Suite IMMerge Agent on
networked workstations

Figure 2.1 The Services window that enables stopping and starting PolyWorks Metrology Suite
IMMerge Agent on a workstation.

IMMerge Reference Guide 2020 35


Increasing performance using a cluster of computers Using IMMerge in Cluster mode

2.3 Using IMMerge in Cluster mode


Using IMMerge in Cluster mode involves creating a list of IMMerge agents and selecting
certain or all agents. This is done using the IMMerge Agent Manager dialog box, shown
in Figure 2.2, which is displayed by pressing the Manage Agents button in the
IMMerge interface.

Once IMMerge agents have been specified, it is possible to launch a merge operation
that uses the selected agents which constitute the cluster.

2.3.1 Adding and removing IMMerge agents

The Edit menu of the IMMerge Agent Manager offers items that allow adding/removing
IMMerge agents to/from the IMMerge agents list box:

Add New
Creates an empty entry in the list. Specify the name or IP address of a computer on
the network and press the ENTER key. The agent is automatically added to the list.
An attempt to communicate with the specified agent is made and if successful,
information concerning the agent is displayed and the agent is selected. The
default shortcut is the INSERT key.

Delete
Deletes the agent that is selected in the list. If no agent is selected, choosing this
menu item a first time selects all agents in the list, and choosing this menu item a
second time will delete all selected agents. The default shortcut is the DELETE key.

The Edit menu also offers an item to change the address of an IMMerge agent:

Change Address
Allows you to change the address of the selected IMMerge agent. Once a new
name is specified, an attempt is made to query the agent. The default shortcut is
the F2 key.

2.3.2 Information displayed for IMMerge agents

The IMMerge agents list box offers the following detailed information regarding each
agent:

Address
A column that lists the agents. The name corresponds to the computer’s name or
its IP address.

IMMerge Reference Guide 2020 36


Increasing performance using a cluster of computers Using IMMerge in Cluster mode

Figure 2.2 The dialog box that allows you to specify IMMerge agents installed on networked
workstations.

Agent name
A column that provides each agent’s name, which generally corresponds to the
computer’s name on the network.

Status
A column that provides each agent’s status. The following statuses are possible:

Status Description

Operational Indicates that the agent is responding and is available.

Indicates that the PolyWorks Metrology Suite IMMerge


Agent version used by the agent and listed under the
Wrong version
Agent version column is too old. The agent becomes
unavailable until a more recent version is installed.

Indicates that the agent is not responding. Either


Not responding PolyWorks Metrology Suite IMMerge Agent is not
installed or not started, or the address is incorrect.

Indicates that the operating system of PolyWorks


Incompatible Metrology Suite IMMerge Agent is incompatible with
the host operating system.

CPU
A column that provides information on the processors available on the agent
computer. By default, PolyWorks Metrology Suite IMMerge Agent is set to use only
one processor.

IMMerge Reference Guide 2020 37


Increasing performance using a cluster of computers Using IMMerge in Cluster mode

CPU availability
A column that provides the amount of processing capabilities available on the
agent computer. If 0% is specified, no CPU is available. If 100% is specified, the
agent’s CPU is fully available.

Total RAM
A column that indicates the total physical memory for the agent.

Free RAM
A column that indicates the amount of physical memory available for the agent.

Free HD
A column that indicates the amount of disk space available for the agent.

System
A column that indicates on which operating system the agent computer is
running. This information is relevant when the status is set to Incompatible.

Agent version
A column that indicates which version of PolyWorks Metrology Suite IMMerge
Agent is installed. This information is relevant when the status is set to Wrong
version.

List information can be updated by choosing the Refresh item on the View menu of the
IMMerge Agent Manager; the default shortcut is the F5 key. The list can be sorted by
any column by clicking its header, and the width of each column can be determined by
dragging its right separator.

2.3.3 Assigning the selected status to IMMerge agents

When an agent is added successfully to the IMMerge agents list box, it is automatically
selected.

The Edit menu of the IMMerge Agent Manager offers two items that affect the
selected status of the IMMerge agents in the list:

Select Available Agents


Selects all IMMerge agents that are available (i.e., status is Operational).

Deselect All Agents


Deselects all IMMerge agents.

It is also possible to select IMMerge agents manually by selecting their check box under
the Address column.

IMMerge Reference Guide 2020 38


Increasing performance using a cluster of computers Conditions for optimal use

2.3.4 Saving changes made to the list of agents

When finished, press the OK button to confirm the changes made to the list of agents,
or press the Cancel button to ignore any changes made; both buttons close the
IMMerge Agent Manager dialog box.

2.3.5 Launching IMMerge using the selected agents

To launch the merging operation using the selected IMMerge agents, and follow the
merging process, press the Start button in the IMMerge interface.

Progress can be followed in the text feedback area of the IMMerge interface. See
Section 1.2.2 Generating a polygonal model for detailed information.

2.4 Conditions for optimal use


Here are some conditions that will help optimize merging with IMMerge in Cluster
mode:

Speed: Fast, as there is a large number of files that are sent and
Network
received by the host workstation.

Hard disk(s): Fast and not fragmented, with several hundreds of MB


Host of available disk space.
workstation Processor(s): Fast, as certain initial and final tasks are only done by
the host workstation.

Hard disk(s): Fast and not fragmented with several hundreds of MB


of available disk space.

Networked Processors: Fast. The host workstation must wait for the results
workstations from the slowest workstation before finalizing the merge.

IMMerge agent: Stay current. If the version is too old with respect
to the version of IMMerge, it cannot be used.

IMMerge Reference Guide 2020 39


Glossary

# Symbol used in dialog boxes to represent the term “Number


(of )”. For example, # displayed points should be read as
“Number of displayed points”.

Computer Cluster A computer cluster is a group of loosely coupled computers


that work together closely so that in many respects they can
be viewed as though they are a single computer. The
components of a cluster are commonly connected to each
other through fast local area networks. Clusters are usually
deployed to improve speed and/or reliability over that
provided by a single computer, while typically being much
more cost-effective than single computers of comparable
speed or reliability.

NA An abbreviation that stands for Not Applicable. Used in


tables where no value can be attributed for a given item.

Noise Data in a point cloud that is not representative of the


scanned object. Noise may result from extraneous objects in
the scan field (e.g., a fixture), the reflectivity of an object, or
features that cause scattering of the light source (e.g., a
sharp corner).

s Symbol for standard deviation.

IMMerge Reference Guide 2020 40

You might also like