Sunteți pe pagina 1din 39

IMMerge™

Multiple 3D Images Merging Software


Version 12.1 for Windows
IMMerge is a trademark of InnovMetric Software Inc.

© 1995-2013 InnovMetric Software Inc. All rights reserved.

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.
Contents

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

7 1. Using PolyWorks/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 Understanding 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
14 1.3.4 The maximum distance between two overlapping surface areas
14 1.3.5 The surface sampling step
15 1.3.6 The standard deviation
15 1.4 Understanding 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
17 1.4.3 Controlling the subdivision of the merging job
18 1.4.4 Optimizing low-curvature meshing
19 1.4.5 Managing the transition between 3D images
20 1.4.6 Configuring the memory manager
20 1.4.7 Merging using a workstation cluster
20 1.5 Merging color 3D images
21 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 V12.1 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 IMMerge Agent on networked workstations
33 2.2.1 Installing the IMMerge Agent
34 2.2.2 Starting/stopping IMMerge Agent
34 2.3 Using IMMerge in Cluster mode
35 2.3.1 Adding and removing IMMerge agents
36 2.3.2 Information displayed for IMMerge agents
37 2.3.3 Assigning the selected status to IMMerge agents
38 2.3.4 Saving changes made to the list of agents
38 2.3.5 Launching IMMerge using the selected agents
38 2.4 Conditions for optimal use

39 Glossary

IMMerge Reference Guide V12.1 4


Introduction

The IMMerge Reference Guide 12.1 is intended for users of PolyWorks/IMMerge version
12.1. 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 PolyWorks/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 PolyWorks/Workspace Manager, offer related information:

 The PolyWorks® Reference Guide presents the PolyWorks software suite, including the
PolyWorks/Workspace Manager, and explains how to customize the user interface by
means of visual layouts. It also explains how to invoke modules from the PolyWorks/
Workspace Manager. Finally, appendixes describe the installation procedure for both
node-locked and floating licenses.

 The IMAlign™ Reference Guide describes IMAlign, a PolyWorks module used to acquire
and align 3D point clouds with respect to each other.

All reference documentation can be accessed from the PolyWorks/Workspace Manager.


See its Help > Reference Guides submenu.

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 V12.1 5


Introduction

IMMerge Reference Guide V12.1 6


Using PolyWorks/
IMMerge
1
PolyWorks/IMMerge (IMMerge) 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 geometrical parameter. IMMerge can merge any number
of 3D images for any kind of object topology.

IMMerge is accessed from the PolyWorks/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 PolyWorks/Workspace Manager.

IMMerge Reference Guide V12.1 7


Using PolyWorks/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 PolyWorks
does not allow multiple instances of IMMerge, as merging is a memory-intensive
operation.

1.1.1 Starting the Workspace Manager

When PolyWorks is installed, two shortcuts to PolyWorks are created. To start the
PolyWorks/Workspace Manager, either double-click the PolyWorks 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 folder.

4. Click PolyWorks.

The PolyWorks/Workspace Manager opens.

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

The PolyWorks/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 PolyWorks/Workspace
Manager that include specifying an input IMAlign project that is in the active
workspace:

 Select an IMAlign project and click Create a polygonal model in the Wizard pane.

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

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

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

IMMerge Reference Guide V12.1 8


Using PolyWorks/IMMerge Starting the IMMerge module from the Workspace Manager

Figure 1.1 The Workspace Manager interface.

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

 Click the Start IMMerge button on the Modules toolbar.

The IMMerge interface is shown in Figure 1.2.

IMMerge Reference Guide V12.1 9


Using PolyWorks/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 V12.1 10


Using PolyWorks/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 may 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
may 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
command on the PolyWorks/Workspace Manager menu and import it in the active
workspace, and then drag it onto the IMMerge interface. See the The PolyWorks/
Workspace Manager chapter 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 PolyWorks/


Workspace Manager makes a copy of the project and gives the copy to IMMerge to

IMMerge Reference Guide V12.1 11


Using PolyWorks/IMMerge Using the IMMerge interface

work with. This frees up the IMAlign project for other users who may wish to make use
of it. IMMerge 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 may tell the PolyWorks/
Workspace Manager to open the IMEdit module on closing the IMMerge module by
selecting the Open in IMEdit after a successful merge check box.

To launch the merging operation, press the Start button. IMMerge uses all of the points
in the IMAlign project that are not ignored for merging (for more information, see
Section 6.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 PolyWorks/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 IMEdit after a successful merge check box is selected, the PolyWorks/
Workspace Manager opens the IMEdit module which automatically imports the new
polygonal model.

IMMerge Reference Guide V12.1 12


Using PolyWorks/IMMerge Understanding the basic parameters

1.3 Understanding 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 may change the parameter values if you wish. 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 PolyWorks/Workspace Manager File > Import to make it
available to IMMerge. A standalone IMAlign project may be a project created using
version 8 of PolyWorks or earlier which was not imported into a workspace, or it may be
a project that was created using PolyWorks V9 or later and 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 PolyWorks/Workspace Manager proposes a default name in the Output
model name text box. You may 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, please refer to Section 1.4.1 Smoothing the generated high-resolution polygonal
mesh.

IMMerge Reference Guide V12.1 13


Using PolyWorks/IMMerge Understanding 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.

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
between a 3D image point and another 3D image. The maximum distance parameter
thus 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.

IMMerge Reference Guide V12.1 14


Using PolyWorks/IMMerge Understanding 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.

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.

If an alignment operation was not performed, the default value 0.05 is proposed. You
may 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 Understanding 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.

IMMerge Reference Guide V12.1 15


Using PolyWorks/IMMerge Understanding 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

 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.

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).

IMMerge Reference Guide V12.1 16


Using PolyWorks/IMMerge Understanding 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

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.

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.

IMMerge Reference Guide V12.1 17


Using PolyWorks/IMMerge Understanding 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
e dg
ed
c ur v

e
e dg
ed
c ur v

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.

When the Optimized low-curvature meshing check box is cleared, the Surface
sampling step in the Meshing group box is applied to all of the areas to be meshed.
When the Optimized low-curvature meshing check box is selected, a Surface

IMMerge Reference Guide V12.1 18


Using PolyWorks/IMMerge Understanding 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

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 may 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.

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.

IMMerge Reference Guide V12.1 19


Using PolyWorks/IMMerge Merging color 3D images

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.

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 the 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 the 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 of the 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.

IMMerge Reference Guide V12.1 20


Using PolyWorks/IMMerge The merging phase illustrated

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.

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 

Press the Start button to invoke the merging operation.

IMMerge Reference Guide V12.1 21


Using PolyWorks/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 V12.1 22


Using PolyWorks/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 may be performed. One further rotation may 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 V12.1 23


Using PolyWorks/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.
y

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:

 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.

IMMerge Reference Guide V12.1 24


Using PolyWorks/IMMerge Transforming the display 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
current pointer position in 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 degrees 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 degrees 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 V12.1 25


Using PolyWorks/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.
y

x
z
+z + Shift key
(a) (b)

-z +z

-z

IMMerge Reference Guide V12.1 26


Using PolyWorks/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 PolyWorks/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 Creating macros in the PolyWorks Reference
Guide.

IMMerge Reference Guide V12.1 27


Using PolyWorks/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 all of 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 PolyWorks/Workspace Manager, such as choosing an output
file format.

Note that immerge.exe must be executed from the bin subdirectory of a PolyWorks
installation directory.

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]

IMMerge Reference Guide V12.1 28


Using PolyWorks/IMMerge Calling IMMerge from the command line

-snt threshold

-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 (directory 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

IMMerge Reference Guide V12.1 29


Using PolyWorks/IMMerge Calling IMMerge from the command line

Interface items Command line parameters

Cluster mode –cluster_agents

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 directory containing an IMAlign


project. Prior to version 9 of the PolyWorks software, which saw the introduction of the
concept of workspaces and the PolyWorks/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 directory, 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 V12.1 30


Using PolyWorks/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. Please 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 V12.1 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
InnovMetric IMMerge Agent, a Windows Service, installed on it.

IMMerge Reference Guide V12.1 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
software installed and a valid IMMerge license key) to be distributed to other
networked workstations that have the IMMerge Agent installed on them. If the host
workstation is to participate in the processing, it must have the IMMerge Agent
installed on it as well.

The merging task is subdivided and sent out to workstations that are open and have
the 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 IMMerge Agent on networked workstations

2.2.1 Installing the IMMerge Agent

The IMMerge Agent is included in the PolyWorks software. It must be installed on


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

 The IMMerge Agent can be installed on workstations where the PolyWorks software
is not installed.

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

 The 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.

The 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.

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, click Change settings, then click Allow
Windows 8
another program.

IMMerge Reference Guide V12.1 33


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

Operating System Procedure

Windows XP Select the Exceptions tab, then click Add Program.

Click Allow a program through Windows Firewall,


Windows Vista
and then click the Add program button.

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 IMMerge Agent

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.

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.

IMMerge Reference Guide V12.1 34


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

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

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

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 commands 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.

IMMerge Reference Guide V12.1 35


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

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

The Edit menu also offers a command 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.

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 IMMerge Agent version used by the


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

Indicates that the agent is not responding. Either the


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

Indicates that the IMMerge Agent’s operating system is


Incompatible
incompatible with the host operating system.

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

IMMerge Reference Guide V12.1 36


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 the 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 command 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 commands that affect the
selected status of the IMMerge agents in the list:

Select Available Agents


Selects all of the 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 V12.1 37


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 V12.1 38


Glossary

# Symbol used in some 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 V12.1 39

S-ar putea să vă placă și