0% found this document useful (0 votes)
796 views310 pages

Vic-3D10 Manual

Uploaded by

John
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
796 views310 pages

Vic-3D10 Manual

Uploaded by

John
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 310

Vic-3d

Software Manual

Version 10.0
Contents

1 Vic-3D Manual 7
1.1 Navigating the Online Help System . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Getting More Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Bug Reports and Feature Requests . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 What’s New in Vic-3D 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Transitioning from Earlier Versions . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Overview 11
2.1 The Start Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Project Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Calibration Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Data Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Plot Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.9 Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10 Main Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.11 Animation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.12 Other Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Projects in Vic-3D 19
3.1 Project Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Creating a New Project from a Template . . . . . . . . . . . . . . . . . . . . . 20
3.3 The Project Tool Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Speckle and Calibration Images 27


4.1 Adding Speckle Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Adding Calibration Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Working with Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 The Reference Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Calibration 39
5.1 Stereo Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

1
2 CONTENTS

5.2 Hybrid Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


5.3 Separate Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.4 Calibrating an External Camera . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.5 Aligning an External Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.6 Adjustments for Cropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.7 Importing a Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6 Initial Guess Selection 63


6.1 Placing Start Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2 Editing Initial Guesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.3 Initial Guesses from Corresponding Points . . . . . . . . . . . . . . . . . . . . 64
6.4 Initial Guesses from Subset Controls . . . . . . . . . . . . . . . . . . . . . . . 65
6.5 Comparison View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7 Running the Correlation 69


7.1 The Files Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.2 The Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.3 The Thresholding Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.4 The Post-Processing Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.5 The Multi-System Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.6 Correlation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.7 Troubleshooting Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

8 Batch Processing Dialog 81


8.1 Queuing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2 Batch Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

9 Coordinate Systems and Transformations 83


9.1 Coordinate System Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.2 Applying Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . . 86
9.3 Cylindrical Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . 88
9.4 Coordinate Systems Registration . . . . . . . . . . . . . . . . . . . . . . . . . . 90

10 Postprocessing Tools 99
10.1 Strain Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.2 Stress Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.3 Removing Rigid Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.4 Applying Functions to Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.5 Restoring/Retriangulating Data . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.6 Calculating Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.7 Curvature Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.8 Rotation Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.9 Smoothing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.10 Mapping External Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.11 Deleting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CONTENTS 3

10.12 Time Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123


10.13 Time Averaging Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.14 Combining Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.15 Math Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

11 Exporting Data 135


11.1 Exporting All Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
11.2 Exporting Grid-Based Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
11.3 Extracting Node Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
11.4 Calculating Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

12 VDI Target Analysis 143

13 Plotting Data 151


13.1 Common Plot Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
13.2 Creating More Complex Visualizations . . . . . . . . . . . . . . . . . . . . . . 152
13.3 Output Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
13.4 The Plot Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
13.5 3D Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
13.6 2D Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
13.7 Exporting Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
13.8 Extraction Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
13.9 Complex plot extractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
13.10 The Virtual Strain Gauge Dialog . . . . . . . . . . . . . . . . . . . . . . . . . 174

14 Data Visualization in iris 179


14.1 Overview of the iris Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . 179
14.2 Pages, Templates and Backgrounds . . . . . . . . . . . . . . . . . . . . . . . . 183
14.3 Graphic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
14.4 Working with Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
14.5 Working with Keyframes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
14.6 Document Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
14.7 Exporting iris Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

15 Report Generation 225


15.1 Report Generator Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
15.2 Report Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
15.3 Template Tag Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

16 Marker Tracking 233


16.1 Placing Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
16.2 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
16.3 Marker Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
16.4 Marker Visualization in iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
16.5 Exporting Marker Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
16.6 The Files Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
4 CONTENTS

16.7 The Markers Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239


16.8 The Variables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

17 FFT Analysis 241


17.1 FFT Analysis Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
17.2 Frequency Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

18 Real-Time Analysis 253


18.1 Calibration in Real-Time Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 253
18.2 Selecting a Reference Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
18.3 Running the Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
18.4 Analysis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
18.5 Pausing the Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

19 Stereo Microscope Analysis 257


19.1 Calibrating Distortions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
19.2 Stereo Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
19.3 Analyzing Speckle Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

20 Batch Processing Mode 263

21 The Global Preferences Dialog 265


21.1 Main Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
21.2 Data File Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
21.3 Plot Template Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
21.4 Colormaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
21.5 Strain Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

22 Appendix: Controls and Elements 271


22.1 2D Plot Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
22.2 3D Plot Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
22.3 Contour Legend Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
22.4 Line Plot Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
22.5 Common Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

23 Appendix: VicPy Python Module 287


23.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
23.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
23.3 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

24 Licenses 299
24.1 Qt License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
24.2 Ffmpeg License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
24.3 LibTiff License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
24.4 VTK License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
24.5 ZLib License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
CONTENTS 5

24.6 MuParser License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309


Chapter 1

Vic-3D Manual

1.1 Navigating the Online Help System


This document is also available in the Vic-3D software and can be accessed by selecting the
Help menu entry. This will open up a help window to view the documentation. The help viewer
provides a contents tree view that can be expanded and collapsed to navigate the sections of
this manual. Double-clicking on items in the content tree will display the corresponding page.
Furthermore, a keyword search is provided in the Index panel and a full-text search can be
accessed by clicking on the Search tab.
Context-sensitive help is available for many dialogs by pressing the F1 key while the dialog is
active. This will automatically display the corresponding section in the manual.

Vic-3D uses context menus that can be activated by right-clicking on many user
interface elements (lists, image views, plots etc.) to provide quick access to common
functions. Before searching the help, a right-click may reveal how to access the sought
for functionality.

1.2 Quick Start


There are only a few steps involved in obtaining shape and deformation measurements from
your images. A selection of example projects may be found online at our web site or in the
installation folder of a provided PC.
The basic workflow can be summarized in the following steps:

1. Adding calibration images to the project.


2. Calibration of the stereo system.
3. Importing speckle images and selecting a reference image
4. Definition of an area of interest for analysis.
5. Analyzing the images to obtain shape and displacement data.
6. Plotting the results.

7
8 CHAPTER 1. VIC-3D MANUAL

For the example project, the above steps should result in a data plot similar to the one shown
in Fig. 1.1.

Figure 1.1: Vic-3D example project.

1.3 Getting More Help


If you cannot find an answer to your question in this manual, please do not hesitate to contact
our technical support at support@correlatedsolutions.com. You can also find contact information
at our web site at www.correlatedsolutions.com.
We will be happy to assist with topics such as:

• Designing digital image correlation experiments


• Calibration
• Troubleshooting errors
• Interpreting test data
• Achieving optimal results

1.4 Bug Reports and Feature Requests


If you encounter a bug in Vic-3D, please let us know about it. Send a short description of the
problem to support@correlatedsolutions.com along with any project or image files you think may
help us reproduce the bug.
Also, if you think Vic-3D can be improved by adding a particular feature you would find
helpful, let us know about it. We will try to incorporate your requests in our future updates of
the software.

1.5 What’s New in Vic-3D 10


• Completely revised plotting engine uses the iris renderer for all plots.
• Image files and output data may be stored in HDF files for enhanced performance and
portability.
• New stress analysis features with advanced material modeling.
1.6. TRANSITIONING FROM EARLIER VERSIONS 9

• New frequency response function measurements integrate force input data with our powerful
FFT module for complete response analysis.
• Brand new FFT workspace for viewing computed frequency data.
• Wide range of enhancements to plotting and customizability in all plots.
• New functionality for aligning IR cameras with ease.
• New Virtual Strain Gauge analysis features to streamline application of DIC Good Practices.
• Import extractions, image and data sequences from other projects for direct comparison
and improved visualization of extracted data plots.
• Multiple iris documents in a single project.
• Improved data extraction facilities, unit management for all variables, and data probing in
2D and 3D plots.
• New, user specific global preferences dialog for report documents, plots and graphs.

1.6 Transitioning from Earlier Versions


• Projects saved in Vic-3D 10 use a new project structure and cannot be loaded in Vic-3D
9. Vic-3D 10 is backward compatible and can load all earlier projects, and import of
calibrations from Vic-3D 10 projects is Vic-3D 9 is supported.
• Vic-3D 10 can store analyzed data in either individual .OUT files or in the new unified
HDF file format. Data saved in HDF format cannot be loaded in earlier versions of Vic-3D.
Chapter 2

Overview

The user interface of Vic-3D has many of the familiar control elements found in other applications.
The user interface is illustrated in Fig. 2.1. The most commonly used functions can be accessed
by clicking on tool buttons on the Tool Bar. The windows, such as the AOI Editor and Plot
windows are grouped inside a Workspace. The Tool boxes and Project panel on the left or
right of the main window provides a quick overview of image and data files.

Figure 2.1: Vic-3D Application Window

2.1 The Start Page


The start page in Vic-3D gives convenient access to frequently-used tasks and recent projects as
illustrated in Fig. 2.2.

11
12 CHAPTER 2. OVERVIEW

Figure 2.2: Vic-3D start page.

The Common Tasks section shows frequently used tasks that are also accessible from the
menu bar. The task icons can be clicked to quickly open a project, add speckle or calibration
images, or view this user manual.
The Recent Files section of the start page contains a list of the most recently accessed
projects. Clicking on an icon opens the corresponding project. Note that hovering the mouse over
an icon cycles through the preview icons contained in the project, which can help to distinguish
similar projects more easily.

A longer list of recent project files can be accessed from the File->Open recent menu.
While the mouse hovers over a recent project icon or menu entry, the full path to the
project is shown in the status bar at the bottom of the main window. This is helpful
to distinguish projects with identical names (which, of course, should be avoided. . . ).

2.2 File Menu


The File Menu provides the following functions:

• New - creates a new project


• New from template - creates a new project using selected elements of an existing one
2.3. EDIT MENU 13

• Open - open an existing project


• Open recent - select from recently accessed projects
• Save - save the current project
• Save As. . . - save the current project under a new file name
• Report - generate a report using a selected template
• Mode - select a Vic-3D project type (3D, realtime, stereomicroscope, etc)
• Install module licenses - use this menu entry to activate software modules. This dialog
displays the license key codes and current module licenses installed. When contacting
support with questions regarding your license, it is advised to include your license codes
and current installed modules on the license by clicking current keys
• Quit - closes Vic-3D

If the project has not been saved after changes have been made, an asterisk will appear
next to the project name in the title bar of the window.

2.3 Edit Menu


The Edit Menu provides the following functions:

• Undo - undo the last editing operation in the reference image


• Redo - redo the last editing operation in the reference image
• AOI tools - each AOI tool is selectable from this menu.
• Global preferences - allows control of various defaults; more details are available at
Chapter 21.

2.4 Project Menu


The Project Menu provides the following functions:

• Speckle images- adds speckle images to the project for analysis


• Calibration images - adds calibration images to the project
• Speckle image groups - add a group of speckle images from the selected
• folder which contain the same prefix
• Calibration image groups - add a group of calibration images from the
• selected folder which contain the same prefix
• Data files - adds pre-existing output data files (.out) to the project
• Analog data - adds analog data files from Vic-Snap (.csv)
• Analysis workspace - displays the 3D image correlation workspace
• Marker editor workspace - displays the marker tracking toolset
• FFT workspace - works with frequency-domain data, bringing up the FFT calculation
dialog if necessary. This module is only visible if purchased.
• Iris workspace - switches to the iris data presentation workspace.
14 CHAPTER 2. OVERVIEW

2.5 Calibration Menu


The Calibration Menu provides the following functions:

• Calibrate stereo system - calibrates the cameras and stereo rig simultaneously, see
Section 5.1
• From project file - imports a calibration from an existing Z3D or V3D project file
• Autocorrect calibration - corrects for a disturbed camera orientation calibration, see
Section 5.3.4
• Adjust for cropping - adjusts for differently sized calibration vs. speckle images (com-
monly used with stereo images from high-speed cameras or clipped images from a low
speed system). See Section 5.6 for details.
• Calibrate camera 1 / 2 - calibrates camera intrinsic parameters separately (generally
used for large scale calibration or troubleshooting camera synchronization). For details,
see Section 5.3.
• Calibrate camera orientation - calibrates stereo transformation from disparity data;
see Section 5.3.3 for details.
• Calibrate external camera - calibrate for overlay of auxiliary camera data (i.e., from
an infrared camera); see Section 5.4 for more information.
• Compute external projections - precisely calculates the position of an external (IR)
camera using a single common grid image (see Section 5.5 for details).

2.6 Data Menu


The Data Menu provides the following functions:

• Start analysis - shows the Run dialog to begin 3D analysis


• Postprocessing tools - shows a submenu to choose from various postprocessing calcula-
tions
• Coordinate tools - shows a submenu to allow coordinate system manipulation
• Markers - allows exporting or fitting coordinates to marker data
• Export - various options for exporting full data set or reductions

2.7 Plot Menu


The Plot Menu provides the following functions:

• New plot - adds a new plot window to the work space


• 2D Plot - changes the currently selected plot to 2D overlay mode
• 3D Plot - changes the currently selected plot to 3D plot mode

2.8 Window Menu


The Window Menu provides the following functions:
2.9. HELP MENU 15

• Cascade - organizes all MDI windows in a cascade


• Tile - tiles all MDI windows

2.9 Help Menu


The Help Menu provides the following functions:

• User manual - show this manual.


• About - show version information.

2.10 Main Toolbar


The main toolbar (see Fig. 2.3) contains commonly used tool buttons to provide quick access
to functionality without having to navigate through menus. A tool tip for each button can be
shown by moving the mouse cursor over a button and waiting for a short amount of time for
the tip to pop up. This also displays a description of the tool button in the status bar of the
application at the bottom.

Figure 2.3: The main toolbar.

The toolbar contains the following buttons, from left to right:


File tools:

• New project (CTRL+N)


• Open project (CTRL+O)
• Save project (CTRL+S)
• Add speckle images
• Add calibration images
• Calibrate stereo system (‘CTRL+B’)
• Start analysis (CTRL+R)

Plotting tools:

• Histogram control
• Switch to 2D plot/3D plot
• Show main Workspace
• Show Marker workspace
• Show FFT workspace (when module is present)
• Show iris workspace
• Zoom in/out
• Undo/redo
16 CHAPTER 2. OVERVIEW

Postprocessing tools:

• Calculate strain (CTRL+U)


• Calculate velocity
• Time filter data
• Calculate in-plane rotation
• Calculate curvature
• Apply a custom function
• Remove variables
• Retriangulate data
• Remove rigid motion

The histogram control displays the gray level distribution for the currently displayed image.
The red bars on the histogram may be used to adjust the image display. Double-click on the
histogram to automatically adjust the balance, or drag the red bars to set the black and white
levels manually. Double click again to remove the balance adjustment.
The balance control is for display only and does not affect image analysis or stored images.

2.11 Animation Toolbar


The buttons on the animation toolbar allow stepping through and animating image files or plots.

Figure 2.4: Animation toolbar.

The controls, from left to right:

• Play - begins automatically stepping through images/plots.


• Stop - stops the animation.
• Step Back/Step Forward - goes to previous or next image/plot.
• Loop - toggles between looping from last image to first, and bouncing from forward to
backward animation.
• Frame rate - selects the speed of the animation..

2.12 Other Functionality


In the right corner of the status bar at the bottom of the main window, the cursor position and
image grey value is displayed when the mouse is moved inside the reference image or a deformed
image. For 2D plots, this area will show the 3D coordinates as well as the value of the current
contour variable. On the left side of the status bar, a short description of tool buttons and menu
items is displayed when the mouse moves over them.
2.12. OTHER FUNCTIONALITY 17

In the list view on the left side of the main window, some functions can be activated by
right-clicking. Details can be found in the appropriate sections of this menu.
Chapter 3

Projects in Vic-3D

In Vic-3D, all the filenames and information associated with a test are stored in a project.
Initially, projects are blank. Before running a Vic-3D analysis, the project must contain:

• One or more speckle images, including a reference image


• A calibration
• One or more areas of interest

Note that the calibration can either be imported from another project file or generated by
adding calibration images to the project to determine the calibration parameters. When a Vic-3D
analysis is run, the output files (*.out) are stored on disk and added (by reference) to the project
and displayed in the Data tab.
In addition to the items above, analog data files from Vic-Snap (*.csv) can be added to the
project file. The analog data is then available for extraction.

All images, data files, and CSV files are only stored by reference in the project file.
The original files must remain on the disk.

3.1 Project Organization


It is recommended that all image files are stored in the same folder as the project file. While it
is possible to save project files in any directory, this may lead to problems if either the project
file or any of the linked resources, such as image files, are moved. With project files in the same
directory as image files, a project can be copied by simply copying the entire folder. This makes
it easy and convenient to backup projects or move them from one computer to another.
Note that aside from image and data files, other imported items such as the calibration or
coordinate transformations do not need to come from resources located in the same directory.

19
20 CHAPTER 3. PROJECTS IN VIC-3D

3.2 Creating a New Project from a Template


Vic-3D allows creation of a new project by importing elements of an existing project, in order to
streamline repeated tests. To begin, select File. . . New From Template from the main menu, or
press CTRL-SHIFT-N.

Figure 3.1: Project template dialog.

You will see a list of recent projects with previews. Single-click to select a project or mouse
over to see a more detailed preview.
Checkboxes allow selection of desired elements; the Ok button completes the import. A
blank project will be created and images may then be added. If the template contains an AOI
and it was imported, it will automatically appear as soon as a reference image is selected. Note
that Vic-3D allows moving an entire AOI to account for small position differences. An AOI can
be moved by clicking on a selected AOI and dragging it to the desired position.

3.3 The Project Tool Box


The project tool box is displayed at the left or right side of the work area. The tool box has
three panels, one each for Images, Data and Calibration. The view can be switched between
panels by clicking on the corresponding tab at the top of the tool box.
3.3. THE PROJECT TOOL BOX 21

Figure 3.2: Template items available for import.

On the image and data tabs, a right-click shows a context menu with various actions
that can be performed, e.g., animate, export etc.
Single items can be selected by mouse-click, and extended selections can be performed
by holding the SHIFT or CTRL keys while clicking on additional items.
If a selection is present, the Delete or Backspace keys can be used to remove the
selected items from the project.

3.3.1 The Images Panel


The Images panel shows all speckle and calibration images associated with the project. Note
that Vic-3D always displays the file names corresponding to the first camera.
Speckle images may be added by selecting Images. . . Speckle images from the menu bar, or
by click the speckle images icon on the main toolbar or in the start page. A small red arrow
indicates the reference image; a given image may be set as the reference by right-clicking and
clicking Set as reference.
Calibration images are added by selecting Images. . . Calibration images from the menu bar,
or clicking the calibration images icon on the main toolbar or in the start page.
An image or series of images may be removed by selecting them, right clicking, and clicking
Remove or Remove selected.

3.3.2 The Data Panel


The Data panel lists all output data generated by Vic-3D as well as any analog data acquired
with Vic-Snap. The file names of the output files generated by Vic-3D correspond directly to
22 CHAPTER 3. PROJECTS IN VIC-3D

Figure 3.3: Project toolbar files tab.

the image file names and differ only in the extension.


All generated output files are added to the Current data list. Output files not associated
with current speckle images are added to Other data. If a data file is double-clicked, a plot of
the data will be displayed.
Analog data from Vic-Snap is listed under Analog data. An analog data file may be added by
selecting File. . . Add Files. . . Add Data Files from the main menu. A spreadsheet of the data
can be viewed by double-clicking on the file.
Generated video files from 2D and 3D animations are added to the Video files list. A video
may be double-clicked to display it in an external viewer.

3.3.3 The Other data Panel


The Other data panel contains data/information sets other than analyzed 3D data.
3.3. THE PROJECT TOOL BOX 23

Figure 3.4: Project toolbar data tab.

Figure 3.5: Analog data spreadsheet.


24 CHAPTER 3. PROJECTS IN VIC-3D

• The Extraction data item contains extracted point, area, and line data; the extractions
listed here may be used later for plotting in iris.
• The FFT data item displays computed FFT data for display and animation.
• The Inspector data items lists inspector locations, for later visualization.

3.3.4 The Calibration Panel


The calibration panel displays the current calibration information for the project. The calibration
panel does not permit editing the calibration values and merely displays the results of the
calibration process.
Intrinsic camera parameters are displayed for each camera:

• sensor center
• focal length (in pixels)
• skew
• 1, 2, or 3 radial distortion coefficients, depending on selected order
• tangential and prismatic distortion coefficients, if enabled in the imaging system
• estimated magnification, for convenience

Extrinsic parameters are displayed for the stereo rig:

• rotation angles alpha, beta and gamma


• translation components Tx, Ty and Tz between the cameras
• baseline: distance between cameras (resultant of Tx, Ty, Tz)

For a typical setup where the cameras are on a horizontal stereo bar, the angle beta
corresponds to the stereo angle.
3.3. THE PROJECT TOOL BOX 25

Figure 3.6: Project toolbar calibration tab.


Chapter 4

Speckle and Calibration Images

In Vic-3D, images are the main input data used for calibration of the stereo system as well as
displacement and strain analysis. There are two main categories of images
• speckle images
• calibration images
Both types of images can be displayed in the workspace by double-clicking on the name of
the image in the Project Toolbox (see Section 3.3) after they have been added to the project.

4.1 Adding Speckle Images


In Vic-3D, speckle images are images taken of a specimen as it undergoes load or motion and are
used to extract information about shape, displacement and strain using digital image correlation.
One or more speckle images can be added to the project by selecting the Speckle images entry
from the Project menu, or by clicking the icon on the main tool bar. The images can then be
selected in a standard file dialog.
For adding larger groups of speckle images, it is preferable to select Project. . . Speckle image
groups from the menu bar. The folder containing the image set can then be selected in a standard
file dialog. After a directory has been selected the software categorizes the images contained
in the folder into groups with consistent naming. One or more such groups can be selected for
import into the project. (Due to operating system limitations, trying to add too many images
directly through the normal Speckle images dialog may result in only a subset of the images
being imported.)
After adding speckle images to the project, they will be displayed in the workspace and listed
in the Images tab of the project bar as shown in Fig. 4.6.

4.2 Adding Calibration Images


Calibration images can be added by selecting the Calibration images entry from the Images
menu, or by clicking the icon on the main tool bar.
After adding calibration images to the project, they will be listed in the Images tab of the
project bar, as illustrated below.

27
28 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

Figure 4.1: Project image panel showing speckle images.

Figure 4.2: Calibration image list in project panel.


4.3. WORKING WITH IMAGES 29

4.3 Working with Images


Once images have been added to the project, they can be viewed, animated or removed from
the project. The following sections explain such common tasks which are almost identical for
speckle and calibration images.

4.3.1 Image File Formats


Vic-3D can work with either separate image files or single HDF files containing multiple images.
Hierarchical Data Format (HDF) files contain arbitrarily large sets of images and metadata.
In Vic-3D, HDF files generated by Vic-Snap and saved as .h5 files may be opened.
The recommended image file format for single images is uncompressed, monochrome TIFF.
The following configurations of TIFF files are supported:

• 8-bit monochrome images.


• 16-bit monochrome images. The software automatically determines the actual bit-depth of
the input image if the input has two bytes per pixel.
• 32-bit floating point images. Note that the s_min and s_max fields must be set to the
correct range.
• 8-bit RGB(A) images (note that color images are converted to monochrome and are
generally not recommended)

Vic-3D supports a number of other image file formats. Note that color images are not
recommended if they are acquired with sensors that have color filters (Bayer filters), as the dis-
placement resolution is typically strongly degraded. For similar reasons, lossy image compression
algorithms should be avoided. Loss-less compression algorithm do not degrade the displacement
data, but typically do not yield high compression ratios for speckle images. The following image
formats are supported but should be used with caution:

• JPEG images
• Portable Network Graphics (PNG)
• Netpbm images
• BMP images

4.3.2 Viewing Images


Deformed images can be displayed in the workspace by double-clicking on an entry in the image
list view. Alternatively, clicking the right mouse button on an entry of the list view will show a
pop-up menu providing different options, one of which is View.
The image viewers in Vic-3D, including in contour plots, all provide a consistent user interface
for zooming and panning using the mouse wheel and left-click/drag, respectively. The brightness
and contrast can also be adjusted using the histogram in the toolbar. In addition, the zoom
in/zoom out entries in the Edit menu or the corresponding tool buttons can be used to change
the scale of the displayed image.
30 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

Figure 4.3: Image panel context menu.

4.3.3 Animating Images


To animate speckle images, the controls on the Animation Toolbar (see Section 2.11) can be
used. By default, the entire sequence of speckle images will be played when the animation is
started. It is also possible to animate only a subset of the image sequence, or the calibration
images, by selecting a number of images from the list and then right-clicking. A pop-up menu
will then appear and the entry Play selected can be used to play only the selected images.

4.3.4 Changing between Cameras


To change between the two cameras of the stereo-system, a right-click in the image viewer will
display a pop-up menu as shown in the figure below. Using the Toggle camera button allows
switching between the two stereo camera. Note that the title bar of the image viewer displays
the current image file name that contains the camera ID.

4.3.5 Removing Images


Images can be removed by first selecting one or multiple images in the list view, and then either
pressing the Backspace key or by right-clicking on the selection. The latter method will show a
pop-up menu with an option to either remove only the image clicked on (Remove) or the entire
selection (Remove selected) from the list.

4.4 The Reference Image


The term Reference Image is used in this manual to describe the image of the specimen where
all displacements are zero. Typically, this image is taken while no load or a small amount of
4.4. THE REFERENCE IMAGE 31

Figure 4.4: Right-button menu in image viewer.


32 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

pre-load was applied. All displacement analyses in Vic-3D are with respect to this reference
image, i.e., the displacements are obtained in a Lagrangian coordinate system.
When importing speckle images, Vic-3D automatically uses the first image as the reference
image, which is indicated by a red arrow (see figure below). To select a reference image, right-click
on it in the Speckle images list, and select Set as reference. from the pop-up menu as illustrated
in Fig. 4.5. After the reference image has been selected, it will be indicated with a red arrow in
the images list as illustrated in Fig. 4.6.

Figure 4.5: Speckle image list right-click menu.

Note that changing the reference image after selecting an area-of-interest (see below) will
clear the selected area-of-interest, as each reference image can have its own mask. In order to
reuse an already defined area-of-interest for a different reference image, a right-click in the AOI
editor provides the option to paste existing masks onto the new reference image. If the reference
image is changed back to an image for which a mask had already been defined, the previously
defined mask will be reused.
When the AOI editor has the focus in the workspace window, the mask tool buttons become
active as shown in Fig. 4.7. The AOI editor can normally be activated by double-clicking on
the reference image, unless the image viewer has focus in the workspace. In this case, the AOI
editor can be activated by clicking on it or by selecting it from the Window menu.

4.4.1 Placing Start Points


In some situations, one or more start points may be needed for the correlation. Aside from
providing a location from which to start the correlation process, start points are used to provide
initial guesses for deformed images. The software attempts to find initial guesses for deformed
images in a background thread, and it is therefore recommended to place a start point directly
after selecting the reference image. After pressing the icon, a start point can be added to the
4.4. THE REFERENCE IMAGE 33

Figure 4.6: Reference image indicator

Figure 4.7: Aoi tool box.


34 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

reference image by clicking on the desired location in the reference image. Detailed information
about selecting and editing start points is provided in Chapter 6, including general guide lines
on what makes a suitable location for a start point.
To remove a start point, click the icon, then click the start point. Alternatively, a start
point can be removed by pressing either Backspace or Delete while the mouse hovers over the
start point and the AOI editor is the active window in the workspace.

To speed up displacement analysis later on, it is helpful to place a start point in


a suitable location. Once a start point has been placed, Vic-3D computes initial
guesses in a background process. When the mouse hovers over a start point, status
information of the background analysis is displayed.

4.4.2 Selecting an Area-of-Interest


The area-of-interest defines the area of the image in which Vic-3D performs correlation analysis.
Vic-3D supports the following types of AOIs:

• Rectangle: Points are contained in a rectangular area.


• Polygon: Points are contained in an arbitrary polygon.
• Circle: Automatically creates a roughly circular polygon.

To specify a particular type of AOI, select the corresponding entry in the Edit menu or the
appropriate button on the tool bar. The selected AOI type will be indicated by the mouse cursor.
After selecting the AOI type, move the cursor to the desired position in the reference window
and click the left mouse button. You can now move the mouse to the next position, e.g. the
end of the line or the second corner of the rectangle. Clicking the left mouse button again
will complete the AOI selection for all AOI types except polygons. For polygon selection, a
double-click is used to specify the last point of the polygon.

To pan the image while an editing tool is active, the SHIFT key can be used to
temporarily disable the editing tool.
During AOI editing operation, the image can be scrolled by moving the mouse outside
the reference image window. This will cause the image to autoscroll if the image does
not fit on the display.

4.4.3 Editing AOIs


To edit an existing AOI, select the Pan/Select tool. Mouse over any of the white nodes in your
AOI; the mouse cursor changes to indicate node movement. Click and drag to move. You can
delete a node by clicking the icon, then clicking the desired node.
4.4. THE REFERENCE IMAGE 35

Figure 4.8: Selecting an area-of-interest.


36 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

If the merge polygons icon ( ) is selected, any overlapping polygons will be merged with
each other. If the icon is not selected, overlapping AOIs will remain separate.
Areas-of-interest can be translated by clicking anywhere inside the area and then translating
the AOI before releasing the mouse button. To pan the image instead of moving the AOI, the
SHIFT key can be pressed while clicking on the AOI.

4.4.4 Cutouts
For rectangular and polygon AOIs, the scissors tool can be used to cut areas from the AOI. This
feature is most commonly used if the specimen has cracks, holes, or other areas where correlation
is impossible.
To cut an area from an AOI, click the scissors button on the tool bar or select Edit. . . Cut
region. The selection of the area to be cut works like selecting a polygon AOI, i.e., corner points
of a polygon can be added by single-clicking the left mouse button, and the last point is specified
by a double-click. Once the cut is complete, new nodes are added to your AOI; these may be
moved like other nodes.

When using multiple AOIs for one image, click on an AOI with the pan/select tool to
activate it. The active AOI is indicated by the control points, which are hidden for
inactive AOIs. Cuts will only be applied to the active AOI.

4.4.5 Choosing the Subset and Step Size


The subset and step size can be selected after an area of interest is created. Both are adjusted
using the spin boxes in the AOI Toolbar.
The subset size controls the area of the image that is used to track the displacement between
images. The subset size must be large enough to ensure that there is a sufficiently distinctive
pattern contained in the area used for correlation. If the subset size is changed, the current size
will be illustrated by a grid briefly displayed on the AOI. There is a subset size suggestion tool
available by clicking the icon:
Vic-3D will choose a subset size which is calculated to give an optimal match confidence
of 0.01 pixel for a given assumed noise level. (The default of 8 works well for most cameras).
Clicking Ok will accept and change the subset size; clicking Cancel will close the dialog without
making a change.
The step size controls the spacing of the points that are analyzed during correlation. If a step
size of 1 is chosen, a correlation analysis is performed at every pixel inside the area-of-interest.
A step size of 2 means that a correlation will be carried out at every other pixel in both the
horizontal and vertical direction, etc. Note that analysis time varies inversely with the square of
the step size; i.e., a step size of 1 takes 25 times longer to analyze than a step size of 5.
If the Apply to all box is checked, any changes to subset and step size will apply to all AOIs;
if it is clear, different AOIs may have different settings.
4.4. THE REFERENCE IMAGE 37

Figure 4.9: Cutting out of an AOI.

Figure 4.10: Subset and step size control.


38 CHAPTER 4. SPECKLE AND CALIBRATION IMAGES

Figure 4.11: Subset size suggestion dialog.

All operation on AOIs can be reverted using the Undo/Redo buttons. The Undo/Redo
buttons in the Edit menu will indicate what changes can be undone/redone.
Chapter 5

Calibration

Calibration can be accomplished either through a stereo calibration where intrinsic and extrinsic
parameters are calculated together, or a separate calibration where the intrinsic parameters are
determined for each camera separately and the relative orientation of the cameras is determined
from a common view.
For most applications, stereo calibration is used. The calibration target is imaged simultane-
ously in both cameras, and the synchronized target images are used to fully calibrate the system
in one step.
In certain applications, a stereo calibration with a conventional full-size target is not practical,
e.g., when the field of view is very large. In such cases a separate calibration method can be
used.
In this method, each camera acquires target images separately. These images are used to
calculate intrinsic parameters for the cameras. A static speckle image is then used to establish
the camera orientation. For this method, the speckle image must contain markers or fiducial
points with a known distance between them.
Cases where separate calibration will be useful include:

• Very large fields of view


• Cameras that cannot be synchronized
• Cameras that must be moved after calibration
• Certain complex mirror setups

5.1 Stereo Calibration


To begin, select the Calibrate stereo system entry from the Calibration menu, or click on the
icon on the tool bar. The calibration dialog will appear:
For new, coded grids, the grid parameters will be determined and the grid points will be
automatically extracted. If the grid cannot be recognized or is uncoded, select the grid from the
Grid pulldown and click Analyze to extract points.
A number is displayed for each image - this is the total number of points extracted (0 for
failed images). The computed dot positions are displayed during the extraction; the three hollow
orientation dots are labeled with different colors, and the coding dots, if present, are labeled in
red.

39
40 CHAPTER 5. CALIBRATION

Figure 5.1: Calibration dialog.

Once image analysis is complete, the calibration will be computed. If the score is higher than
optimal, any outlying images will be discarded and the calibration computed again. The final
score (in pixels, lower is better) is displayed in the bottom right.
Clicking Accept will close the dialog and set the calibration for the current project.

5.1.1 Coordinate system selection


If this control is left at its default of Auto, the resulting coordinate system will be centered about
the camera pair.
If a grid orientation is selected from the pulldown, this orientation will become the center of
a new Cartesian coordinate system. If we consider the three hollow dots as an “L”, the corner
dot of the L will become the origin; the horizontal leg of the L will be the positive X axis; and
the plane of the grid will be the XY plane.
The selected coordinate system is not reflected in the displayed calibration parameters, which
only show the relative position of the two cameras; however, the necessary information regarding
the absolute position is stored in the project file.
5.1. STEREO CALIBRATION 41

Figure 5.2: Ellipse extraction for calibration.

Coordinate system selection can be used for creating a reference frame for strain and
displacement, or quickly establishing a roughly common coordinate system between
multiple camera pairs. This step may also be used to determine a common view for
external camera calibration.

5.1.2 Recalibrating
I the Automatically recalibrate box is checked, when a calibration setting is changed a new
calibration will be automatically computed with the new option applied after a brief delay
for other changes. To make multiple changes without recalibrating, clear this box and click
Recalibrate as necessary. If complex imaging systems (see below) are in use, the recalibration
may be time consuming and clearing the Automatically recalibrate box may be helpful in
avoiding long pauses.
42 CHAPTER 5. CALIBRATION

Figure 5.3: Calibration results.

5.1.3 Results in Detail


For each image, a score is displayed. This is the average error (in pixels) between the position
where a target point was found in the image, and the theoretical position where the mathematical
calibration model places the point. Good scores will be displayed in green; higher scores will
be red. To remove a certain image from the calibration, you can right-click on it and select
Remove Points. To use points from an image which has been cleared, right-click again and
select Extract.
Calculated calibration values are displayed in the tree view to the lower right. Each item has
a value as well as a +/- confidence interval (one standard deviation).
A text-based report containing all calibration information may be viewed by clicking Report.
This report can also be copied to the clipboard and saved for later reference.

5.1.4 Recalibrating
Vic-3D will attempt to remove any outliers while leaving good images present. However, it will
sometimes be necessary to manually remove images, or return automatically removed images.
A certain image pair may be removed by right-clicking in the results table and selecting
Remove row. Multiple rows may also be selected for removal. If the Automatically recali-
5.1. STEREO CALIBRATION 43

brate box is checked, the calibration will be immediately recomputed. Otherwise, Recalibrate
may be clicked as necessary.
If an image pair has been removed, the table may be right-clicked and the Extract row
option clicked to re-extract. Multiple rows may also be selected and re-extracted.

5.1.5 Calibration Target Selection


If the grid used is not listed in the pulldown, click + to add a new one or Edit to edit the current
settings. When clicking +, Vic-3D will attempt to automatically extract the grid information,
and will fill it in if found; in this case, only the grid spacing must be entered.
To remove a previously entered grid, select it and click the - icon.
The diagram below illustrates the meaning of each grid parameter:

Number of dots (Y)


Length (Y)
Offset (Y)

Offset (X) Length (X)


Number of dots (X)

Figure 5.4: Calibration target definition.

5.1.6 Imaging Systems


The Imaging System pulldown at the bottom left selects the desired imaging system. The
imaging system comprises the sensor, the imaging lens, and any fluids or interfaces present
(windows, environmental chambers, etc.) Imaging systems can be added and edited by clicking
44 CHAPTER 5. CALIBRATION

on the Edit button in the lower left-hand corner of the calibration dialog. The imaging system
dialog is shown in Fig. 5.5.

Figure 5.5: Imaging system dialog.

You can add or remove a system by clicking the + or - buttons. The following parameters
may be set for each system:

• Name: this is a friendly name for the system; for example, “Schneider 17mm” or “Under-
water test”.
• Standard systems: this system models a typical imaging lens in free air.

– Fixed aspect ratio: enforces a known aspect ratio rather than calibrating for it.
– Allow skew: if this box is cleared, a skew parameter of 0 is used.
– High magnification: this option forces the Center parameters to the geometric center
of the sensor.
– Radial distortion: this is the order of the radial component of the Seidel distortion.
– Prismatic distortion: this is the order of the thin prism component of the Seidel
distortion.
– Tangential distortion: this is the order of the tangential, or decentering, component
of the Seidel distortion.

• Complex distortion: should be selected when optical interfaces additional to the Seidel
lens are present. This introduces a Variable Ray Origin calculation which allows correction
for varying refraction across the sensor surface.
5.2. HYBRID CALIBRATION 45

– Type: Typically, the 4th order VRO model is sufficient. A 5th order model is
provided for extreme conditions. For these types of use cases, it is recommended to
pay particular attention to the calibration image sequence and ensure that a grid of
proper size is used and sufficiently large tilt angles of the target are recorded during
calibration.
The selected imaging system can be set as teh starting default by clicking Set default.
Clicking Finished will close the imaging systems dialog.

5.2 Hybrid Calibration


The hybrid calibration dialog uses both calibration grid and speckle correlation data to improve
calibration results through bundle adjustment. This method has a number of advantages
compared to traditional calibration methods using fiducial points only.
• A noise estimate for the input data is available for the speckle correlation results. By
comparing this noise estimate to the calibration residual, residual bias in the calibration
becomes obvious.
• The noise on speckle correlation data is typically lower than the noise on ellipse centers
resulting in more reliable calibration.
• A large number of data points can be generated using speckle correlation.
• Meaningful error metrics, e.g., bias in strain or rigid motion, provide intuitive information
about calibration quality (for some of the hybrid methods, see below).
• The distribution of projection errors reveals incorrectly calibrated distortions.
• The spatial distribution of noise sensitivity in all three axis directions can reveal problems
with the stereo camera configuration.
In order to complete a hybrid calibration, the system must first be calibrated as normal using
a calibration grid. Based on this calibration, a set of speckle images is then analyzed to generate
the additional calibration data for hybrid calibration. Note that the imaging system selected
in the stereo calibration is the one that will be used for hybrid calibration. Once the data has
been generated, the hybrid calibration dialog can be launched from the menu bar by selecting
Calibration. . . Hybrid stereo system calibration. This will show the following dialog:

5.2.1 Hybrid Methods


There are three different methods for hybrid calibration available that can be selected from
Method combo box:
• Rigid speckle and scale from grid: This method requires a set of images of a rigid
calibration object undergoing tilt and out-of-plane motion. For this method, the
speckle image sequence should be taken like a calibration sequence with a dot grid target.
The only thing that is retained from the grid calibration is the scaling (along with the
imaging system selection). With a proper calibration sequence, this method will give the
best results because only speckle correlation data is used to determine the calibration
parameters (aside from scaling).
46 CHAPTER 5. CALIBRATION

Figure 5.6: Hybrid calibration dialog.


5.2. HYBRID CALIBRATION 47

• Grid points and rigid speckle: this method requires a set of images of a rigid object
undergoing motion. The data points from the grid images are combined with points from
the 3D correlation results. This method should be used if the speckled object is known
to be rigid, but the motions of the object are insufficient for complete calibration. For
instance, if only a few small translations and/or tilts of the object are available, this method
can provide improved results versus using only the calibration dots from the traditional
calibration target.
• Grid points and deforming speckle: this method will work with any image set,
including images of the (deforming) test article itself. In essence, this method computes an
optimal triangulation for the calibration points and point correspondences found by DIC
for an entire dataset together.

Note that for all calibration methods, it is generally required to have a calibration object that
fills the entire field of view. Additionally, for the hybrid methods it is required that the stereo
configuration remains the same between the acquisition of dot calibration target and speckle
images.

5.2.2 Point Limit


The number of calibration points used for hybrid calibration is limited by selecting a point
limit from the combo box. For the first two methods, where the calibration object is rigid, this
point limit is equivalent to the number of calibration dots on a traditional target. Note that
increasing the number of calibration points may provide limited returns at some point, as the
input points are no longer independent due to subset overlap. For instance, an image with 2,000
pixels in both axes will only provide approximately 4,000 independent data points with a subset
size of 31 pixels. Selecting a higher point limit will not provide additional benefits.
For the first two hybrid calibration methods that use a rigidity constraint, each calibration
point is used in all views (images) it is present. Each image adds an additional view of the same
rigid object, but no additional calibration points. This is different for the third method where
no rigidity constraint is available. In this case, no two views of the same rigid object exist, i.e.,
each additional image adds additional calibration points, but no additional views. The point
limit is therefore different for this method and will limit the total number of points collected
from all images in the sequence. For this method, it is reasonable to use the maximum point
limit available. Furthermore, it is recommended to limit the number of input data sets for this
method (see file selection below). For instance, if a sequence of 4,000 images is used, only 16
points would be selected from each image even at a point limit of 64k. In such cases, it is best
to manually deselect input files, as the point limiting algorithm does not decimate in time.

5.2.3 File Selection


The input files used for hybrid calibration can be selected from the file list. Note that a right-click
in the list will pop-up a dialog with convenient options to select a subset of the input files, e.g.,
every other, one out of five or every N-th. This is particularly useful in cases where the input
data is from a large sequence of a deforming object.
48 CHAPTER 5. CALIBRATION

5.2.4 Calibration and Report

After pressing the Calibrate button, a text window will be displayed to report information
about the progress and results of the calibration. Note that the calibration can take some time
to complete, particularly when a large number of points is used in combination with complex
camera models (prismatic and decentering distortions or non-pinhole models).

Figure 5.7: Hybrid calibration log.

When the calibration is complete, the calibration results and confidence margins are displayed.
5.2. HYBRID CALIBRATION 49

Figure 5.8: Hybrid calibration results.


50 CHAPTER 5. CALIBRATION

5.2.5 Visualization of Calibration Errors


The Plots tab can be used to display a variety of plots that can provide detailed insight into the
quality of the calibration, particularly for the hybrid methods that use a rigid object. When a
data file is selected, a message bar in the bottom of the dialog shows the projection error and the
noise estimate from correlation. For the first two methods (rigid object), additional information
about average strains and residuals from a rigid body transformation fit are also displayed. This
information is helpful in determining problems with the calibration.

Figure 5.9: Hybrid calibration result plot.

Noise and Projection Error: The average noise estimate and projection error displayed
near the bottom of the dialog should be similar in magnitude, and the distribution of the
5.2. HYBRID CALIBRATION 51

projection error should be random throughout the entire image. If this is not the case, it
normally indicates a problem with the calibration. There are a number of reasons why the
projection error might be significantly higher than the noise estimate:

• The camera model cannot accurately capture the distortions. This normally results in a
distinctive pattern in the spatial distribution of the projection error that remains similar
for all data sets. It may be possible to correct such errors by selecting higher order or
different types of distortions in the imaging systems dialog during the initial calibration.
• Heat waves often do not affect the noise estimate significantly but produce enough apparent
displacement to increase the projection error. The spatial distribution of the projection
error typically shows bands of increased error that vary from data set to data set. This
problem should be addressed during image acquisition.
• If the object used for calibration is assumed to be rigid but deforms during calibration, a
bias will result. This is difficult to distinguish from the following two cases. Repeating the
calibration using the third method may provide further insight into whether the object is
deforming or not.
• If the orientation of the cameras relative to each other changes during calibration, e.g.,
due to vibration, the projection error may increase.
• Synchronization problems have similar symptoms as the previous two error sources. As-
suming that the calibration images of the dot target are similarly affected by this error as
the speckle images, synchronization issues can be revealed by comparing errors from single
camera calibration to the errors from stereo calibration. Such errors are normally flagged
by the regular stereo calibration dialog.
• In situations where the errors are very low, e.g., 0.001 pixels, one of the errors may be two
or three times higher than the other, and this often changes from image to image.
• Objects with significant curvature, surface discontinuities, defocus as well as very high tilt
angles can also produce similar symptoms, but this is normally obvious when looking at
the plots.

Displacement and Strain Distribution: The displacements (U, V and W) are shown
with rigid body motion removed. Since the calibration object is rigid for the first two calibra-
tion methods, the resulting distributions should be random. Any distinctive patterns in the
distributions of (residual) displacement or strain point to problems with the calibration.
Sensitivity: The (noise) sensitivity indicates how noise in the image matches impacts the
measurement results. The sensitivity for the Z-direction is typically three to five times higher
than for the inplane directions, depending on the stereo angle. The noise sensitivity is typically
lowest in the center of the image and increases towards the boundaries.

! If the noise sensitivity is significantly higher at the boundary than near the image
center, the stereo angle and/or focal length may be too low. This can result in
excessive noise in all measurements.
52 CHAPTER 5. CALIBRATION

5.3 Separate Calibration


In some cases, it may be necessary or advantageous to calibrate the cameras separately for their
intrinsic parameters followed by calibrating the system’s extrinsic parameters. With this method,
the cameras are calibrated using a target, and the geometry of the two cameras is determined
from a speckle pattern – either a speckle target, or the specimen itself. This method requires
that two marker points with a known distance on the specimen surface are present in the images.

5.3.1 Calibrating the Intrinsic Parameters


Before separate calibration, the calibration images must be added to the project. Note: Vic-3D
expects image files for both cameras to be present on the disk, even if only one of the two images
is used.
Selecting Calibrate. . . Calibrate Camera 1 from the main menu bar will raise the Calibration
Dialog as with stereo calibration; this may be repeated for camera 2.
At this point, each camera is calibrated but the stereo rig transformation is still undetermined;
this can be confirmed by viewing the Calibration tab of the project toolbar, as below.

5.3.2 Generating Disparity Data


To calibrate the camera orientation, a reference image and an AOI must be present in the
project. The AOI should cover as large an area of the image as possible for an accurate extrinsic
calibration.
Since the system is not calibrated, it may be required to provide an initial guess before
starting the correlation analysis. When the system is only partially calibrated, Vic-3D displays
the following message box when the analysis is started:
Clicking Yes to continue will run a disparity analysis, in which the raw image disparities are
calculated but triangulation is not attempted, and no 3D shape will be calculated.

5.3.3 Calibrating the Orientation


After the disparity data has been calculated, camera orientation may be calibrated by selecting
Calibrate camera orientation from the Calibration menu. The dialog in Fig. 5.12 will appear.
On the displayed image, a line between two fiducial points (with a known physical separation)
will be drawn by clicking and dragging in the image. After the line is drawn, the following dialog
will appear:
Enter the distance between the two marker points and click Ok. You can click Calculate to
finish the calibration, or change the selected line. On completion, a calibration score will be
displayed:
High numbers indicate problems with the underlying data; if necessary, adjust AOI or initial
guess and re-run.
5.3. SEPARATE CALIBRATION 53

Figure 5.10: Project calibration showing missing transformation.

Figure 5.11: Disparity analysis message box.


54 CHAPTER 5. CALIBRATION

Figure 5.12: Orientation calibration dialog.

Figure 5.13: Setting the scale for orientation calibration.

Figure 5.14: Orientation calibration results.


5.4. CALIBRATING AN EXTERNAL CAMERA 55

5.3.4 Correcting Camera Orientation in Pre-Calibrated Systems


The camera orientation calibration can also be used when the system has been calibrated using
regular stereo calibration. This can be useful in situations where the relative orientation of the
two cameras was altered between the acquisition of calibration and stereo images, resulting in
high projection errors. There are three options for setting the scale of the corrected calibration:

• Fixed baseline: This option assumes that the distance between the cameras has not changed
(very much).
Note: the autocorrect feature (selected from the calibration menu) utilizes the fixed
baseline method in conjunction with the disparity data from the reference file by default.

• Point distance: A line between two points can be drawn in the shaded area of the image.
The software will determine the distance between the two end points from the data, but it
can be manually overwritten if the distance is known.

• Markers: If markers with a known distance are available, they can be extracted in the
Marker Editor and used to set the scale.

To perform this operation, select Calibrate. . . Calibrate camera orientation. Select the Fixed
Baseline scale option, and click the Calculate button. A calibration score will be displayed; to
proceed, click Accept.

! Correcting the camera orientation in this manner should generally be avoided, partic-
ularly for setups with a low stereo angle and/or high magnification. If possible, it is
recommended to acquire a speckle image pair after calibration and analyze it before
proceeding with the experiment to ensure the projection errors are at acceptable
levels.

5.4 Calibrating an External Camera


In addition to the camera calibration for DIC, Vic-3D can also calibrate an external imaging
camera to the DIC coordinate system. This is useful for mapping data from, e.g., an infrared
camera.

• To calibrate an external camera, there must be a sequence of calibration target images


for that camera; at least one of those images must show the grid in the same position as
one of the stereo calibration images. If the external camera cannot be synchronized to the
stereo system, it may be required to firmly mount the calibration target in a fixed position
for at least one set of images, while the remainder of the images does not need to show the
same poses.
56 CHAPTER 5. CALIBRATION

• The calibration grid used must show contrast in both the DIC calibration images and the
external calibration image. For the case of an IR camera, this means using a grid that
shows contrast in both the visible and IR spectrum. It does not matter if light and dark
are reversed in the IR camera images compared to the stereo system.
Calibration of the external camera is performed by clicking Calibrate. . . Calibrate External
Camera from the main menu. A file selection dialog will appear.

Figure 5.15: Image selection for external calibration.

In this dialog, the set of calibration images for the external camera must be selected followed
by clicking the Open button. In the following dialog, a camera ID must be assigned to the
external camera.
Multiple external cameras can be calibrated; select an ID, or when using a single external
camera, simply click OK. A single-camera calibration dialog will appear.

5.4.1 Calibration and Setting the Coordinate System


Calibration proceeds as usual (for details, see the Calibration Dialog topic), except that the
coordinate system must be set by using the pulldown at the bottom right:
This must be the same grid orientation selected during stereo calibration; if a different or
no orientation was set during stereo calibration, the stereo calibration must be repeated with
5.4. CALIBRATING AN EXTERNAL CAMERA 57

Figure 5.16: Camera ID for external camera.

Figure 5.17: Calibration Dialog for External Camera


58 CHAPTER 5. CALIBRATION

Figure 5.18: Setting coordinate system for calibration.

the same orientation selected to define the coordinate system. If an image with the same grid
orientation is not available, the technique described in Section 5.5 must be used.
Once the calibration is complete, click Accept. To proceed with mapping the external data,
run the correlation, and then use the Map external data postprocessing tool.
5.5. ALIGNING AN EXTERNAL CAMERA 59

In Vic-3D 10 it is possible to calibrate the stereo cameras with one grid and the IR
camera with another, as long as there is a single image of the same grid in both
cameras. For instance, this method could be used to calibrate high-resolution cameras
with a high-resolution grid; calibrate the IR camera with a low-resolution grid; and
then complete the alignment with an image of the low-resolution grid. For more
information, see Section 5.5.

5.5 Aligning an External Camera


In Vic-3D 10, the position of an external/IR camera may be computed by using a single grid
image, independent of the images used for camera calibration. This enables the orientation
calibration of IR cameras without compromising optimal stereo calibration.
Before aligning the IR camera, a stereo calibration and an external camera calibration must
be present in the project. Once that is complete, to begin, click Calibrate. . . Compute External
Projections from the main menu. The Align IR dialog will appear as pictured in Fig. 5.19.

Figure 5.19: Align IR dialog.

The stereo calibration image pair may be chosen by clicking Select stereo images. Then
60 CHAPTER 5. CALIBRATION

a stereo image may be selected from the file dialog; the corresponding pair image will also be
added.
Clicking Select IR image brings up a file dialog which will allow picking the associated IR
camera image. The image must be of the same grid in the same pose as the stereo images.

Figure 5.20: Align IR dialog.

The image filenames will be displayed in the image tabs and shown in green if the images
are properly loaded. Each image may be viewed by clicking the corresponding tab. If a coded
calibration target is found, the target will be automatically filled in the Target: selector;
otherwise, the correct target can be chosen from the pulldown. Targets may be added (+),
removed (-), or edited (Edit), exactly as in the main calibration dialog. Click Extract to
extract the grid points.
The points will be displayed on each image tab and may be checked as needed. The analysis
can be performed by clicking Analyze; the estimated camera position will be displayed in the
log window.
Clicking Accept will close the dialog and set the alignment in the current project. The
dialog can be canceled by clicking Cancel; if a valid calibration has already been computed, a
confirmation will be displayed before discarding the calibration.

5.6 Adjustments for Cropping


For many applications, particularly in high-speed imaging, the images collected during the test
may not have been acquired at full sensor resolution in order to increase the frame rate or to
save disk space. This can pose serious difficulties for normal calibration procedures. For instance,
5.6. ADJUSTMENTS FOR CROPPING 61

Figure 5.21: Align IR dialog.

Figure 5.22: Align IR result.

if a dog-bone sample is used, it can be advantageous to reduce the size of the image in the
short dimension of the sample. This can lead to images that are only a few tens of pixels in one
dimension, and it is practically impossible to image a calibration target in this case.
For such applications, it is best to calibrate the camera at the full resolution of the sensor
and only crop the images during the test. The crop dialog seen in the figure below permits
adjustment of the calibration in such cases.
The dialog permits the user to enter the top-left corner of the image section with respect to
the calibration images for both cameras.

• If a reference image is loaded during calibration with a different size than the calibration
images, the adjustment dialog is automatically shown.
62 CHAPTER 5. CALIBRATION

Figure 5.23: Crop adjustment dialog.

• The default values for the offsets are computed so that they are correct for most modern
high-speed cameras that crop from the center of the sensor.
• For images taken with Vic-Snap, the correct values will be read from the TIFF metadata.

New calibration parameters for camera 1 and 2 will change after clicking OK (the
transformation parameters will not change). Please note that this task must only be
performed once. After the calibration adjustment has been applied correctly, a much
lower (and correct) projection error will result during the analysis.

5.7 Importing a Calibration


To import the calibration from an existing Z3D or V3D project file, select Calibration. . . From
project file from the main menu bar. You will be prompted to select a project file; when complete,
the calibration will be imported and added to your current project.

To generate a new project with a calibration from an existing project, it can be more
convenient to use the Project->New from template function.
Chapter 6

Initial Guess Selection

In this version, Vic-3D, initial guesses will be needed very rarely due to the efficient auto-guess
algorithm. Some instances where they may still be necessary include:

• Multiple, large camera angles (rather than a single stereo angle.)


• Highly curved surfaces such as cylinders.
• Large rotations between successive images.
• Very fine or indistinct speckle patterns.
• Poor calibration, or no calibration (for disparity analysis.)

In the absence of these conditions, a correlation will generally be successful when initiated
immediately after selecting an AOI. If the correlation fails, a warning will appear and an initial
guess may be needed.

Even if an initial guess is not required, placing a start point in an appropriate location
(see below) can make the analysis faster. This is the case even if the start point
location is not pre-computed for all images before correlation analysis.

6.1 Placing Start Points


A start point may be placed by clicking the icon in the Mask tools box from the AOI Editor.
Once a start point is placed, Vic-3D will start looking for initial guesses in the background. If
initial guesses are not automatically found, manual editing may be required.

63
64 CHAPTER 6. INITIAL GUESS SELECTION

Generally, it is best to place a start point in the area of the image that undergoes
the least amount of motion during the test. For instance, if a specimen is tested in
a tensile frame, the start point should be placed as close to the stationary grip as
possible. Placing the seed point this way will help ensure fully automatic correlation.
If a specimen is expected to fail or crack, it may help to put start points on either
side of the specimen so that once failure occurs there will still be a start point on
both surfaces.
For very large transformations or rotations, it can be very helpful to place fiducial
marks on the surface. This can be integrated into a printed pattern or simply drawn
on the surface with a marker. These marks may be located much more easily than
the random pattern especially if, i.e., one image is rotated 180 degrees from the other.

6.2 Editing Initial Guesses


The initial guess dialog may be accessed by double clicking on the icon in the AOI editor, or
right-clicking and selecting Edit guesses. The Initial Guess Editor dialog (Fig. 6.1) will appear.
The four windows on the left show the camera 0 and camera 1 reference images above, and
the camera 0 and camera 1 deformed images below. The small windows at the upper right show
the zoomed-in guess for the same four images. The list at the lower right shows all the deformed
images; where a guess is already present, the marker will be green. A yellow marker indicates a
guess exists for only one image of that pair, and a red marker means no guess exists.
A guess may be added by dragging the corresponding square from the stereo or deformed
image until it is in the same spot as the reference camera 0 image (at top left). The images can
be zoomed in and out with the mouse wheel, or by clicking the icon and drawing a box; or by
clicking the icon to zoom into the current guess area. A histogram control is provided for the
reference and deformed images. The red bars may be adjusted to control image balance; this can
be useful for finding detail in very dark images. Double clicking the histogram will automatically
set/reset the limits.
In figure Fig. 6.2, the camera 1 image guess has been dragged to the approximate correct
location:
The guess can be checked by clicking the icon, or by right-clicking in the desired image
(Fig. 6.3).
If the correct match is found, a second right-click will accept it. If the match is not found,
the guess can be moved and tried again. Where severe scaling or shear is present, the guess may
need to be refined by adding control points or setting scaling/shear with the control nodes.

6.3 Initial Guesses from Corresponding Points


Initial guesses, including deformation components, can be set using corresponding control points.
Control points may be added to the reference image by clicking the icon and then clicking
6.4. INITIAL GUESSES FROM SUBSET CONTROLS 65

Figure 6.1: Initial guess editor.

on an easily identifiable image feature, e.g. the center of a speckle. Up to three points can be
added, as indicated in Fig. 6.4.
The control point locations are automatically shown in the deformed views based on the
current guess parameters. These points may be dragged to the correct location by clicking on
them and then dragging the mouse while keeping the button pressed. Note that Vic-3D will not
allow points that are too close together, or too close to colinear. Control points may be deleted
by first clicking and then clicking on the point to remove.

6.4 Initial Guesses from Subset Controls


Initial guesses may also be set by using the controls built into corners and edges of the subset.
The upper left control point affects rotation; the left and bottom points control X and Y scaling;
and the upper right and lower right points control shearing.
66 CHAPTER 6. INITIAL GUESS SELECTION

Figure 6.2: Approximate guess location.

Figure 6.3: Initial guess found.


6.5. COMPARISON VIEW 67

Figure 6.4: Setting control points.

In most cases where a manual initial guess is required, a stereo guess (for the initial
reference pair) will be sufficient to initialize the correlation. After a stereo guess is
provided, the software can normally determine initial guesses for deformed images
automatically during the correlation process. This works best if the translations and
deformations are kept small between successive images. To that end, it is beneficial
to use a high sampling frequency and to place start points in lower-motion areas (e.g.,
near the fixed grip in a tensile test) as described above.

6.5 Comparison View


While manipulating initial guesses, a comparison view showing the reference subset and the
corresponding deformed subset (resampled based on the current guess parameters) is shown in
the upper right-hand corner of the dialog. When the initial guess is correct (or close), the four
patterns should look similar as shown in Fig. 6.5.
68 CHAPTER 6. INITIAL GUESS SELECTION

Figure 6.5: Comparison view of reference and resampled deformed subset.


Chapter 7

Running the Correlation

The correlation may be started by selecting the Run Correlation entry from the Data menu, or
pressing the button on the tool bar. The correlation can also be started with the keyboard
shortcut CTRL+R.

7.1 The Files Tab


The file tab on the analysis dialog is illustrated in Fig. 7.1. The name of the reference image
is displayed at the top while the deformed images used for correlation are shown in a list box
below.

7.1.1 Selecting Images


The deformed images to use for correlation analysis can be selected from the list box on the
dialog. Selected images are indicated by a check mark. Above the list box, buttons are available
to select/deselect all image files contained in the list box. A subset of files (1 in every 2, 5, 10,
or n) may be selected by right-clicking in the file list and choosing the desired option.
If no images are selected (None), only the reference image is analyzed.

7.2 The Options Tab


The tab on the dialog displays the following options:

7.2.1 Projected Speckle Mode


If this box is present (when the module key is installed), it can be selected to analyze images
where the speckle pattern was projected rather than affixed to the surface. In this mode, each
data point in the reference image is analyzed for X, Y, Z position. Then, for each deformed
image, we again determine an X, Y, Z position for each data point; for a given data point,
the difference between the reference position and the deformed position is calculated and this
becomes the U, V, W displacement. At no time do we track a point from the reference image to
a deformed image; each point is considered as a location only, and the location delta is calculated

69
70 CHAPTER 7. RUNNING THE CORRELATION

Figure 7.1: Analysis dialog file tab

from the locations. Because of this, the pattern may be completely different from one image to
the next.
In projected speckle mode, in-plane motions will not be recognized, because the speckle
pattern does not stay with the surface. All displacements will come from shape change.

7.2.2 Differential Mode


When this group is present, checking Differential analysis will enable a new analysis mode
where each image is compared to the prior image with a consistent (static) AOI.
Velocities may be computed by checking Compute velocities and entering the known time
step of image acquisition.

Differential mode can be used for continuously moving surfaces that leave the frame,
e.g., a rotating tire.
7.2. THE OPTIONS TAB 71

Figure 7.2: Analysis dialog options tab

Figure 7.3: Differential mode options tab


72 CHAPTER 7. RUNNING THE CORRELATION

7.2.3 Subset Weights


This option controls the way pixels within the subset are weighted. With Uniform weights,
each pixel within the subset is considered equally. Selecting Gaussian weights causes the subset
matching to be center-weighted. Gaussian weights provide the best combination of spatial
resolution and displacement resolution.

7.2.4 Interpolation
To achieve sub-pixel accuracy, the correlation algorithms use gray value interpolation, representing
a field of discrete gray levels as a continuous spline. Either 4-, 6-, or 8-tap splines may be selected
here.
Generally, more accurate displacement information can be obtained with higher-order splines.
Lower-order splines offer faster correlation at the expense of some accuracy.

7.2.5 Criterion
There are three correlation-criteria to choose from:

• Squared differences: Affected by any lighting changes; not generally recommended.


• Normalized squared differences: Unaffected by scale in lighting (i.e., deformed subset is
50% brighter than reference.) This is the default and usually offers the best combination
of flexibility and results.
• Zero-normalized squared differences: Unaffected by both offset and scale in lighting (i.e.,
deformed subset is 10% brighter plus 10 gray levels.) This may be necessary in special
situations. However, it may also fail to converge (produce a result) in more cases than the
NSSD option.

7.2.6 Low-Pass Filter Images


The low-pass filter removes some high-frequency information from the input images. This can
reduce aliasing effects in images where the speckle pattern is overly fine and cannot be well
represented in the image. (These aliasing effects are often visible as a moire-type pattern in the
output data.)

7.2.7 Incremental Correlation


With incremental correlation, each image is compared to the previous image rather than the
reference image. This can be useful in cases of pattern breakdown or extremely high strains
(>100%). This comes at the expense of an increase in noise for later images, because the
noise continues to add over each successive correlation. Note that the displacements are
automatically integrated, i.e., the results are still in Lagrangian coordinates. This integration has
the negative side-effect that non-random noise is integrated as well and can lead to significant
error accumulation.
7.2. THE OPTIONS TAB 73

! Due to error accumulation, it is not recommended to use incremental correlation.

If incremental correlation has to be used, it is recommended to first analyze an image


sequence without incremental mode to determine at what point the correlation breaks
down. The incremental mode can then be used to analyze only the images after
that point in a second analysis. This is accomplished by deselecting the successfully
correlated images except for the last one; see Section 7.1 for details. An initial guess
may be required for the last successfully correlated image when the intermediary
images are deselected.

7.2.8 Fill Boundary


Checking this option will cause the analysis to produce data all the way out to the edge of the
AOI. The data is interpolated from multiple subset gradients using an intelligent optimized
algorithm. The resulting output data is compared in Fig. 7.4.

Figure 7.4: Fill boundary off, left, and on, right.

7.2.9 Use Left Stereo Reference


By default, Vic-3D compares the left to the right image only once: in the initial stereo pair.
After this point, succeeding left images are compared to the left reference, and succeeding right
images are compared to the right reference. This is illustrated on the left in Fig. 7.5.
74 CHAPTER 7. RUNNING THE CORRELATION

Time 1

Time 2

Time 3

Right reference Left reference


Figure 7.5: Illustration of which images are compared for left and right stereo reference.

Alternately, both left and right images from any point in the sequence may be compared to
the left reference image. Checking the “left stereo reference” box will cause this latter behavior,
as illustrated on the right-hand side in Fig. 7.5.

! While the right stereo reference normally provides better results for deformation
analysis due to the better similarity between images taken by the same camera, there
are situations where artifacts can arise, particularly at the boundary. After the stereo
correspondence has been determined for the reference image, the software always
uses a square subset in the right reference image located at the center point found
in the disparity analysis. It is possible that this subset overhangs the object at the
boundary if the perspective transformation results in significant compression of the
subset between left and right camera, which is the case, e.g., at the edges of cylinders.
In such situations, it is best to trim the AOI to avoid the overhang or to use the left
stereo reference.

7.2.10 Exhaustive Search


Enabling this option will cause Vic-3D to repeat a coarse search for matches after each time
the correlation fails. This may result in more data recovery at the expense of vastly increased
processing time.
7.3. THE THRESHOLDING TAB 75

7.2.11 Processor Optimizations


This option controls the number of processors/cores Vic-3D uses for analysis. If the spin box is
set to its minimum value, [Auto] and the number of logical processors present will be displayed,
and this preference will be stored in the registry.

Due to the multi-threaded and path-dependent nature of the analysis algorithm,


multi-processor analysis will return very slightly different results from one run to the
next. The difference is well under the precision of the algorithm and will not produce
any meaningful difference in strain or displacement results.

7.3 The Thresholding Tab


This tab provides options for removing any data that is bad or suspect while maximizing the
amount of retained data. Four thresholding options are available. For a typical test, the default
values will work very well, but when conditions are unusual or substandard (blur; debris; poor
lighting; etc), some adjustment may be required.

7.3.1 Consistency Threshold


After Vic-3D analyzes the seed point, the analysis is propagated to each of its four neighbors,
and so on. Each point is fed with a prediction of its approximate match. After the match is
made, a back-prediction is calculated. If the back-prediction does not closely match the actual
location of the prior neighbor, this threshold will remove the data.

7.3.2 Confidence Margin


For each match, Vic-3D calculates a statistical confidence region, in pixels, using the covariance
matrix of the correlation equation. If the confidence region exceeds this threshold, the data will
be removed. The confidence margin corresponds directly to the noise in the image matches (at
least for low noise levels).

7.3.3 Matchability Threshold


This option automatically removes subsets that show a very low contrast, i.e, subsets that don’t
contain very much information. This value may be decreased to remove more data or increased
to retain more data, i.e., if lighting conditions were poor.

7.3.4 Epipolar Threshold


For a stereo system, the match for a point in one image must theoretically be found on a line in
the other camera’s image. This line is called the epipolar line. If a calculated match does not lie
very close to the epipolar line, this threshold removes the data. The epipolar threshold can also
76 CHAPTER 7. RUNNING THE CORRELATION

Figure 7.6: Analysis dialog thresholding tab

be thought of as a limit on the projection error. High projection error may be caused by motion
blur, synchronization issues, a poor calibration or cameras which are not rigidly mounted.

7.4 The Post-Processing Tab


The post-processing tab on the analysis dialog is shown in Fig. 7.7. This tab controls whether
an automatic plane-fit is applied to the data and whether metric confidence margins and strains
are computed or not.

7.4.1 Auto Plane Fit


Checking this option will create a coordinate system based on the reference shape. The origin
will be at the mass centroid of all measured points, with the Z-axis normal to the best-fit plane
of the data field.
Leaving this option cleared will return results in camera coordinates. If custom coordinate
transformations are to be used, this mode should always be used so that there will be a consistent
Cartesian reference frame rather than one that may move based on the data.
7.5. THE MULTI-SYSTEM TAB 77

Figure 7.7: Analysis dialog post-processing tab

7.4.2 Compute Confidence Margins


Check this box to add metric confidence margins for X, Y, and Z position and displacement.
The new variables represent the 1-standard-deviation confidence for the position, computed from
the pixel confidence margin together with the camera geometry.

7.4.3 Strain Computation


Checking this option performs a strain computation as each image is processed; results can be
viewed in the preview.

7.5 The Multi-System Tab


The multi-system tab on the strain dialog is illustrated in Fig. 7.8. When the Multi-System
Correlation check-box is checked, a different calibration can be used for the deformed images
while the main project calibration is still used for the reference image. This can be used for
correlating from one stereo pair to another pair, i.e., for registering overlapping patches around a
cylinder (see Section 9.4.2 for details). If can also be used when the system must be recalibrated
between reference and deformed images.

Multi-System Correlation
This check-box is used to enable and disable multi-system mode.
Calibration
Click to select the project file containing the deformed calibration.
78 CHAPTER 7. RUNNING THE CORRELATION

Figure 7.8: Analysis dialog multi-system tab

Use multisystem naming


If this option is checked, deformed output files will be named differently. If the input files
are multisystem files generated by Vic-Snap (sys1, sys2, etc), the output files will be named
for the two systems - for instance, trans_sys1_sys2.out. If the input files do not contain a
system number, the output file will be named after the reference and deformed images -
for instance, trans_reference_deformed.out.
Image scaling
For completing global-local type tests, it may be helpful to work with images which are
scaled down by a factor of 2 or 4. If your deformed images have been scaled this way, select
the appropriate factor; normally, this option will be left at Normal.

7.6 Correlation Results


After starting the correlation, progress information is provided with a preview plot and a
progress bar as illustrated in Fig. 7.9. The plot can be manipulated through a context menu by
right-clicking, see Section 13.5.2 for details.
The window contains an overview of correlation progress and results.

• File: The progress and total number of files to analyze.

• Points: The number of data points calculated for the image.

• Time: The amount of time spent on correlation analysis in seconds.

• Error: A measure of correlation accuracy (specificially, epipolar projection error). A high


number indicates possible problems with calibration or camera synchronization.

• Progress bar: Indicates the progress of each individual file as it is correlated.


7.7. TROUBLESHOOTING ANALYSIS 79

Figure 7.9: Analysis progress during correlation.

This window also contains a preview of the output data. This data may be viewed in 2D and
3D and manipulated as with a standard plot.

The default settings for the plot shown in the analysis dialog may be adjusted in the
Global Preferences dialog.

When the analysis is complete, a summary of the above data for all images analyzed can be
viewed by clicking on the View Report button, see Fig. 7.10 for an example. The report may be
saved as a CSV by right-clicking and selecting Save Report.

7.7 Troubleshooting Analysis


There are a few potential explanations when no points are found during the analysis.

• An initial guess is needed: Vic-3D will attempt to automatically determine a good start
point and to find the match in the other stereo image. This algorithm usually works well
but if the pattern is dark or indistinct, or if the calibration is imperfect, it may fail. In
this case, you can manually place a start point using the AOI tools. Often, simply placing
the start point on a clear, recognizable feature will be enough; if it is not, you can provide
a manual initial guess.
• Thresholds are set too low: The amount of data removed may be controlled using the
Thresholding tab of the Analysis dialog. The defaults are generally good, but in some
cases they may remove all data. A common case would be that the calibration has been
80 CHAPTER 7. RUNNING THE CORRELATION

Figure 7.10: Analysis report after calibration.

disturbed, and this is causing the Epipolar Threshold to remove all data. Thresholds may
be raised or disabled until the desired data is seen.
• Image is too dark: Vic-3D can work with images which are fairly dim but a bright image -
just on the edge of being overdriven, but not quite - will give the best results. The area
of interest should be bright and even in both camera images. An initial guess should be
provided, if necessary.
• Image is defocused: Severe defocus can cause correlation to fail; the image should be sharp
across the entire area of interest, in both cameras. An initial guess may be necessary.
Chapter 8

Batch Processing Dialog

To batch process multiple project files, the Batch Analysis entry in the File menu can be used.
This will display the dialog shown in Fig. 8.1. This dialogallows queueing of multiple projects
along with optional report templates for analysis.

Figure 8.1: Batch dialog.

8.1 Queuing Projects


Projects can be added to the processing queue conveniently by pushing the arrow button in the
top right. This displays a menu with recent projects to choose from. To queue a project that is

81
82 CHAPTER 8. BATCH PROCESSING DIALOG

not present in the recent files menu, the folder icon can be pressed to select the project file via a
file dialog.
An optional report template can be added in the same manner. After all images in a project
have been analyzed, the report template is used to generate a report.
Projects can be removed from the queue by selecting them in the listbox and pressing Delete
or Backspace.
Once all projects have been queued, the analysis can be started by pressing the Run button.

8.2 Batch Analysis


After the analysis has been started, the dialog will display the current project being analyzed
with a progress bar indicating what percentage of the images has been processed. Below the
progress bar, a log window provides additional information, e.g., the number of points, projection
error as well any potential errors that might occur. An example of the dialog during analysis is
shown in Fig. 8.2.

Figure 8.2: Batch dialog.


Chapter 9

Coordinate Systems and


Transformations

The coordinate system in which the measured data is presented can be selected in a variety of
ways. If no user selection is made, the default coordinate system is determined from the stereo
transformation between the cameras. The origin is placed at the mid-point of the stereo rig’s
baseline and the X-axis coincides with the baseline. A common transformation is to use an
automatic plane fit to the reference image, which can be enabled in the post-processing options
of the analysis dialog (see Section 7.4.1 for details).

! The auto-plane fit option results in a data-dependent coordinate system. If the data
has to be registered to other data, e.g., a second stereo system, finite element data or
a world coordinate system established externally, the auto-plane fit option must be
turned off.

The following tools are available for establishing coordinate systems and applying them to
data sets:

• Apply transformation - apply a previously saved transformation to selected data files


• Set coordinate system - set the default coordinate system to a previously established
system.
• Best plane fit - fit the data to the approximate plane of a selected data file
• Select coordinate system - select an origin, X- or Y-axis direction, or XY plane
• Import from project file - bring in a transformation saved in a different Z3D or V3D
project file
• Input manually - enter a transformation in terms of angles, or specify a transformation
matrix
• Rigid transformation from displacements - calculate a transformation from the
displacement between two images. This can be used to register multiple DIC systems that
have an area of overlap.

83
84 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

• Compute cylinder transformation - select a polar coordinate system, for nearly cylin-
drical surfaces
• Apply cylinder transformation - apply a saved polar coordinate transform
• Multi-view registration from rigid motions - register two or more Vic-3D systems
into a common coordinate system based on rigid motions of a speckled object.
• Coordinate system from markers - determine a coordinate system from known fiducial
points.

9.1 Coordinate System Selection


Coordinate system transformations can be selected based on the 3D data contained in the
reference data file.

To efficiently use coordinate transformations, make sure to disable automatic trans-


formation during data analysis; see Section 7.4.1 for details.

A new coordinate system may be chosen by selecting Data. . . Coordinate tools. . . Select
coordinate system from the main menu bar.
The dialog in Fig. 9.1 will appear.

9.1.1 Selection Method


9.1.1.1 Best-Fit Plane
This option may be selected to calculate a transformation into the best fit plane of the surface.
This is identical to selecting Best Plane Fit from the coordinate tools menu.

9.1.1.2 Select Origin


This option may be used to designate an origin for the coordinate system, leaving the orientation
unchanged. Simply click Select Origin, and pick a point in the image. This point becomes 0,0,0
in the x,y,z coordinate system. The orientation of the axes will be determined from the best
plane fit.

This transformation is useful when a specific point in the image is a convenient


reference origin, for example, a notch in the specimen.
9.1. COORDINATE SYSTEM SELECTION 85

Figure 9.1: Coordinate system selection dialog.

9.1.1.3 Origin and X-Axis

Selecting this option allows the designation of the coordinate origin as well as the x-axis. After
selecting, the first point clicked in the image becomes the coordinate origin. The second point
clicked indicates the direction of the positive x-axis. The direction of the z-axis will be determined
from the best plane fit, and the new y-axis will be normal to both.

This transformation is useful when both a specific origin point and an orientation
are desired; for instance, the origin could be a crack tip and the axis could be the
direction of the crack opening.

9.1.1.4 Origin and Y-Axis

This is a convenience function, identical to the above except that the Y-axis is chosen.
86 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

9.1.1.5 3-Point Selection


This option allows selection of an origin and the complete orientation of the axes. The first point
selected becomes the origin. The second point clicked determines the direction of the X-axis.
The final point defines the third point on the new XY plane, completing the coordinate system
definition.

9.1.2 Reference Point


If desired, a coordinate may be designed for the reference point, other than the (0, 0, 0) Cartesian
origin.
Clicking Accept will cause the new coordinate transformation to be calculated. The following
dialog will appear:

Figure 9.2: Coordinate system name dialog.

The transformation will be saved under the name entered. At this point a prompt appears,
allowing immediate application of the transformation.

9.2 Applying Coordinate Transformations


There are two methods to apply coordinate transformations. The first method is used to set the
coordinate system of the project, while the second method is used to transform existing data
into a different coordinate system.

9.2.1 Applying Transformations to Projects


To set the coordinate system of a Vic-3D project, the menu entry Data.. Coordinate tool.. Set
Coordinate System can be used. Selecting this entry results in one of the following actions:

1. If there is no transformation stored in the project, a prompt is displayed that gives the
option to use a transformation stored in a different project file. If this option is confirmed,
a file dialog is displayed to select the project file that contains the desired transformation.
2. If the project contains coordinate transformations or after a different project file has been
selected in step one above, a dialog is displayed to select the coordinate transformation
that is to be set as the new project coordinate system.
9.2. APPLYING COORDINATE TRANSFORMATIONS 87

Once the coordinate system has been selected, it is then applied to the camera extrinsic
parameters so that future correlation analysis and retriangulations will produce data in the
selected coordinate system.

! This method does not apply a transformation to any data that already exists in
the project. To retriangulate existing data in the new coordinate system, the Re-
store/Retriangulate post-processing function can be used as described in Section 10.5.

9.2.2 Applying Transformations to Data


Coordinate system transformations can be applied to data files by selecting the Apply Transfor-
mation entry from the Coordinate System Transformation menu. The following dialog allows
choosing which transformation to apply, and which data files to apply the transformation to.

Figure 9.3: Apply coordinate transformation dialog.

The selected transformation may be inverted (undone) by checking Invert Transformation.


Each transformation contains 3 rotation components and 3 translation components. By
default, only the rotation is applied to the U, V, and W displacement variables; that is,
the displacement vectors are rotated with the surface, but their magnitude is unchanged. If
88 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

Displacements only is checked, the translation components will be applied as well, altering the
displacement vectors’ magnitude.

! If strains are present in the input data, a warning will appear indicating that they
will not be transformed. It will be necessary to recalculate strain for the x and y
components to be correctly aligned with the new coordinate system.

9.3 Cylindrical Coordinate Transformations


Cylindrical coordinate transformations may be calculated by selecting Data. . . Coordinate
tools. . . Compute cylinder transformation from the main menu bar.

Figure 9.4: Cylindrical coordinate dialog.


9.3. CYLINDRICAL COORDINATE TRANSFORMATIONS 89

A polar cylindrical origin in Z and Theta may be selected by clicking in the blue data region
of the image. If a reference coordinate other than (T heta = 0, Z = 0) is desired, values may be
entered in the Reference Point box.
A cylindrical fit will be automatically determined by the software. An initial radius guess
may be entered in the R [mm] box; this radius may be forced by clicking Use fixed radius.

The fit will normally succeed without entering a radius. If the data is very sparse or
ill-formed, entering a radius may become necessary.

The calculation is completed by clicking Accept.

Figure 9.5: Cylindrical coordinate result.

The calculated radius and standard deviation are displayed. Click OK to name the transfor-
mation, and optionally apply it to the data.

Figure 9.6: Cylindrical coordinate name.

New variables R, Z (cylinder), and Theta as well as dR, dZ (cylinder), and dTheta will be
added to the results. These indicate the radius (distance from the polar axis), axial coordinate,
and rotation angle (in radians).

Applying a cylindrical coordinate transformation also applies a Cartesian transforma-


tion, the effect of which is to align the cylinder axis exactly with the Cartesian y-axis.
Once strain is recalculated, the Exx strain will be identical to the hoop strain, and
the Eyy strain will be identical to the axial strain.
90 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

9.4 Coordinate Systems Registration


For certain applications, it is required to register Vic-3D data to a known coordinate system.
The known coordinate system could be given by a second Vic-3D system, or it could be given by
the test article (e.g., the lower left-hand corner of a beam) or even by a finite element model.
There are different methods to accomplish this task, and the preferred method will depend on
the application. In order of most accurate to least accurate registration, the methods available
in Vic-3D are

1. Registration using rigid body motions.


2. Registration using overlapping regions between adjacent Vic-3D systems.
3. Registration using known marker locations.

The first method uses a sequence of images where a rigid object that is visible in all systems
that are to be registered is translated and rotated. This is similar to a sequence of regular
calibration images. There does not need to be any overlap in the field of view of the systems,
but a speckle pattern must be visible in all systems that need to be registered. This method
provides the best accuracy and the analysis procedure is no more difficult or time consuming
than the second method.
The second method, using overlapping regions between adjacent Vic-3D systems, has the
advantage that a single image is sufficient and no object motions are required. This comes at
the expense of accuracy and only works if the systems have a sufficiently large overlap. The
analysis requires that a correlation be performed from one system to the other, and finding an
intial guess for this analysis can sometimes be challenging.
The third method, using known marker locations, only requires a single image in which
the markers are visible and the image analysis is straightforward, particularly if the marker
locations are available in a text file already. Due to the limited accuracy of this method, it is
only recommended for registering data to external coordinate systems, e.g., finite element data.
The following sections describe each of the methods in more detail. The most common
mistake when registering coordinate systems is to forget to turn off the auto plane-fit mode when
analyzing the data, see Section 7.4.1.

9.4.1 Registration from Rigid Body Motions


The process of registering multiple Vic-3D systems into a common coordinate system using rigid
body motions involves the following steps:

1. Set up Vic-Snap for multi-system acquisition or, if not using Vic-Snap, name the image
files with an identifier -sysN- before the image number, where N is the system number.
2. Acquire calibration images for each system.
3. Acquire synchronized images of a rigid object with a speckle pattern visible in each system.
This sequence should contain the maximum rotations possible within the depth-of-field.
4. Create a project for each system and perform a calibration and an analysis of the motion
sequence and ensure that auto plane-fit is turned off.
5. Use the multi-view registration dialog to determine the coordinate transformations between
the systems.
9.4. COORDINATE SYSTEMS REGISTRATION 91

6. For each system, set the coordinate system found in the previous step as the default system
and store the project.

More details of the experimental procedure can be found in an application note. This section
addresses only the last two steps of the analysis process.

9.4.1.1 Computing Transformations


The computed coordinate transformations will be relative to a reference system, which is
determined by the project that is used to compute the transformations. Typically, this would
be system 1, so the following steps are normally carried out with the project file of system 1
open in Vic-3D. The multi-view registration dialog can be opened by using the menu entry
Data. . . Coordinate tools. . . Multi-view registration from rigid motions. This will show the
dialog illustrated in Fig. 9.7 if the file naming is consistent with a multi-system project and the
data files from other systems can be found. On the setup page of the dialog, the data files used
for registration can be selected in the file list, and the systems for which a transformation is
computed can be selected using the checkboxes indicating the system number. Once the selections
have been made, pressing the Compute button will start the coordinate system transformation
computation.

Figure 9.7: Multi-view registration dialog.


92 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

9.4.1.2 Checking Results


After the computation is complete, the dialog shows the computed transformations as well as the
confidence intervals for all parameters in the log window. The results can also be visualized by
clicking on the Plot tab as illustrated in Fig. 9.8. The drop-down menu in the top-right corner
can be used to select which data file to display. The patches from all systems should appear in
the correct relative orientations and rigidly move together when changing the data file.

Figure 9.8: Multi-view registration results.

9.4.1.3 Generating Project Files


After the transformations have been computed in the Vic-3D project that belongs to the reference
coordinate system, the project file must be stored. Then, for each of the N systems, the following
steps have to be performed after opening the corresponding project file containing the calibration:

1. The menu entry Data.. Coordinate Tools.. Set Coordinate System can be used to set the
correct transformation as the default coordinate system.
2. A prompt appears asking whether to import a transformation from a project file for all
systems except the reference configuration. After accepting, the reference project file should
be selected in the file dialog shown.
9.4. COORDINATE SYSTEMS REGISTRATION 93

3. The correct transformation has to be selected from the list that appears, which is typically
labeled System N unless the prefix was changed when computing the transformations.
4. The project file should be saved so it can be used as a template for analyzing the displace-
ment data from the test article.

The project files created in this manner will contain the calibration for each system and the
camera orientations are set such that the data will automatically be in the correct coordinate
system when processing speckle images. There is no need for further coordinate transformations.
For further details, see Section 9.2.1.

9.4.1.4 Error Sources


If the coordinate systems are not registered correctly, there are a number of possible reasons
that could be at fault.

• By far the most common mistake is to leave the auto-plane option enabled for analysis,
see Section 7.4.1 for details.
• Outliers or sparse data for one of the orientations can create large errors in the transfor-
mations. The input data for the computation should always be checked to ensure the
correlation data is accurate.
• Insufficient rotations when acquiring the rigid body motion sequence can cause poorly
estimated translation components in the coordinate system transformations. The image
sequence should maximize rotation angles within the depth of field.

9.4.2 Registration from Overlap


To register two adjacent Vic-3D systems into a common coordinate system based on an overlapping
region, the following steps are required (it is assumed that system 1 is the reference system):

1. A multi-system analysis in the overlapping region must be performed to obtain displace-


ments from system 1 to system 2. Note that this only has to be done for a single image
pair. See Section 7.5 for details.
2. A rigid-body transformation is then computed from the displacements as described below
in Section 9.4.2.1.
3. The system 2 coordinate system is then set to this transformation to produce data in system
1’s coordinate system. This step is analogous to the procedure described in Section 9.4.1.3
above.

While this process seems straightforward, there are a number of pitfalls that should be
avoided, particularly when registering a series of adjacent systems, e.g., a series of systems placed
around the circumference of a cylinder. It is recommended to consider using the rigid motion
based method described in Section 9.4.1 above whenever practical as it is more accurate and
more convenient. If this is not an option, however, the following suggestions might help:

• By far the most common mistake is to leave the auto-plane option enabled for analysis,
see Section 7.4.1 for details.
94 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

• The second most common mistake is to accidentally overwrite data files before computing
the orientations. It is recommended to create a new directory for each analysis between
neighboring systems and copy the required image and project files (with the calibrations
for the relevant systems) into that folder. A convenient structure is

project/
registration/
sys1-sys2/
sys2-sys3/
...
sysN-sys1/

Using this file structure avoids overwriting data files and ensures that errors can be traced
back to where they occurred.

• Another possible error source is insufficient overlap between the adjacent systems. This
can lead to high uncertainty in the computed transformations, and for a cylinder, might
lead to a visible gap between the last and first system in the chain.

9.4.2.1 Computing a Rigid Transformation From Displacements


The menu entry Data.. Coordinate tools.. Rigid transformation from displacements displays a
dialog that allows the computation of a rigid body transformation based on the displacements
found in a data file. The dialog is shown in Fig. 9.9. The data file for which the transformation
is computed can be selected from the drop-down menu in the top-right corner of the dialog.
After pressing the Calculate button, the software displays the standard deviation of residuals
as well as the rotation angles and translation vector components. After pressing the Accept
button, the software prompts for a name to label the transformation. After entering a name, the
transformation is stored in the project with the selected label.

9.4.3 Registration from Markers


In order to register coordinate systems with markers, the marker locations must be known in
the desired coordinate system from a separate measurement. Once the marker locations are
available in the target coordinate system, registration is straightforward:

1. The markers are first extracted in the marker editor (see Chapter 16) and labeled appro-
priately.
2. The marker coordinate system fit dialog is used to compute the transformation.

The most convenient method is to store the marker locations in a text file, which contains an
entry for each label in the following format:

label,X,Y,Z
9.4. COORDINATE SYSTEMS REGISTRATION 95

Figure 9.9: Rigid transformation from displacement.

If the markers are assigned corresponding labels when they are extracted in the marker editor,
the registration can be performed with just a few mouse-clicks.
The marker coordinate system fit dialog can be shown by selecting the menu entry Data..
Markers.. Coordinate system fit. The dialog is shown in Fig. 9.10. The dialog has the following
three group boxes.

Figure 9.10: Coordinate system fit from marker locations.


96 CHAPTER 9. COORDINATE SYSTEMS AND TRANSFORMATIONS

Markers
Lists the markers by their labels.

Coordinates
Lists coordinates by their labels.

New coordinate
Contains editor fields to create new coordinates or delete existing coordinates. The following
controls are available:

• Name: The name/label for the coordinate.


• X/Y/Z : The coordinates.
• Add/Update: Button to add a new coordinate or update the currently selected
coordinate.
• Remove: Removes the current coordinate.
• Clear: Removes all coordinates.

For the coordinate fit to work properly, markers have to be connected to coordinates, i.e.,
the correspondence between markers and coordinates has to be explicitly defined. This is
accomplished by selecting a marker and its corresponding coordinate and then pressing the
Connect button. This has to be done for all marker/coordinate pairs that are participating in
the coordinate system estimation. A connection between marker and coordinate can be broken
by using the Break button. After a connection is broken, the marker will no longer be used in
computing the transformation, unless it is connected again.
As previously mentioned, points can also be imported from a file. This can be accomplished
by pressing the Import points button and selecting the file in the file dialog that appears. If the
file contains coordinates with names matching the markers, the user is prompted whether to
make automatic connections based on marker names.
The coordinates can also be saved using the Save points button. This will store the coordinates
in a format that can later be used to re-import them.
Once at least three connections between markers and points have been made, the Calculate
button can be used to compute the transformation. This will display a dialog showing the
residuals of the fit and the triangulation errors as illustrated in Fig. 9.11. The transformation
can then be assigned a label and stored in the project file.
9.4. COORDINATE SYSTEMS REGISTRATION 97

Figure 9.11: Result of coordinate system fit.


Chapter 10

Postprocessing Tools

Once the initial position and displacement fields are calculated, several tools are available for
processing the data.

• Calculate strain - calculate surface strain tensors.


• Calculate stress - stress analysis using complex and customizable material models.
• Remove rigid motion - removes overall object motion, leaving only deformation.
• Apply function - apply arbitrary user-defined functions to create new variables.
• Restore data - uses initial triangulation data to recreate original position and displacement
field.
• Calculate velocity - uses time information to calculate velocity and strain rate.
• Calculate curvature - calculates local curvature over the surface.
• Calculate in-plane rotation - calculates local surface rotation.
• Smooth - smooths data over a user-specified diameter.
• Map external data - map data from an external source such as an IR camera.
• Delete variables - remove variables created with other postprocessing tools.
• Combine data files - combine multiple data files for display as one.
• Apply math operation - applies simple math operations to discrete variables.

10.1 Strain Calculation


Strain may be calculated for project data by selecting Data. . . Postprocessing options. . .
Calculate strain from the main menu. This will show the strain computation dialog as illustrated
in Fig. 10.1. Note that strains may also be computed during the correlation analysis; see
Section 7.4.3 for details.

10.1.1 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. Data files can be selected for
processing by clicking on each data file to toggle the associated checkbox. For convenience, the
buttons labeled All and None select/deselect all files, while Invert reverses the selection.

99
100 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.1: Strain dialog.

10.1.2 Preview
The effects of the calculation for a single data file may be viewed by highlighting the file and
clicking the Preview button. The resulting plot may be viewed in 2D or 3D by right-clicking, as
with a standard plot.

10.1.3 Compute Principal Strains


Checking this box adds principal strains and principal strain angle to the calculated output data.

10.1.4 Overwrite Variables


If this box is checked, any existing strain variables will be overwritten during the new calculation.
If this box is clear, more data fields will be added to the output data set each time strain is
calculated.

10.1.5 Add filter size in strain description


Checking this option will add the filter size to the text of the new strain variable description.
When more than one strain result is present in the data this may help differentiate each set.

10.1.6 Compute Tresca/von Mises strain


These options may be selected to compute the Tresca/von Mises strain criterion along with the
strain tensor calculation.
10.1. STRAIN CALCULATION 101

10.1.7 Filter size/type


Calculated strains are always smoothed using a local filter. The filter is a 90% center-weighted
Gaussian filter and works best for most situations; the box filter is a simple unweighted averaging
filter.
The Filter size box controls the size of the smoothing window. Since the filter size is given
in terms of data points rather than pixels, the physical size of the window on the object also
depends on the step size used during correlation analysis.

10.1.8 Raw Gradients


This option can be used to output the components of the deformation gradient tensor F. Note
that the deformation gradient tensor is computed in the local tangential plane of the surface,
and the x-direction is taken as the projection of the global x-coordinate onto this plane.

10.1.9 Tensor Type


Here the desired strain tensor may be selected. The default is Lagrangian finite strain. Note
that in the case of Vic-3D, strains are computed in the local tangential plane of the surface, and
the x-direction is taken as the projection of the global x-coordinate onto this plane. All strain
tensors are derived from the deformation gradient tensor F. Some of the definitions below use
the Cauchy-Green deformation tensor

C = FT · F
which is computed from the deformation gradient tensor F.

Lagrange
This is the default strain tensor and is given by
1
E= (C − I)
2
Hencky
The Hencky strain, also called logarithmic or true strain, is given by
1
EH = ln (C)
2
Euler-Almansi
The Euler-Almansi tensor is given by
1 
e= I − F−T · F−1
2
Logarithmic Euler-Almansi
The logarithmic Euler-Almansi strain is computed according to
1  
el = ln F · FT
2
102 CHAPTER 10. POSTPROCESSING TOOLS

Engineering
In order to avoid non-sensical strains due to rigid body rotations, the engineering strain
6 dU/dX. To
is not computed directly from the derivatives of the displacement, i.e., x =
access the plain derivatives, see Section 10.1.8 above. To make the strains insensitive to
arbitrary rigid-body motion, the engineering strains are computed from the Lagrange strain
tensor in the following manner:

q
x = (1 + 2Exx ) − 1
q
y = (1 + 2Eyy ) − 1
 
2Exy
xy = sin −1 √
(1+2Exx )(1+2Eyy )

Biot
The Biot strain tensor is given by
EB = C1/2

10.2 Stress Analysis


Stress analysis for a dataset can be conducted by clicking Data. . . Postprocessing options. . .
Calculate stress from the main menu.

Figure 10.2: Stress dialog.


10.2. STRESS ANALYSIS 103

10.2.1 Material Model


At the top of the dialog, available material models are used.

Material model definitions are stored in the current user’s Documents folder, under
VIC\MaterialModels, as .json files. Additional models may be added or exchanged
with other users by placing them in this folder.

Models may be added or deleted from the store by clicking the + or - buttons. Clicking
Copy will duplicate the currently highlighted model, after which point it may be modified.
Models displayed in red have invalid parameters and must be corrected before use. For more
details on editing models, see Section 10.2.4.

10.2.2 Recalculate Strain


This section may be checked to recalculate strain as an input to the material model. The Filter
size and Tensor Type may be selected here. If Ovewrite existing strains is checked, any
current strain data will be overwritten.
Checking the Raw gradients box will add the raw displacement variables Fxx, Fxy, Fyx,
Fyy to the output. The raw gradients are necessary for certain material models.

10.2.3 Timestep
Certain material models are time-dependent and require a time variable.

• Selecting Constant time step will use a fixed interval for the inter-image time.
• Selecting Constant frame rate allows entry of a fixed frame rate, in 1/s.
• Selecting Time from file will cause the timestamps from an analog data file to be used.

10.2.4 Editing models


Any selected model may be modified by clicking Edit to display the dialog shown in Fig. 10.3.
Each model has a Name for reference as well as an option Description. The Stress unit
used for the quantities in this dialog is also selectable (note: the resulting stress values in the
output data may be displayed in any chosen format, once calculated).
The Elastic Model may be selected from among Isotropic, Viscoelastic, etc, or None.
Models which are compatible with other selections in the dialog are marked with a green
checkmark; incompatible models with a grey X.
Below this, the Elastic modulus and Poisson’s ratio must be entered for any elastic
model. For all values on this page, a red value indicates model incompatibility and must be
corrected before the model may be applied.
A Yield criterion may also be chosen from among Von Mises, Hill, etc; availability is shown
as a checkmark or X in the list. Each criterion may have associated constants which will be
displayed for editing.
104 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.3: Edit model dialog.

Figure 10.4: List of elastic models.


10.3. REMOVING RIGID MOTION 105

An Isotropic Hardening Model may also be selected from None, Bilinear, or Multilinear.
The parameters are entered below. For the multilinear model each stress/strain inflection point
may be entered.
The Kinematic Hardening Model may also be selected, and the associated parameters
will be displayed and may be entered.

10.3 Removing Rigid Motion


This tool is used to remove rigid-body displacement from deformed images, leaving only defor-
mation components of displacement.
Once the displacement fields have been calculated from the speckle images, this tool can be
started by selecting Data. . . Postprocessing tools. . . Remove rigid motion.

Figure 10.5: Rigid motion removal dialog.


106 CHAPTER 10. POSTPROCESSING TOOLS

10.3.1 Data File Selection


The available data files are displayed in the list box. Files may be selected for processing by
filing the adjacent checkbox. For convenience, the buttons labeled All and None select/deselect
all files; the Invert button inverts the selection.

10.3.2 Processing method


To remove all rigid body displacement, Use average transformation should be selected. This will
calculate the average transformation for each image, and invert it to obtain an image with an
average displacement/rotation of 0. Only object deformation will be reflected in the transformed
U, V, and W displacements. This is useful for visualizing displacement fields in tests where
deformation is obscured by larger, rigid-body motions.
To keep a single point stationary, Keep 1 point fixed should be selected. The single point
is defined by clicking it in the image. Only points within the data set (highlighted in blue)
may be selected. With this method, the selected point will become stationary, with all other
displacements remaining relative to this point. Any initial rotation will still be present after the
operation.
To keep three points stationary, the Keep 3 points fixed is used. The image should be clicked
in the three desired places. With this method, all displacements and rotations will be relative to
the three selected points, which will become stationary. The point- and three-point displacement
options are useful for, i.e., determining deformation of a test subject relative to fixed mounting
points or standoffs.
If the three selected points are in three different AOI’s, an option will be given to use the
entire AOI for the operation. This will be useful if, for example, small AOIs are placed on top of
three separate fixed posts of a test fixture.
Click Compute to proceed with the computation.

Strain Calculation
Note that these transformations will not affect calculated strain, nor are they necessary
in order to correctly calculate strain; the strain algorithm is, by nature, insensitive to
rigid-body displacements.

10.4 Applying Functions to Data


Vic-2D and Vic-3D support the generation of new variables based on equations applied to the
data. This feature may be used, for instance, to compute engineering strains from Lagrange
strains, to compute stresses from strains or to compute thinning of a strained specimen of known
thickness based on the Poisson’s effect or volume conservation during plastic deformation.
Functions may be created, modified, and applied to data by selecting Data. . . Postprocessing
options. . . Apply function from the main menu.
A previously defined function may be selected from the Function pull-down menu in the
upper left corner of the dialog. Each function may have one or more constants that are used in
10.4. APPLYING FUNCTIONS TO DATA 107

Figure 10.6: Apply function dialog.

its equations. When a function is selected, the corresponding constants are displayed next to
their current values. Some constants may contain pre-defined options for the value. Selecting
any of the options in the value combo-box will set the constant to that value.

10.4.1 Creating and Editing Functions and Constants


New functions and constants may be created, and existing ones can be edited. Clicking on the
Edit. . . button will open the Edit Functions dialog.
All available functions and constants are listed. Constants local to a function and the outputs
of a function are listed underneath the function they belong to.
The four buttons underneath the list allow for the creation, editing and deletion of functions
or constants. Each of the buttons are as follows:

• Opens the wizard to create a new function.


• Opens the wizard to create a new constant.
• Opens a wizard to edit the selected function or constant. If an output is selected it
opens the function wizard to the edit outputs page.
• Deletes the selected function or constant. If an output is selected it deletes the function
it belongs to.

Double-clicking on any item in the list will open the respective wizard for editing.
108 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.7: Edit functions dialog.

10.4.2 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. Files to be processed can be
selected in the list at the top left by checking or unchecking. There all also buttons to select and
deselect all files and to invert the current selection.

10.4.3 Preview
The effects of the calculation on a single data file may be previewed by highlighting the file and
clicking the Preview button. You may view the plot in 2D or 3D as with a standard data plot.

10.4.4 The Function Wizard


Functions and their output variables can be defined and edited in the function wizard. The
wizard is a multi-page dialog that allows the user to enter all information required to define a
function with one or more output variables.

10.4.4.1 Function Information


The first page of the function wizard is for entering a brief description of the function and the
scope in which the function is stored. The Global scope option stores the function in the program
settings where it can be used by any project. The Project stores the function in the project
itself. If the project option is selected, then the function and it’s local constants are stored in
the current project and is only accessible by the current project.
10.4. APPLYING FUNCTIONS TO DATA 109

Figure 10.8: Function wizard information page.

10.4.4.2 Define Equations

The next page is where the actual equations are entered. There can be multiple equations and
they are separated by a new line; each should be in the form (variable)=(function definition).
Double click on a variable at left to insert it at the cursor.
After you enter your equations and click Finish, any errors will be announced and corrections
will be required before proceeding. For details on the equation syntax and built-in math functions,
please refer to Section 10.4.6.

10.4.4.3 Define Output Variables

Every function must have at least one output variable. The output variable is the information
that is stored in the data files of the project. To add one, simply click Add an output. . . There
are two things to be entered for each output. The first is the actual variable itself as used in
equations. The second is a brief description of the variable - this will be displayed in plot context
menus. The ‘X’ icon is the delete button. Clicking it will delete the associated output.

10.4.5 The Constant Wizard


Constants for use along with predefined values can be created and edited in the function wizard.
110 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.9: Function wizard equation page.

Figure 10.10: Function wizard outputs page.


10.4. APPLYING FUNCTIONS TO DATA 111

10.4.5.1 Constant Information


The label defines what is to identify a given constant in an equation. The scope defines whether
or not the constant is accessible to all functions (Global) or if it is only accessible to a specific
function. The description is used to note the purpose of the constant.

Figure 10.11: Constant wizard information page.

10.4.5.2 Define Options


Defining options is not necessary but it can be helpful; for instance, a preselected group of
material property constants, as in the example below. There are two values for each option: a
description and a value.

10.4.6 Equation Format, Operators and Built-in Functions


The following table lists the functions that can be used in equations in Vic-2D and Vic-3D and
the number of arguments they require.

Function name Argument count Explanation


sin 1 sine function
cos 1 cosine function
tan 1 tangens function
asin 1 arcus sine function
112 CHAPTER 10. POSTPROCESSING TOOLS

Function name Argument count Explanation


acos 1 arcus cosine function
atan 1 arcus tangens function
sinh 1 hyperbolic sine function
cosh 1 hyperbolic cosine
tanh 1 hyperbolic tangens function
asinh 1 hyperbolic arcus sine function
acosh 1 hyperbolic arcus cosine function
atanh 1 hyperbolic arcus tangens function
log2 1 logarithm to the base 2
log10 1 logarithm to the base 10
log 1 logarithm to the base 10
ln 1 natural logarithm to base e (2.71828...)
exp 1 e raised to the power of x
sqrt 1 square root of a value
sign 1 sign function -1 if x<0; 1 if x>0
rint 1 round to nearest integer
abs 1 absolute value
min var. min of all arguments
max var. max of all arguments
sum var. sum of all arguments
avg var. mean value of all arguments

The table below lists the binary operators available in Vic-2D and Vic-3D in order of priority
(higher values mean higher priority).

Operator Meaning Priority


and logical and 1
or logical or 1
xor logical xor 1
<= less or equal 2
>= greater or equal 2
!= not equal 2
== equal 2
> greater than 2
< less than 2
+ addition 3
- subtraction 3
* multiplication 4
/ division 4
ˆ raise x to the power of y 5
10.5. RESTORING/RETRIANGULATING DATA 113

Figure 10.12: Constant wizard options page.

10.5 Restoring/Retriangulating Data


After data has been manipulated through math operations or postprocessing, it is possible to
restore the initial position and displacement field without rerunning the correlation. To start,
select Restore data from the postprocessing menu or toolbar.

10.5.1 Data File Selection


The available data files are displayed in the list box. To select which files to process, click on the
data file you want to select/deselect. This will toggle the check mark indicating whether the file
is selected or not. For convenience, the buttons labeled All and None select/deselect all files; the
Invert button inverts the selection.

10.5.2 Postprocessing
This tab contains the same postprocessing options as the initial Run dialog. The plane fit,
confidence margin option, and strain calculation may be selected here.
To complete the operation, click Start to restore the data.
114 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.13: Triangulation dialog.

10.6 Calculating Velocity


Vic-2D and Vic-3D can calculate rates for displacement and strain, using either a specified time
interval or time retrieved from a .CSV log file.
Once the displacement fields have been calculated from the speckle images, velocities may
be calculated by selecting the Calculate Velocity entry on the Data menu. (If strain rates are
desired, strain should be calculated before opening the Calculate Velocity dialog.) This will
display the dialog shown in Fig. 10.14.

10.6.1 Data File Selection


The available data files are displayed in the list box. To select which files to process, click on the
data file you want to select/deselect. This will toggle the check mark indicating whether the file
is selected or not. For convenience, the buttons labeled All and None select/deselect all files; the
Invert button inverts the selection.
10.7. CURVATURE CALCULATION 115

Figure 10.14: Velocity dialog.

10.6.2 Velocity Calculation


If a Vic-Snap .CSV log file exists for the project, Time from file should be selected from the
dropdown. (The relevant CSV file may be selected if necessary.) Otherwise, Constant time step
may be selected and a known time increment entered, or Constant frame rate may be chosen to
enter a known frame rate, e.g., for data from a high-speed camera.
Clicking Start will begin the process; a progress bar will indicate completion. For each strain
and displacement variable in the dataset, a derivative in time will be added and can be viewed
as a contour overlay.

10.7 Curvature Calculation


To calculate local curvature for a set of data, select Data. . . Postprocessing options. . . Calculate
Curvature from the main menu.

Please note that this function returns values of 1/D and not 1/r. This will
result in a factor of 2 difference from the conventional measure.
116 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.15: Curvature calculation dialog.

10.7.1 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. Files to be processed can be
selected in the list at the top left by checking or unchecking. There all also buttons to select and
deselect all files and to invert the current selection.

10.7.2 Preview
The effects of the calculation on a single data file may be previewed by highlighting the file and
clicking the Preview button. You may view the plot in 2D or 3D as with a standard data plot.

10.7.3 Calculate Principal Curvatures


This box may be checked to add principal curvatures to the x/y curvature data.

10.7.4 Overwrite Variables


Checking this option will cause any existing curvature calculations to be overwritten. If this box
is clear, more data fields will be added to the output data set each time curvature is calculated.
10.8. ROTATION CALCULATION 117

10.7.5 Filter Size/Type


The Filter size box controls the size of the smoothing window. Since the filter size is given
in terms of data points rather than pixels, the physical size of the window on the object also
depends on the step size used during correlation analysis.

10.8 Rotation Calculation


Calculate local in-plane rotation for a set of data by selecting Data. . . Postprocessing options. . .
Calculate in-plane rotation from the main menu. This displays the dialog illustrated in Fig. 10.16.

This function computes the in-plane rotation around the local surface normal. To
compute rigid-body rotation angles for the entire data set or selected areas (Vic-3D
only), see Section 13.9.1.

Figure 10.16: Rotation computation dialog.


118 CHAPTER 10. POSTPROCESSING TOOLS

10.8.1 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. The files that will be processed
are indicated with a check mark on the left. Selections can be made by clicking on the check
boxes or by selecting one or multiple entries and pressing Space or Enter. The context menu
provides further options for selecting a subset of data files. For convenience, the buttons labeled
All and None select/deselect all files, while Invert reverses the current selection.

10.8.2 Filter Size


The Filter size box controls the size of the window over which the rotation is computed. Note
that a Gaussian weight function is applied to the window. Since the filter size is given in terms
of data points rather than pixels, the physical size of the window on the object also depends on
the step size used during correlation analysis.

10.8.3 Overwrite Variables


This box can be checked to overwrite any existing rotation variables from a previous computation.
If this box is not checked, more data fields will be added to the output data set each time
rotation is calculated.

10.8.4 Preview
To view the effects of the calculation for a single data file, highlight the file and click the Preview
button. Note that the context menu of the plot can be used to switch between 2D and 3D
plotting modes.

10.9 Smoothing Data


A smoothing filter may be applied to one or more data files by selecting Data. . . Postprocessing
options. . . Smooth variable from the main menu.

10.9.1 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. Files may be selected by
clicking on each data file to select/deselect. For convenience, the buttons labeled All and None
select/deselect all files, while Invert reverses the current selection.

10.9.2 Preview
The effects of the calculation for a single data file may be displayed by highlighting the file and
clicking the Preview button. The resulting plot may be viewed in 2D or 3D (for Vic-3D) as with
a standard data plot.
10.10. MAPPING EXTERNAL DATA 119

Figure 10.17: Smoothing dialog.

10.9.3 Filter Size and Type


Data is smoothed using a local filter. The Method box allows selection of a smoothing method.
The decay filter is a 90% center-weighted Gaussian filter and works best for most situations.
The box filter is a simple unweighted averaging filter.
The Filter size box controls the size of the smoothing window. Since the filter size is given
in terms of data points rather than pixels, the physical size of the window on the object also
depends on the step size used during correlation analysis.

By default, 3D plots display deformed data - the sum of each point’s X,Y,Z location
and its U,V,W displacement. Because of this, creating a smooth plot of 3D data like
the one above requires smoothing both Z and W.

10.10 Mapping External Data


The software supports mapping of externally acquired data from calibrated area sensors onto
data files, e.g., to provide full-field temperature distribution data using infrared cameras. The
mapping process requires a calibration for the external camera that is properly registered with the
stereo system calibration. In order to ensure that the external camera is registered to the same
120 CHAPTER 10. POSTPROCESSING TOOLS

coordinate system, at least one of the calibration target images must be acquired in the same
orientation and chosen as the reference during the calibration process. See camera calibration
for details.
The process of mapping externally acquired area data onto a data sequence is initiated by
selecting Data. . . Postprocessing options. . . Map external data from the main menu or clicking
on the toolbar.

Figure 10.18: External data mapping dialog.

10.10.1 Automatic Operation


If IR images were acquired using Vic-Snap, images will be detected and the parameters set
automatically. The last image will be previewed and you will be prompted to run the data.

10.10.2 Output Variable


A unique label should be entered for the variable name, e.g., T for a temperature value, as well
as a description of the variable, e.g., Temperature [C].

10.10.3 Camera ID
The camera ID that was assigned during calibration of the external area sensor should be selected
here. If there is only one external camera, this should be Camera 2.
10.10. MAPPING EXTERNAL DATA 121

Figure 10.19: Automatic detection of IR data from Vic-Snap.

10.10.4 Equation
The values read from the data or image file acquired by the external sensor are passed through
an equation. The value read from the data file can be accessed through the variable v in the
equation. The default equation is simply v, i.e., the values read from the file are used unmodified.
Aside from the value, the angle between the surface normal and the camera’s optical axis can be
accessed as theta, the location of the point can be accessed through the variables X, Y and Z,
and finally, the distance of the point from the camera’s pinhole point is available as D.
For details on the equation syntax and built-in math functions, please refer to Section 10.4.6.

10.10.5 File Name Mapping


In order to locate the image or data file acquired by the external camera that corresponds to a
given data file, the file extension of the image/data files, as well as a character substitutions if
applicable, must be entered.
Note: It is highly recommended to adopt a naming scheme for external data that is consistent
with the Vic-3D file naming conventions. E.g., if the base name for the images is tension, the
Vic-3D image files will be named tension-xxx_0.tif and tension-xxx_1.tif for the first and
second camera, respectively. It is recommended to store the images from the external sensor as
tension-xxx_2.tif or tension-xxx_0.mat, depending on the file format.
If the above recommendation is used, it is sufficient to enter the file extension preceeded by
the camera ID in the File extension field, e.g., 2.tif or 2,mat.
122 CHAPTER 10. POSTPROCESSING TOOLS

10.10.6 Regular Expression and Substitution Text


A regular expression can be used to match any part of the data file name with the purpose of
substituting it. For example, if the data files from Vic-3D are named tension-xxx_0.out and the
external data files are named temperature-xxx_2.mat, enter tension in the regular expression
field and temperature in the substitution text field.

10.10.7 Update
The Update button can be used to verify that the files from the external sensor can be located
properly. When the update button is clicked, the software will populate the list box to the
right of the data file list box with the corresponding image file names from the external camera.
Existing files will be shown in green, while missing files are shown in red.

10.10.8 Selecting Data Files for Processing


The available data files are displayed in the list box on the bottom left of the dialog. Files may
be selected/deselected by toggling the adjacent checkbox. For convenience, the buttons labeled
All and None select/deselect all files, while Invert reverses the current selection.

10.10.9 Preview
The effects of the calculation for a single data file may be viewed by highlighting the file and
clicking the Preview button. The plot may be viewed in either 2D or 3D as with a standard
data plot.

10.11 Deleting Variables


User-generated variables can be deleted from data files.

! Use this functionality with caution. Once removed, variables cannot be restored other
than by reprocessing.

To remove variables from data files, select Data. . . Postprocessing tools. . . Delete variables
from the main menu.

10.11.1 Selecting Data Files for Processing


Clicking Select files will bring up a standard file selection dialog, allowing the choice of some
or all files to be processed.
10.12. TIME FILTER 123

Figure 10.20: Delete variables dialog.

10.11.2 Selecting Variables


The available variables are listed in the list box on the right of the dialog. Checking the box
next to a variable will cause it to be deleted.

Only user-generated variables such as strain, velocity, etc. may be deleted. Displace-
ment, position, etc., may not be removed.

10.12 Time Filter


Time filters can be used to filter the full-field data along the time axis. Currently, filters for
removing outliers and for smoothing are provided. The time filter dialog provides the ability
to select multiple filters to create a filter chain. This can be used to, e.g., remove outliers and
smooth data in a single pass. The time filter dialog is shown below.
Apply time filters to a data sequence by selecting Data. . . Postprocessing options. . . Time
filter from the main menu.

It is helpful to place at least one inspector point prior to opening the dialog; this will
give a visualization of the filtering effect. If no inspectors are placed there will be no
graphical feedback.
124 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.21: Time filter dialog

10.12.1 Validation
On startup, the time filter dialog validates the data files in the project. A progress bar in the
bottom left corner indicates the progress of this operation. For projects with a large number of
data files, this process may take some time to complete.

10.12.2 Preview
The time filter dialog can provide a preview that is updated in real time. This preview is
available if inspector points, discs or rectangles have been added to any of the contour plots in
the project. Note that the preview only becomes available after validation of the input files and
after a variable for filtering has been selected.

10.12.3 Variables
In the variable box, one or more variables can be selected to which the filters are applied. The
Replace variables check box can be used to overwrite the existing variables with the filtered
results instead of creating new variables. The Add filter names to variable check box indicates
whether the variable names of the filtered data should contain a description of the filter chain or
not.
10.12. TIME FILTER 125

10.12.4 Filter Selection and Filter Chains


The type of filter to be applied can be selected in the drop-down box in the top-left corner of the
dialog. By clicking the Add button, a second or third filter can be added to the filter chain. The
Remove button can be used to remove an unwanted filter from the filter chain. Note that the
filters are applied in the order they are added, as indicated by the number for the filter displayed
on the tab bar.

10.12.5 Binomial Filter


The binomial filter is useful to apply moderate amounts of smoothing to the data. The binomial
filter is a simple convolution filter. For a filter size of 3, the convolution mask is 1/4[1 2 1], and
the larger filter masks can be obtained by repeated convolution of this mask with itself. The
filter options for the binomial filter are shown below.

Figure 10.22: Binomial filter options.

10.12.6 Median Filter


The median filter is useful for removing outliers from the data. The filter computes the median
value in a neighborhood with user selectable size (see figure below). If the median filter is used
in a filter chain, it should always be selected as the first filter so that outliers do not contribute
to the results of the other smoothing operations.

Figure 10.23: Median filter options


126 CHAPTER 10. POSTPROCESSING TOOLS

10.12.7 Recursive Low-Pass Filter


The recursive low-pass filter can be used to efficiently provide a large amount of smoothing. As
illustrated below, the filter provides a user-selectable cut-off frequency and order. The cut-off
frequency is the (normalized) frequency at which the transfer function has a value of 50%. The
order determines the steepness of the fall-off. Note that for very low cut-off frequencies, this
filter does not preserve the mean value of the data.

Figure 10.24: Recursive low-pass filter options.

10.12.8 Spline Fit Filter


The spline fit filter can be used to provide large amounts of smoothing. Depending on the order
of the spline (linear, quadratic or cubic), this filter fits a curve consisting of multiple segments
with c0, c1 or c2-continuity between the segments. The lower the number of segments, the more
smoothing is accomplished. Note that the number of segments must be lower than the number
of data points. The options panel for the spline fit filter is shown below.

Figure 10.25: Spline fit filter options.

10.13 Time Averaging Data


The Time Averaging dialog is used for dealing with data which requires time averaging to
eliminate certain biases or provide extra accuracy.
10.13. TIME AVERAGING DATA 127

This functionality is designed to work with data which has been acquired in a specific way:
for each specimen state, n image pairs should be acquired. For instance, 10 images taken at the
reference state, 10 images taken at the first load step, etc. Next, the data including all images
should be analyzed as usual.
Once the data is calculated from the speckle images, clicking Data. . . Postprocessing tools. . .
Time Average Data on the main menu will open the dialog as shown in Fig. 10.26.

Figure 10.26: Time average dialog.

10.13.1 Options
If the First group as reference box is checked, the first set of data will be averaged to create
a new reference configuration; then, this reference configuration will be subtracted from later
groups, in effect re-referencing all of the data to a new, averaged meta-reference image.
The Group size indicates the number of images taken at each stage. Only divisors of the
data file count may be selected so it is important that the correct number of input data files are
present (an even multiple of n from above).
The new data files are prefixed with the selected Output prefix.
128 CHAPTER 10. POSTPROCESSING TOOLS

10.13.2 Selecting files


The available data files are displayed in the list box. Files may be selected or deselected using
the checkbox next to each. For convenience, the buttons labeled All and None select/deselect all
files; the Invert button inverts the selection.
The computation can be executed by clicking the Start button.

10.13.3 Results
Once the computation is finished, a new set of averaged data files will appear in the project
panel under Other data as illustrated in Fig. 10.27. These data files contain the time averaged
(and re-referenced, if selected) data. For plotting purposes, each averaged file is linked to a single
input image so that 2D plots will display correctly.

Figure 10.27: Project data panel showing time average data.

10.13.4 Usage notes


The time average function can be used for any data that is noisy over time. Examples would
include data which has pixel noise due to low light/high gain, as well as data which is corrupted
by refractive heat waves. The specimen itself should be in exactly the same position for each
10.14. COMBINING DATA 129

of the n images to avoid any bias; ideally, the only thing changing within an image set is the
relevant noise.

10.14 Combining Data


Data files or groups of data files may be combined by selecting Data. . . Postprocessing options. . .
Combine data from the main menu.

Figure 10.28: Combine data files dialog.

10.14.1 Selecting Data Files for Processing


The available data files are displayed in the Data Files list box. Files to be processed can be
selected in the list at the top left by checking or unchecking. There all also buttons to select and
deselect all files and to invert the current selection.
130 CHAPTER 10. POSTPROCESSING TOOLS

This dialog operates on all data files present in the project. Additional data files may
be added prior to opening the dialog by selecting Project. . . Data files from the main
menu.

10.14.2 Preview
An individual file may be viewed by clicking the file in the Data files list box. A combined set
may be previewed by clicking the file in the tree view below that.

Figure 10.29: Combine data files preview.

10.14.3 Options
The combine data dialog provides options that control how the data files are combined and
how file names are generated for the combined data files. The options are found in the bottom
left-hand corner of the dialog.
10.14. COMBINING DATA 131

Figure 10.30: Showing combined data files.

Group by Index
By default, the files are grouped by index (sequence number). Clearing this check will
cause all data to be combined into one file.
Combined prefix
This field controls the name of the new data files. When files are grouped by index, the
sequence number will be added; otherwise, this will be the entire filename.
Output directory
The folder icon may be clicked to select a new output path for the files.

10.14.4 Combining Files


After files and options have been selected, the data can be combined by clicking the Start
button. The files will be combined and added to the existing project file. The combined data
files will be available in the Other Data section of the Data panel of the project tool box.
132 CHAPTER 10. POSTPROCESSING TOOLS

10.15 Math Operations


The Math operations dialog allows manipulation of output data by basic math operations. The
dialog can be opened by selecting Data. . . Math Operations from the main menu bar.

A much more powerful tool for applying general functions to data is available in
the Apply Function Dialog and is generally recommended for math operations that
operate on a single input data file.

Figure 10.31: Math operations dialog.

10.15.1 Data File Selection


The available data files are displayed in the Select file list box. Files to be processed can be
selected in the list by checking or unchecking. There all also buttons to select and deselect all
files and to invert the current selection.
10.15. MATH OPERATIONS 133

10.15.2 Operation
Choose Add, Subtract, Multiply, or Divide to perform the specified operation.

10.15.3 Arguments
The Variable box is used to select the variable to operate on. Any variable in the data set may
be selected.
For a constant argument, the Constant radio button shoudl be selected; the constant is
entered below. For example, the selections in Fig. 10.32 will multiply the W-displacement value
from each data file by 10.

Figure 10.32: Math operation using a constant input.

Data from a given output file may be used by clicking Data and selecting a data file. For
example, the selections in images_postprocessing_math_data_ss_expansion will subtract the
Z shape from the first data file, from all data files.
Clicking Start will begin; the progress bar will indicate completion. For each strain and
displacement variable in the dataset, a derivative in time will be added and can be viewed as a
contour overlay.
134 CHAPTER 10. POSTPROCESSING TOOLS

Figure 10.33: Math operation using a data file as input.


Chapter 11

Exporting Data

Calculated position and displacement data, along with transformed and post-processed variables,
can be exported via several different options:

• All data - export entire data set.


• Pixel grid data - sample data set on a pixel grid.
• Metric node data - place surface nodes using metric coordinates, e.g., for FE comparisons.
• Aggregate statistics - export mean, median, deviation, min, max for selected files and
variables.

When viewing exported data, keep in mind that X, Y, and Z are the reference position
of each point. In Vic-3D, these values are displayed as changing through time for
visualization, but in exported data, these values will be constant through time.

11.1 Exporting All Data


For efficient file access, data is stored in a binary file format. To use the data with other programs
for post-processing and plotting, the data can be exported by selecting the Export item from the
Data menu or using the keyboard shortcut CTRL+E. The dialog shown in Fig. 11.1 will appear.

11.1.1 Selecting Files for Exporting


The available data files are displayed in the list box. Each file may be selected or deselected by
toggling the adjacent checkbox. For convenience, the buttons labeled All and None select/deselect
all files.

11.1.2 File Formats


The data files can be exported to the following formats:

135
136 CHAPTER 11. EXPORTING DATA

Figure 11.1: Export data dialog.

Comma-Separated Variable
Data entries are separated by commas. This format is understood by most spreadsheet
programs and plotting packages. Variable names are stored in the data file as comma-
separated strings in quotation marks. Exported files will have the extension csv.
Tecplot
Used for plotting the data with Amtec’s (www.amtec.com) plotting program Tecplot(TM).
Exported files will have the extension dat.
Plain ASCII
This format is plain, space-delimited ASCII text data with one data point per line. Note:
There are no variable names in the data file, and data from different AOIs is concatenated.
Exported files will have the extension txt.
STL Format
This format provides a triangulated surface compatible with many CAD programs.
11.2. EXPORTING GRID-BASED DATA 137

Matlab V4
This format provides compatibility with Matlab and many other programs capable of
reading Matlab files. Note that if multiple AOIs are present in a datafile, unique names for
each of the matrices are generated by appending increasing numbers to the variable names.
For instance, the X-coordinate for the first AOI will appear as X in the matlab file, and
for the second AOI it will appear as X_0 and so forth.

If none of the available file formats fit your needs, please contact sup-
port@correlatedsolutions.com to discuss implementation either inside Vic-3D or using
a Python script.

11.2 Exporting Grid-Based Data


This option can be used to export your data, sampled at regular intervals spatially (in the image
domain) and for each data file, to a single text file. To begin, select Export Grid Data from the
Data menu.

Figure 11.2: Extract grid data dialog.


138 CHAPTER 11. EXPORTING DATA

11.2.1 Data File Selection


The available data files are displayed in the list box. To select which files to process, click on the
data file you want to select/deselect. This will toggle the check mark indicating whether the file
is selected or not. For convenience, the buttons labeled All and None select/deselect all files; the
Invert button inverts the selection.

11.2.2 Options
To change the sample interval in pixels, adjust the Sample step value. A value of 1 will sample
every pixel; higher values will result in a sparser data set.
To export blank values to the output file, with a value of 0, check the Export blanks box. If
this box is cleared, blank data points will not be present in the output file.

11.2.3 Extracting Data


To begin, click Start. You will be prompted for an output .csv file name. A progress bar will
appear; when extraction is complete, the dialog will close.

11.3 Extracting Node Data


This option can be used to export spatially sampled data to one or more CSV files.

11.3.1 Adding Sample Points


Exported data is sampled based on X, Y coordinates. A single point at a time, or a line, circle,
or grid may be added by clicking on the appropriate button. This may be repeated as many
times as desired to add as many points as necessary. Points on the surface will be displayed as
green markers; points which do not fall on the surface for a given data file are shown as red.
A set of points may be stored for future use by clicking the disk icon next to the file dropdown.
Points may be restored from an existing file by using the file dropdown, or selecting Add File.

11.3.2 Data Files


This list may be used to select one or more data files to extract from.

11.3.3 Variables
The desired output variables may be selected here.

11.3.4 Use deformed coordinates


To overlay the selected X, Y points on the deformed shape, this box should be checked. To
overlay the coordinates on the initial shape (while still exporting deformation data), the box
should be cleared.
11.3. EXTRACTING NODE DATA 139

Figure 11.3: Extract node data dialog.

11.3.5 Preview and Export


Clicking Preview will display the position of node points on the selected file. The export may
be completed by clicking Export.

11.3.6 Export Options


After the Export button is clicked, a dialog with options will appear as illustrated in Fig. 11.5.

Separate files w/prefix


This option writes a separate file for each data file. A prefix that is prepended to the data
file name can be specified in the text input field.

Single file
This option writes all data in a single file. There are two choices for the arrangement of
the data:
140 CHAPTER 11. EXPORTING DATA

Figure 11.4: Points sampled along a line.

Figure 11.5: Export options dialog.


11.4. CALCULATING STATISTICS 141

• Data in columns: Each data point is in a separate column, i.e., the rows can be
thought of as the time axis. For this data arrangements, the analog data from the
project can be added as additional columns.
• Data in rows: Each data point is written to a separate row and consecutive data
files are separated by the number of blank lines specified in the spin box.

Add data headers


This option writes headers with the variable names.

Skip invalid points


This allows to suppress output of sample points where no data is present.

Flag invalid points


This option adds a valid_flag to each data point, indicating whether data is present (1)
or not (0).

11.4 Calculating Statistics


A full set of statistics for calculated variables and data files may be exported by selecting Data. . .
Statistics from the main menu bar.

11.4.1 Statistics
The deesired measures may be checked or cleared to include or exclude them from the statistics
file.

11.4.2 Variables
In this section the desired variables may be selected. By default, all metric variables are included,
while correlation and pixel variables are excluded.

11.4.3 Data File Selection


The available data files are displayed in the list box. Files may be included or excluded by toggling
the adjacent checkbox. For convenience, the buttons labeled All and None select/deselect all
files; the Invert button inverts the selection.

11.4.4 Exporting
The calculation can be executed by clicking Ok. A file dialog will appear, and the data will be
exported to the selected .CSV file.
142 CHAPTER 11. EXPORTING DATA

Figure 11.6: Statistics dialog.


Chapter 12

VDI Target Analysis

VDI target analysis may be initiated by clicking Data. . . Analyze VDI targets. A stereo
calibration is required for this process.
After clicking, the following dialog will appear.
Any VDI target definition files found in the folder will automatically be populated in the
VDI Targets list. Additional targets may be added by clicking the + button; extra targets may
be removed by clicking -.
VDI target images may be added by clicking Add files at the lower left.
As soon as the target images are added, AOI definition will begin. Successfully extracted
images are marked in green; images where extraction failed are marked as red. The subset size
will be auto-selected, if more flexibility is required this can be overridden with the checkbox and
spinwheel selection.
Once all images have been processed, the Start analyis button will be enabled; clicking
it will cause analysis to begin. A log window will appear to show the process of initial guess
generation and speckle analysis.
Analysis may require several minutes. Once it is complete, the calculated VDI 2626 values
are displayed in the log window. If remove VDI out files is checked, the temporary data files will
be deleted after completion of the target analysis.
The resulting residual strains, displacements, and projection error may be visualized by
clicking the Plot tab.
The VDI analysis results are also added to the current project as CSV files. The data
contained therein may be referenced in report templates.

143
144 CHAPTER 12. VDI TARGET ANALYSIS

Figure 12.1: Initial VDI dialog.


145

Figure 12.2: VDI dialog during extraction.


146 CHAPTER 12. VDI TARGET ANALYSIS

Figure 12.3: VDI dialog after extraction.


147

Figure 12.4: VDI log window.


148 CHAPTER 12. VDI TARGET ANALYSIS

Figure 12.5: VDI log window.


149

Figure 12.6: VDI log window.


Chapter 13

Plotting Data

There are two main facilities to visualize and work with DIC data in the software. For interactive
inspection, 2D plots and 3D plots can be used in the main workspace to visualize data as a
three-dimensional plot with or without color contour overlay, or as a two-dimensional contour
plot overlayed over the speckle image. The two-dimensional plot provides facilities for extracting
data from sequences, as well as extracting slices of data.

3D Plot 2D Plot

13.1 Common Plot Features


In both 2D and 3D plots, mousing over the data will display the coordinate and contour value
data at the pointer location in an inset.

Figure 13.1: Data display.

151
152 CHAPTER 13. PLOTTING DATA

13.2 Creating More Complex Visualizations


To view multiple plots with additional graphics features and animations, the iris framework can
be used. The iris framework can generate publication quality plots and provides flexible tools to
generate animated 2D and 3D plots, line plots and more.

13.3 Output Variables


13.3.1 Introduction
During correlation and optional post-processing, Vic-3D presents a wide range of output data
available for 3D and contour plotting, extraction, and export.

13.3.2 Output Variables


13.3.2.1 Always Present
• X [mm] - metric position along the X-axis (by default, the horizontal axis).
• Y [mm] - metric position along the Y-axis (by default, the vertical axis).
• Z [mm] - metric position along the Z-axis (by default, the out-of-plane axis).
• U [mm] - metric displacement along the X-axis, from the reference image. For the reference
image, displacement values will always be 0.
• V [mm] - metric displacement along the Y-axis.
• W [mm] - metric displacement along the Z-axis.
• sigma [pixel] - this is the confidence interval for the match at this point, in pixels.
• x / y [pixel] - point location in the reference speckle image
• u / v / q / r [pixel] - internal raw disparity measures.

13.3.2.2 Generated in Postprocessing


Strain Variables

• exx [1] - strain in the X-direction. Positive numbers indicate tension; negative numbers
indicate compression.
• eyy [1] - strain in the Y-direction.
• exy [1] - shear strain.
• e1 [1] - the major principal strain.
• e2 [1] - the minor principal strain.
• gamma [1] - the principal strain angle in radians, measure counterclockwise from the
positive X-axis.

Velocity Variables

• dU/dt [mm/s] - the rate of change of the U-displacement; that is, the velocity of a given
point in the X direction.
• dV/dt [mm/s] - velocity in the Y direction.
13.4. THE PLOT TOOLBOX 153

• dW/dt [mm/s] - velocity in the Z direction.


• dExx/dt [1/s] - the rate of change of strain in X, or strain rate in X.
• dEyy/dt [1/s] - the strain rate in Y.
• dExy/dt [1/s] - the shear strain rate.

Curvature Variables

• cxx [1/mm] - curvature in the X-direction, equivalent to 1/(diameter of curvature).


• cyy [1/mm] - curvature in the Y-direction.
• c1 [1/mm] - the major principal curvature.
• c2 [1/mm] - the minor principal curvature.
• gamma [1] - the principal curvature angle in radians, measured counterclockwise from the
positive X-axis.

Rotation Variables

• phi [1] - the in-plane rotation, in radians.

13.3.3 Key Terms


Strain: the change in length, divided by initial length, for a solid material. For example, a strain
of +10% indicates that the material has expanded by 10%; a strain of -10% indicates that the
material has contracted by 10%. Positive strains are referred to as tensile, while negative strains
are compressive. Note: this is a finite strain tensor and contains a quadratic term; for significant
strains, this may result in a strain measure which is larger than the small strain indicated by a
strain gauge or extensometer.
Principal strain: the strain for a reference frame that is rotated such that shear becomes
zero, leaving only two strain components at 90° angles. The larger strain becomes the major
principal strain, and the smaller becomes the minor principal strain.

13.4 The Plot Toolbox


The plot toolbox is displayed at the top left edge of the work area by default. It contains options
and controls for both the 2D and 3D plots.

13.4.1 Tools Tab


The Tools tab (illustrated in Fig. 13.2) contains basic tools for controlling the plot view. The
icon bar has buttons to:

• Adjust the contour scale to that of the current data file


• Adjust the contour scale to that of the global data set
• Adjust the axis scale to that of the current data set
• Adjust the axis scale to that of the global data set
• Center the plot on the page
154 CHAPTER 13. PLOTTING DATA

Figure 13.2: Tools tab.

• Fit the plot to the page


• Fit the page contents to the window
• Force the data sequence to update

If Show pixel info is checked, an inset will display data when the mouse is moved over the
plot contents.
Three Range types may be selected for the Contour variable and the Axis range:

• Fixed range uses a static range that may be selected with the tool buttons above (global
or current) or entered manually.
• Expanding adjusts to each image but will only get larger.
• Local range adjusts to each image.

The Page aspect ratio can also be controlled here, while the Background color picker
sets the color of the page background.
When viewing a 2D plot, the Inspector tools shown in Fig. 13.2 will be present.

Figure 13.3: Inspector tools.

The hand tool may be used to pan in the plot.


The point, polygon, disc, and rectangle tools are used to create point extractions that
extract data for a point or area, over time.
The line and polyline tools are used to draw lines for line extractions.
The extensometer tool creates a virtual extensometer for point-to-point measurement.
After any tool is used, the Extract button to the far right will process the data and produce
an extraction plot.
If one or more extraction lines is present, the Virtual Strain Gauge tool will be enabled;
clicking it starts the Virtual Strain Gauge analysis dialog.
13.4. THE PLOT TOOLBOX 155

13.4.2 Sequence Tab


The Sequence tab (Fig. 13.4) controls the display of sequence data.

Figure 13.4: Sequence tab.

The Outlier suppression pulldown allows scaling to include or remove outliers; the Auto
selection will use the full scale unless outliers are present.
Material color sets the base color for the surface plot. Winding determines the direction
of the mesh winding, for shading.
The Speckle image may be toggled and the selected image and image brightness may be
controlled.
If Show contour is checked the data will be overlaid on the surface; the opacity is adjustable
as well.
Display of the material mesh can be toggled with Show wireframe mesh, and the color
and radius of the mesh are adjustable.
The Show nodes control causes data nodes to be displayed; the color and radius of the
nodes is also user-adjustable.
Minor and major strain direction vectors may be displayed, as well as displacement
vectors. Various vector parameters may be adjusted here.

13.4.3 View Tab


The View tab (Fig. 13.5) is present for 3D plots and controls the appearance of the plot.
If Show Deformed Data is checked the deformed state of the data set will be plotted;
otherwise, the reference state of the data will be used.
A variety of Length units may be selected for plotting.
The Size controls sets the size of the displayed plot within the page.
The axis plane display may be toggled with the Show coordinate system check.
The exact angle of the view perspective (in degrees) is set with the alpha, beta, and gamma
controls.
156 CHAPTER 13. PLOTTING DATA

Figure 13.5: View tab.

If Prevent rescaling is checked, the axis limits will not be automatically adjusted when
the sequence is updated (e.g., by reprocessing the data).
Controls are also avaiable to set the size of the Axis amrgin; to control the color of the
axes and planes; and to adjust the lighting intensity for each source.

13.4.4 Contour Tab


The Contour tab (Fig. 13.6) controls the appearance of the contour overlay.

Figure 13.6: Contour tab.

The Variable and Unit (inches, mm, etc) may be selected here. If Custom is selected from
the pulldown, a custom unit name and factor may be entered. The custom factor is in terms of
the original unit [mm].
The Range bar has draggable controls for adjusting the contour limits; clicking the # button
allows direct entry of the limits.
If Prevent rescaling is checked, the contour limits will not be automatically adjusted when
the sequence is updated.
Controls are available for the opacity of the overlay as well as the color map choice and
number of color levels to render.
13.4. THE PLOT TOOLBOX 157

Custom color maps may be created in Global Preferences.

Controls are also available to toggle the display of isolines and set their thickness and color,
as well as to set the appearance of the legend bar. The font and color of the text as well as the
number format are set with the controls at bottom.

13.4.5 Contour Label Tab


The Contour Label tab (Fig. 13.7) controls the appearance of the contour bar caption adjacent
to the contour bar. Font, style, alignment, and color may be set here.

Figure 13.7: Contour Label tab.

13.4.6 Axis Tab


The Axis tab (Fig. 13.8) is present for each axis (X, Y for 2D plots; X, Y, Z for 3D plots). The
range and appearance of each axis is set in this tab.

Figure 13.8: Axis tab.

The Range may be set with the range bars, or numerically by clicking #.
Controls are available for the number and labeling of the ticks; there are also controls for the
font and style of the axis title. If the Automatic label checkbox is cleared, an editor appears
and custom text may be entered.
158 CHAPTER 13. PLOTTING DATA

13.4.7 3D Axis Tab


The 3D Axis tab (Fig. 13.9) appears when a 3D plot is viewed; it contains controls for the small
3D axis direction indicator. The arrow appearance and color and the label appearance and color
may all be adjusted.

Figure 13.9: 3D Axis tab.

If the Attach to pulldown is set to Parent, the indicator will move when the plot is
repositioned. If the pulldown is set to Page, it will remain where it was placed when the plot is
moved.

13.4.8 Scale Tab


The Scale tab (Fig. 13.10) appears when a 2D plot is selected. It controls the small linear scale
display associated with the plot. If Show scale is checked, the inset display will be shown.

Figure 13.10: Scale tab.

The exact position and appearance may be set using these controls. If the Border corner
width is above zero then the inset box will have rounded corners.
13.5. 3D PLOTS 159

13.5 3D Plots
Three-dimensional plots of analyzed data may be displayed in Vic-3D in both the analysis
workspace and the iris workspace.
In the analysis workspace, a 3D plot may be displayed by double-clicking on a data file in
the Data tab of the project bar. In the iris workspace, a 3D plot is added by clicking the 3D
button in the top toolbar and clicking within a page to add.
A plot will be displayed in the workspace as shown in Fig. 13.11.

Figure 13.11: Plot window in 3D mode.

13.5.1 Plot Elements


The plot contains two selectable and editable elements – the data plot and the legend. Either one
may selected with a single click (dotted black outline) or activated with a double-click (dashed
red outline).

13.5.2 Plot Controls


When the plot is selected, all plot controls will be visible in the sidebar.
When the plot is activated, it can be rotated by clicking and dragging the view.

13.5.3 Context Menu


Plot options can be accessed by right-clicking in the plot window as illustrated in Fig. 13.12.
This displays a context menu with options to manipulate the plot.
160 CHAPTER 13. PLOTTING DATA

Figure 13.12: Context menu in 3D plots.

• The Contour variable submenu can be used to select the variable to display.

• Select Show 2D Plot from the context menu will switch to a 2D view; the 2d main toolbar
(see Section 2.10).

• The 3D View Angle submenu is used to select a perfectly planar view or to revert to the
default view.

• The Show axis planes option toggles the display of the three background planes.

• Clicking Change legend orientation toggles between a horizontal and vertical legend.

• The Tools submenu duplicates the scaling and alignment tools in the Plot tools.

• Copy copies the current plot to the clipboard; Save allows saving a screenshot of the plot
as an image file.

• The Export options allow exporting a PDF, image, or video; more details can be found in
Section 13.7.
13.6. 2D PLOTS 161

Clicking Detach will keep this plot static, rather than updating it, each time a new data file
is clicked in the Data panel (see Section 3.3.2 for details).
To change other plot parameters, such as axis ranges, contour line display, contour levels,
etc., controls are provided in the Plot toolbox; see Section 13.4 for details.

13.5.4 Animating Plots


Plots may be animated using the controls on the Animation Toolbar (see Section 2.11).

13.6 2D Plots
In the analysis workspace, a 2D plot of the data can be displayed by double-clicking on a data
file in the list view to the left of the workspace, and then clicking 2D in the main toolbar or
clicking Show 2D plot in the plot context menu. In iris, a 2D plot may be added by clicking the
2D button in the toolbar and then clicking within a page.
A plot will be displayed as shown below.

Figure 13.13: 2D contour plot display.

13.6.1 Plot Options


Plot options can be accessed by right-clicking in the plot window.

• The Contour variable submenu can be used to select the variable to display.

• The plot may be switched to a 3D plot by selecting Show 3D Plot from the context menu,
or by clicking 3D in the main toolbar.

• Clicking Show camera 2 will change the underlying speckle image to the other camera
view.
162 CHAPTER 13. PLOTTING DATA

Figure 13.14: 2D plot context menu.

• The Show min. value and Show max. value options will flag the minimum and maximum
valued data points with small labels.

• By default, data is displayed in the deformed location on the deformed image. If Show
reference data is clicked, the same contour data will be overlaid on the reference image.

• Clicking Change legend orientation will toggle between a horizontal and vertical legend.

• Clicking Statistics will display a summary of data for the current image, for the currently
selected contour variable.

• Copy copies the current plot to the clipboard; Save allows saving a screenshot of the plot
as an image file.

• The Export options allow exporting a PDF, image, or video; more details can be found in
Section 13.7.

• Clicking Detach will keep this plot static, rather than updating it, each time a new data
file is clicked in the Data panel (see Section 3.3.2 for details).

To change other plot parameters, such as axis ranges, contour line display, contour levels,
etc., controls are provided in the Plot toolbox; see Section 13.4 for details.

13.6.2 Inspector Tools


Tools for probing and extracting data are located in the Inspector Toolbar, and can also be
selected by clicking Plot. . . Inspector in the main menu bar.
From left to right, the first row of tools are:

• Inspect point: selecting this tool allows placement of a probe by clicking in the plot. The
value for the currently selected contour variable, at the chosen point, will be displayed.
• Inspect line: after selection of this tool, a line may be drawn by clicking the start and end
points in the plot. The value will be displayed at each node.
13.7. EXPORTING VIDEOS 163

Figure 13.15: Inspector tools.

• Inspect polyline: when this tool is selected, clicking in the plot will add a polyline point,
and double-clicking will complete the polyline. The value will be displayed at each node.
• Inspect polygon: when this tool is selected multiple points may be clicked to define a
polygon. Values will be displayed at each node; the average will be extracted.
• Inspect circle: this tool allows clicking to define a center and again to define the radius of
a disc. The average value will be displayed at the center node.
• Inspect rectangle: the rectangle tool allows clicking of two points to define the corners of a
rectangle. The average value will be displayed at the center node..
• Extensometer: after selection of this tool, two points may be clicked to define a virtual
extensometer between the two points.

The second row of tools contains: - Pan: the pan tool allows dragging of the plot within the
window, or adjustment of existing control points by clicking and dragging. - Delete: when the
delete tool is selected, inspector items may be clicked to delete. - Virtual Strain Gauge: when a
Line inspector item is selecting, clicking this icon opens the Virtual Strain Gauge Extraction
dialog. - Extract: a simple click opens an Extraction Plot. A long press provides a menu with
additional options; see Section 13.9 for details.

13.6.3 Animating Plots


To animate contour plots, the controls on the Animation Toolbar may be used.

13.7 Exporting Videos


Videos may be exported from a 2D or 3D plot by right-clicking in the plot and selecting Export
Video. The following dialog appears:
The primary features of the dialog are detailed in Section 14.7.
In addition, there is a Duration control. This control adjusts the length of the video, in
seconds.

13.8 Extraction Plots


Extraction plots can be generated for the dataset as a whole, or for lines, points, and areas
by using the Inspector Tools in a 2D plot. An extraction data plot as illustrated in Fig. 13.17
will be shown when the Extract button ( ) is pushed while viewing a 2D Plot. Note that an
164 CHAPTER 13. PLOTTING DATA

Figure 13.16: Video export dialog.

extraction plot can be generated even if no inspector items are present. In this case, only the
average values will be available for plotting. Depending on the types of inspector items that
have been added to the contour plot, different plot types will be available:

• Points (default) for average, points, area averages.


• Line slices for lines and polylines.
• Extensometers.
• Points and Extensometers.

A long press on the ( ) button will allow selection of Complex plot extraction

13.8.1 Selecting X/Y Data for Plotting


Each X/Y data pair shown in the plot will be listed in the Extraction tools tool box (see Fig. 13.18)
and shown in the plot’s legend (if configured, see Section 13.8.8). The X/Y data that is shown
in the plot can be edited in the tool box.
To select the variables for a new or an existing X/Y pair, the X/Y data source and variable
can be selected from the drop-down menus below the list box. Available data sources are:
13.8. EXTRACTION PLOTS 165

Figure 13.17: Extraction plot.

• Average corresponds to the average value from the entire data set.
• P0, R0, C0, etc. are the values corresponding to inspector tools (points, rectangles, circles
etc).
• Analog data corresponds to CSV data added to the project. This is normally a file generated
by Vic-Snap.

After the variables for X or Y have been selected from the menus, the apply button on the
right must be pressed to apply the changes. Note that the change applies to all X/Y pairs
selected in the list box.
To delete an X/Y pair, the item must first be selected in the list box, followed by pressing
the Delete button.
New X/Y data pairs can be added to the plot by first selecting the New item in the list box
at the top. Then, the data source and variables can be selected from the drop-down menus and
the new X/Y pair is finally created by clicking the Add button.
To export plot data, the Export button can be pressed to bring up the Export data wizard.
166 CHAPTER 13. PLOTTING DATA

Figure 13.18: Extraction plot tool box.

13.8.2 The Extractions Menu


The extractions menu allows for deleting of extractions as well as re-opening past extractions.
The main purpose of this workspace is to open past extractions to manipulate the data for
use in the iris workspace.

Figure 13.19: Extractions menu.


13.8. EXTRACTION PLOTS 167

13.8.3 Navigating in the Plot


Use the mouse wheel to zoom in or out on the plot. Click and drag to pan; double click to fit
the plot to the window.
To adjust a single axis scale, mouse over that axis; the cursor will change to indicate the axis
is active. Then, use the mouse wheel to zoom only that axis.
To zoom to a selected box, hold the ‘SHIFT’ key and drag to indicate the zoom area.

13.8.4 The Context Menu


Right-click in the plot to access options.

• Cursor: select from axis indicators for X, Y, or both axes; select Snap Cursor to display
the value reading closest to the cursor.
• Copy: copies the plot to the clipboard.
• Save: select to save the plot as a graphics file.
• X/Y axis scale: submenus allow changing between linear and logarithmic axis scaling.
• Settings: click to access the plot settings.
• Quick help: display a brief overview of the plot navigation controls.

13.8.5 Point Extractions


By default, extraction plots are shown in Point mode, which displays the average data as well
as data generated by inspector items of type point and those that average over an area (discs,
rectangles etc.). The plot type can be selected from the drop-down menu at the top of the
extraction tool box, see Fig. 13.18.

13.8.6 Line Slice Extraction and Plotting


Line slices may be plotted only when an extraction line or polyline is present. They can be
created using the Inspector Tools to add lines ore polylines to a 2D contour plot. An example of
a line slice inspector item is illustrated in Fig. 13.20.
After clicking the Extract button ( ) an extraction plot will appear in the workspace, but
will initially show the available Point extractions. To display the line extraction, the entry Line
slices must be selected from the pull-down menu in the extraction tool box as illustrated in
Fig. 13.21.
On the plot, a series of lines will be shown that shows the extracted data at different times.
The line for the currently selected data file will be highlighted, as illustrated in Fig. 13.22. The
number of lines that are shown in the plot can be configured in plot settings, see Section 13.8.8.

13.8.7 Extensometer Extraction and Plotting


Extensometer plotting will be available when one or more extensometers have been created using
the Inspector Tools in a 2D plot view as illustrated in Fig. 13.23.
Clicking the Extract button ( ) brings up the plot window. To switch the display to
extensometers, the entry Extensometers must be selected from the pull-down menu at the top
168 CHAPTER 13. PLOTTING DATA

Figure 13.20: Line slice in contour plot.

of the extraction tool box as illustrated in Fig. 13.24. If both points and extensometers are
present, the entry Points and extensometers will also be available to show extensometer and
point extraction data in a single plot.

13.8.7.1 Extensometer Variables


The extensometer plot can be used to show a number of variables that are available for each
extensometer extraction, including the relative change in length as illustrated in Fig. 13.25.
The available extensometer variables are:

• ∆L/L0: The change in length divided by the initial length; unitless.


• ∆L: The change in length, in display units.
• L1: The deformed length, in display units.
• L0: The initial length, in display units.
13.8. EXTRACTION PLOTS 169

Figure 13.21: Extraction tool box for lines slices.

Figure 13.22: Line slice plot.


170 CHAPTER 13. PLOTTING DATA

Figure 13.23: Extensometer in contour plot.

The strain displayed here will not necessarily match the strain computed in the Strain
dialog, depending on the tensor you have selected. The extensometer strain is a simple
length calculation and does not account for bending, etc.

13.8.8 Plot Settings


The plot settings can be accessed from the context menu of the plot (see Section 13.8.4). This
displays a dialog with different options to control the plots as illustrated in Fig. 13.26.
The first tab controls graph display settings.

• Graph style: select from lines, points, or both. If Points is selected, you can use the snap
cursor to evaluate values at specific locations in the plot. With Lines selected, the snap
cursor will give an interpolated value.
• Show legend: click to show or hide the legend.
• Legend position: select the location of the displayed legend on the plot.
13.8. EXTRACTION PLOTS 171

Figure 13.24: Extraction plot tool box for extensometers.

• Theme: choose from a white background scheme (“Daytime”) or a black background


scheme (“Midnight”).

The second tab applies to time extraction only. You can select whether to highlight the
currently displayed data file; and select which data files to plot. All are plotted by default.
The third tab applies to line slice extractions only.
Under Mode, you can choose to display lines for the current file and the select files; only the
current file; or only the selected files (select files from the list below). You can also adjust the
style of the non-selected lines as well as the color for them.
Select the files to be extracted from the list at the bottom.
By default, 200 points are created along the extracted line. Since the line does not necessarily
pass through exact data points, data points are interpolated at equidistant intervals along the
line. The number of sample points can be changed by pressing the Change button. This will
display an spin box control where the desired number of points can be selected. Note that
changing the number of points results in the data being extracted again. The progress of this
operation is indicated in a progress bar at the bottom of the plot window.

13.8.9 Exporting Slice Data


To export data, click Export in the extraction tool box. The Export Data Wizard will appear.

• Output file: click the folder icon to choose an output file.


• Data type: choose from line slice or time extraction.
• Format: select from comma separated (typical for use with Excel) or tab separated.
172 CHAPTER 13. PLOTTING DATA

Figure 13.25: Extensometer extraction plot.

• Ordering: select row index to have a row for each file (most common), or column index to
have a column for each file (useful for making waterfall type plots).
• Coordinates: if you select reference coordinates, the XYZ values will not change over time.
Select deformed coordinates to add UVW deformation to the XYZ values, making them
change with time.

13.9 Complex plot extractions

Holding the button will allow selection of Complex plot extractions via a dialog box.
While the simple extraction is limited to average values, complex extractions allow selection
of statistical functions (minimum, maximum, mean, median, standard deviation) with the
Statistics group.
The Data Files group allows selecting a subset of data.
13.9. COMPLEX PLOT EXTRACTIONS 173

Figure 13.26: Plot settings style tab.

Extracting a limited number of data files can improve extraction speed when accessing
a slow or networked drive.

13.9.1 Rotation angles


Rotation angles may be calculated by checking Add rotation angles. This computes rigid-
body transformation (rotation) angles for area-type inspector items (discs, rectangles etc.). The
transformation matrix can be computed from the pitch, yaw and roll angles α, β and γ as follows:

 
cos(β) cos(γ) sin(α) sin(β) cos(γ) − cos(α) sin(γ) cos(α) sin(β) cos(γ) + sin(α) sin(γ)
R =  cos(β) sin(γ) sin(α) sin(β) sin(γ) + cos(α) cos(γ) cos(α) sin(β) sin(γ) − sin(α) cos(γ) 
− sin(β) sin(α) cos(β) cos(α) cos(β)
174 CHAPTER 13. PLOTTING DATA

Figure 13.27: Plot settings time slice tab.

The translation component of the rigid body transformation can be computed from the location
of the area’s centroid X0 , Y0 , Z0 and the average displacement as follows:
     

Ū 
   X0 
  X0 
 
T =  V̄  +  Y0  − R  Y0 


 
Z0  
Z0 

Note that the transformation given by R and T transforms reference coordinates into the
deformed state.
Check Add deformation to shape to add the variables Xd, Yd and Zd to the data set.
These are the deformed values (X +U ), (Y +V ) and (Z +W ).

13.10 The Virtual Strain Gauge Dialog


The Virtual Strain Gauge (VSG) Extraction dialog is used to help determine the optimum
filter size for a given test. A range of VSG sizes may be quickly and visually compared to help
determine the balance between strain filtering and spatial resolution.
13.10. THE VIRTUAL STRAIN GAUGE DIALOG 175

Figure 13.28: Plot settings line slice tab.

The dialog may be opened by clicking the icon in the Inspector Tools. One or
more line inspectors must be present to enable the tool.
176 CHAPTER 13. PLOTTING DATA

Figure 13.29: Extraction plot export wizard.

The VSG tool generates data extractions along an inspection line for a specific data file. The
line may be chosen with the Extraction line pulldown at the top left, and the data file may be
specified with the Data file pulldown.
The strain computation tensor type can be selected, as well as the minimum and maximum
filter sizes. The Filter step size sets the increment between analyzed filter sizes for the waterfall
13.10. THE VIRTUAL STRAIN GAUGE DIALOG 177

Figure 13.30: Complex extraction settings.

plot. Additional strain variables (Tresca strain, von Mises strain, raw gradients) can also be
incorporated into the extractions using the relevant checkboxes.
Some correlation parameters (subset size and step size) are shown and available to edit as
well. These parameters are important for determining the the final VSG size. For simple AOIs,
the parameters shown by default will be the ones used in data analysis. However, when there is
more than one AOI, or there are AOIs with different subset size and step size, the controls should
be enabled and the values should be edited to match the paramters of the specific relevant AOI.
The extraction process generates a series of graphs for the chosen inspection line and file,
with each graph corresponding to a filter size within the selected range, using the chosen step. A
preview of the extracted data can be viewed by pressing the preview button. The user can select
the displayed strain variable by right clicking on the preview plot and using the strain variable
menu.
The legend on the plot displays the VSG size in pixels. If the average pixel magnification is
available, it will also indicate the size in millimeters.
178 CHAPTER 13. PLOTTING DATA

Anaysis settings may be adjusted and the result viewed by clicking Preview. Once the
settings are finalized, clicking OK will genereate a plot and display it in the analysis workspace.
The plot data may also be viewed in the iris workspace.

The VSG plot may easily be duplicated in iris by using the Multi. . . tool in the line
plot controls.
Chapter 14

Data Visualization in iris

The iris visualization framework provides a workspace for generating both static and animated
plots of DIC and imported data, e.g., FE meshes. Some of the features include:

• High resolution rendering for bitmap content and scalable fonts and graphics for publication-
quality output
• Most properties can be animated, e.g., position, opacity, rotation, viewing angles etc.
• Motion-tweening with a variety of easing functions
• Adaptive motion blurring for realistic video output
• Data can be interpolated in time to provide smooth high framerate video output from
sparse data
• Document and page templates

To begin using iris, click the icon on the toolbar.


For more information, see the following topics:

• Overview of the iris Workspace


• Pages, templates, and backgrounds
• Graphic elements
• Working with Sequences
• Working with Keyframes
• Document Properties
• Exporting iris Content

14.1 Overview of the iris Workspace


The iris workspace contains all of the tools and controls for creating iris documents. The
workspace replaces the analysis workspace when the icon is clicked in the toolbar. An
overview of the workspace is shown in Fig. 14.1.
The iris workspace contains:

• Main toolbar - has controls for inserting new objects like plots and images; alignment
controls; and buttons for exporting PDF and video.

179
180 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.1: Overview of main window.

• Page/template/backgrounds organizer - the left sidebar shows a graphical list of


pages, templates, and backgrounds, selectable from the pulldown.
• Properties editor - the right sidebar has a list of adjustable properties for the currently
selected item.
• Timeline - the timeline area at the bottom of the window shows all the timelines and
keyframes in the project and allows scrolling through time.
• Main work area - where all objects/text/graphics will be placed and manipulated.

14.1.1 Editor Context Menu


Right clicking inside the iris editor allows for quick adjustment of view, inserting of plot elements,
alignment, and exporting. The context menu is shown in Fig. 14.2.

• Fit Page - Fits the page size to fill the screen


• Fit to content - Fits all of the elements in your workspace to fill the screen
• Export video - Opens the video export dialog
• Export PDF - Opens the PDF export dialog
• Sequence Manager - Opens the sequence manager dialog
14.1. OVERVIEW OF THE IRIS WORKSPACE 181

Figure 14.2: Detail of Context menu.

14.1.1.1 Insert Submenu


The Insert submenu can be used to conveniently add objects to the page. Note that the inserted
object’s top-left corner will be placed where the context menu was opened by clicking. The insert
menu is illustrated in Fig. 14.3.

Figure 14.3: Detail of Insert submenu.

• Text boxes
• 2D plots
• 3D plots
• Extraction plots
• Static images
• Image sequences

14.1.1.2 Align Submenu


The Align submenu can be used to align objects to the page or relative to each other. To align
objects relative to each other, multiple objects must be selected. The last object selected will be
182 CHAPTER 14. DATA VISUALIZATION IN IRIS

the stationary object, i.e., all other objects in the selection are aligned to the last object selected.
The align menu is shown in Fig. 14.4.

Figure 14.4: Detail of Align submenu.

• Center horizontally - Centers the selected objects horizontally with respect to the page
• Center vertically - Centers the selected objects vertically with respect to the page
• Align left - Aligns the left side of the selected objects
• Align center horizontally - Centers the selected objects horizontally with each other

• Align right - Aligns the right side of the selected objects


• Align top - Aligns the top side of the selected objects
• Align center vertically - Centers the selected objects vertically with each other

• Align bottom - Aligns the bottom side of the selected objects

14.1.2 Shortcut Keys in iris


Shortcut keys can be used to simplify common operations in iris.

• Page Up: Navigate to the previous page


• Page Down: Navigate to the next page
• E: Opens the Export PDF tool
• V: Opens the Export Video tool
• </>: Step forward or backward in timeline by the current time delta (default 0.1s).
Alternate shortcuts are ,/..
• t/T: Decrease/increase time delta for stepping through timeline
• 1: Fits the current page to the workspace
• 2: Fits the page contents to the workspace
14.2. PAGES, TEMPLATES AND BACKGROUNDS 183

• #: Toggles the workspace grid


• Backspace/Delete: Deletes items that have been selected
• Cursor keys: Move selected objects by 5mm (with Shift: 1mm, Alt: 0.5mm, Shift+Alt:
0.1mm).

If pressing a shortcut key does not have any effect, the editor does not have keyboard
focus. You can briefly zoom in and out with the wheel to give focus to the editor.

14.2 Pages, Templates and Backgrounds


The major elements of iris documents are pages and backgrounds. iris projects may also be
made into templates for convenient reuse. These elements can be viewed and edited using the
page navigator at the left of the workspace; the page group pulldown at the top may be
used to select pages, templates, or backgrounds.

14.2.1 Pages
All elements in the iris editor are displayed on Pages. Through the use of multiple pages,
elements like plots and images can be made to come and go from the document. All iris projects
consist of one or more pages. Each page contains an independent set of elements and timelines.
To add, edit, and remove pages, right-click on the page in the page navigator to bring up the
context menu seen in Fig. 14.5. Selecting “Page Up” or “Page Down” on the keyboard will allow
users to quickly navigate through pages.
A single blank page may also be added by clicking the icon in the toolbar.
Pages may be reordered by dragging them to the new desired position between two existing
pages or before/after the first/last page.

• The Preview size submenu controls the appearance of the preview.


• Selecting Hide will minimize the page in the navigator.
• A new page can be created by selecting Add empty page.
• A new page can be added from an existing template by selecting Insert template.
• Selecting Duplicate will copy the selected page.
• Pages may be deleted by clicking Delete page.
• The background of the selected page may be chosen from the Change background
submenu.
• The existing page may be copied for use in a Template or Background.

14.2.1.1 Transitions
Transition properties for individual pages may be accessed by selecting the page in the navigator
and editing the Page Transition settings in the sidebar at the right of the workspace.
184 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.5: Pages context menu.

Default options for transitioning from one page to the next are accessed through the Document
Properties. The duration of an empty page may also be selected there; for non-blank pages, the
duration ends after the last keyframe.
The time within the page (for preview display only) may be edited with the Time control in
the right sidebar.

14.2.2 Templates
Templates are used to simplify reproduction of iris documents for new data. Right-click on the
page in the template menu to bring up the context menu seen in Fig. 14.6.

Figure 14.6: Template context menu.

To begin using templates, click the icon on the main toolbar with no existing iris document
to view the template chooser. For more information, see Working with Templates.
14.2. PAGES, TEMPLATES AND BACKGROUNDS 185

14.2.3 Backgrounds
Backgrounds are fundamentally identical to pages, except that they are static and do not have a
timeline. Backgrounds can be used to give a consistent appearance to videos through headers,
logos, background graphics, etc. Backgrounds may be manipulated by right-clicking on the
background in the navigator to show the context menu, illustrated in Fig. 14.7.

Figure 14.7: Background context menu.

Selecting Set as default will make the chosen background the default for new pages. To
apply the selected background to all existing pages or template pages, select Set for all pages
or Set for all templates.

14.2.4 Working with Templates


14.2.4.1 Using Templates
Templates in iris are used to enable easy reuse of iris projects for new data set. A page
template is identical to a page and contains all of the same elements - plots, images, text, etc. A
document template comprises a set of page templates and some or all of the page templates may
be used. When a template is used with an existing Vic-3D project, many of the elements will be
populated automatically, and captions and extraction plots may be easily filled in.
When no iris project is present, entering the iris workspace will show the Template Chooser
shown below in Fig. 14.8.
User template documents are stored in a subfolder of the user’s Documents folder; both
built-in templates and all templates found there will be displayed in the chooser. A template
may be selected here or Empty document may be clicked to start a new blank project.
Alternately, selecting New iris document from template from the Iris Tools menu will
replace the current document with a blank document based on the selected template.
186 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.8: Template chooser.

Once a template document is chosen, the templates from the document will be displayed
under Templates in the navigator view at left. The navigator pane is shown in Fig. 14.9.
To use templates, right-click in the Pages navigator at left to bring up the pages context
menu shown in Fig. 14.10.
Selecting Insert template displays a submenu of available templates shown in Fig. 14.11.
Clicking a template will cause it to be added as a page.

• Any plots are filled with existing data.


• For extraction plots, an existing extraction must be chosen from the plot properties.
• Text boxes designated as template (see below) will be displayed as blank unless edited.

Multiple pages may be inserted by holding the icon in the toolbar, this selection is shown
in Fig. 14.12.
Single-clicking on a thumbnail will add it to the document; pressing Escape or clicking outside
the menu will close it.

14.2.4.2 Creating Templates


A new template may be created by right-clicking in the Templates navigator, shown in Fig. 14.13.
14.2. PAGES, TEMPLATES AND BACKGROUNDS 187

Figure 14.9: Template navigator.

Figure 14.10: Context menu for pages.


188 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.11: Context menu showing templates.

The template may be given a descriptive name using the Name field in the Base tools,
shown in Fig. 14.14.
Editing templates is functionally identical to editing pages in most cases. For text boxes, the
toolbar will contain a Use as template checkbox which can be seen in Fig. 14.15.
When this box is checked, the entered text becomes a placeholder, and the text will not be
included in iris output unless edited.

The placeholder text may be used for tips to the template user, e.g., “Double-click to
edit Title” or “Enter sample ID here”.

To copy an existing page for reuse as a template, right-click on the page in the Pages
14.2. PAGES, TEMPLATES AND BACKGROUNDS 189

Figure 14.12: Multiple template selection.


190 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.13: Context menu for templates.

Figure 14.14: Template base tools.

Figure 14.15: Template text tool.


14.3. GRAPHIC ELEMENTS 191

navigator and select Copy to templates. The page is added to the template navigator and
can then be chosen within the project.
To save the templates from a project as a reusable template file, select Save as iris template
from the Iris Tools menu.

Templates should be saved in the folder chosen by iris for easy access from the
Template Chooser.

14.3 Graphic Elements


Each page in an iris document comprises multiple graphical elements. Elements like drawings
and plots can be placed on the page and optionally animated using keyframes. The following
elements may be added to an iris document by clicking in the main toolbar or clicking the Iris
Tools menu:

• 2D plots
• 3D plots
• Image sequences
• Extraction plots
• Text boxes
• Static images and masks
• Mesh data sequences
• Ellipses, rectangles and polylines

14.3.1 Element Properties


For placement, an element may be clicked once, which will cause it to be surrounded by a black
border. This indicates it may then be clicked and dragged within the page. For editing, an
element may be double-clicked which will show a red border. The element is then ready for
editing (text editing, changing the angle of a 3D plot, etc.)

14.3.2 Common Properties


Many of the document elements in iris use a shared set of common tools. Common properties
include things like base size, data sources, times, and axis controls. The following common tools
are seen in iris:

• The Base tool controls positioning, alignment, scale, rotation, and depth.
• The Data tool controls data sources, time, and interpolation.
• The Legend tool sets contour variables and settings and legend settings and fonts.
• The Variable tool allows control of data sources and extractions.
• The Axis tool controls placement, format, and style of the x- and y-axes on various plots.
192 CHAPTER 14. DATA VISUALIZATION IN IRIS

14.3.3 2D Plots
To insert a 2D plot in iris, click the icon, and then click once in the document workspace
to insert a 2D plot box. The 2D plot can be edited by clicking on the image once to move the
position of the entire plot and double clicking to move the image in the 2D plot window. Clicking
on the 2D plot will also bring up the 2D plot properties, which can be adjusted in the sidebar.

14.3.3.1 Plot Properties


All properties of the inserted 2D plot are adjustable in the properties editor at the right side of
the workspace. Each property is detailed in Section 22.1.

14.3.4 3D Plots
To insert a 3D plot in iris, click the icon, and then click once in the document workspace
to insert a 2D plot box. The 3D plot can be edited by clicking on the image once to move the
position of the entire plot and double clicking to move the image in the 3D plot window. Clicking
on the 3D plot will also bring up the 3D plot properties, which can be adjusted in the sidebar.

14.3.4.1 Plot Properties


All properties of the inserted 3D plot are adjustable in the properties editor at the right side of
the workspace. Details for all properties are detailed in Section 22.2.

14.3.5 Image Sequences

To add a sequence of images, click the icon on the main toolbar. Import an image sequence
from any source to use in iris animations.
The image sequence properties are set using the data tool in the sidebar. Predefined image
sources (speckle images, calibration images) may be selected; an arbitrary image list may be
chosen by selecting Add Image Sequence from the Iris Tools menu, or by using the sequence
manager.

If you are selecting images from a DIC experiment, only one camera’s images should
be added for a smooth sequence.

The size and appearance of the image sequence and axes are set using the shared all tools,
while the position and rotation of the image sequence are set using the base tool.
The 2D plot’s X and Y-Axis properties can be set by using the common x- and y- axis tools.
14.3. GRAPHIC ELEMENTS 193

The x/y axis display is off by default because an image sequence only contains pixel
coordinates, not metric data.

14.3.6 Line Plots


An extraction plot may be added to an iris document by clicking the icon, and then clicking
once in the document workspace. Extractions available for plotting are listed under the data
panel. The extraction plot can be edited by clicking on the image once to move the position of
the entire plot and double clicking to move the image in the 2D plot window. Clicking on the
extraction plot will also bring up the extraction plot properties, which can be adjusted in the
sidebar.

14.3.6.1 Plot Properties


The extraction plot properties can be adjusted from the sidebar.
Each X/Y data pair shown in the plot will be listed in the Charts tool box, as seen in
Fig. 14.16.
To select the variables for a new or an existing X/Y pair, the X/Y data source and variable
can be selected from the drop-down menus below the list box. Available data sources are:

• Average corresponds to the average value from the entire data set.
• P0, R0, C0, etc. are the values corresponding to inspector tools (points, rectangles,
circles etc).
• Analog data corresponds to CSV data added to the project. This is normally a file
generated by Vic-Snap.

After the variables for X or Y have been selected from the menus, the apply button on the
right must be pressed to apply the changes. Note that the change applies to all X/Y pairs
selected in the list box.
To delete an X/Y pair, the item must first be selected in the list box, followed by pressing
the Delete button.
To add multiple X/Y pairs, select the Multi. . . button. Once selected, the Options for New
Plots dialog will appear with selectable options and extraction objects, shown in Fig. 14.17.
New X/Y data pairs can be added to the plot by first selecting the New item in the list box
at the top. Then, the data source and variables can be selected from the drop-down menus and
the new X/Y pair is finally created by clicking the Add button.
Selecting an X/Y data pair plotted will expand he Charts window to customize the color,
line style, line width, and markers placed, as seen in Fig. 14.18.
If Automatic Name is selected the name will be chosen based on the data; if this is cleared
a name may be entered manually and edited with the style tools. If Show in legend is selected
the name will also be displayed in the plot legend.
The interpolation control selects the interpolation (linear or nearest neighbor) used when
the plot is animated.
194 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.16: Charts Tool Box

Figure 14.17: Multiple extraction options dialog.


14.3. GRAPHIC ELEMENTS 195

Figure 14.18: Chart style tools.


196 CHAPTER 14. DATA VISUALIZATION IN IRIS

Line and marker colors, size, and style may be edited with the associated Line and Marker
tools. Markers may be disabled, shown everywhere, or shown only at the end of the plot. If
Running plot is selected, the plot will be displayed up to the current Time, allowing the plot
to be animated. If Use deformed variables is checked, the position variables X, Y, and Z will
have deformation (U, V, and W) added before plotting.
For line slice plots, additional time controls are displayed as shown in Fig. 14.19. If Animate
Graph is checked the graph time will be the time selected or animated via the all tools. If this
box is cleared, the plot will be displayed for the static time selected in Graph time.

Figure 14.19: Line slice time tools.

14.3.6.2 Plot Legends


A plot legend may be added to allow easy identification of different data series. The legend tools
are shown in Fig. 14.20.
Display of the legend is controlled by the Show Legend checkbox. The base position and
location may be selected with the Corner and Position alng axis tools; fine adjustments to
this position can be made with the Axis offset controls. Border appearance and style, margins,
fonts, and colors may all also be adjusted here.

The default color for the legend background has an Alpha (opacity) of 0. To make
the background color visible, increase the Alpha value in the color chooser. An Alpha
value of 255 corresponds to fully opaque.

14.3.6.3 All
The height and width of the extraction plot within the plot window as well as the appearance of
the plot and axes are controlled with the shared all tools.

14.3.6.4 X and Y-Axis


The 2D plot X and Y-Axis properties can be set by using the x and y-axis tool.

14.3.6.5 Plot Positioning


The position and rotation of the 2D plot are set using the base tool.
14.3. GRAPHIC ELEMENTS 197

Figure 14.20: Plot legend tools.

14.3.7 Text Boxes


Text boxes can be used to add captions, titles, information, and extracted data values to an iris
document. To insert a text box in iris, click the icon, and then click once in the document
workspace to insert a standard box.

14.3.7.1 Text editing

The text may then be edited by double clicking on the text box. Entering a ‘#’ at the beginning
of a line will automatically create a numbered list. Entering ‘-’ or ‘*’ at the beginning of a line
will automatically create a bullet list.

14.3.7.2 Text box tools

Text box properties may be adjusted using the sidebar tools, as shown in Fig. 14.21.
The width and font size can be adjusted here, as well as the text justification.
198 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.21: Text box tools.

Select text within the box by holding Shift and using the arrow keys. When text
is selected, font and style options will apply to selected text only; when no text is
selected, the entire text box will be modified.

The Time control refers to the position within the data, when numerical data is present. The
time control is animatable.
If Use deformed variables is checked, the position variables X, Y, and Z will have
deformation (U, V, and W) added before display.

14.3.7.3 Inserting data


To display numeric data in the text box, at least one extraction must be present in the project.
You can insert the data at any location within your text by typing ${n}, replacing n with the
index of your desired data source. Text box variables without data shown below in Fig. 14.22.
Select the extraction from the pulldown, and then choose variables and click Add to add a
data source, shown below in Fig. 14.23.
The data can now be referenced within the text by typing ${0} or ${1}.

14.3.7.4 Text box positioning


The position and rotation of the text box are set using the base tool.
14.3. GRAPHIC ELEMENTS 199

Figure 14.22: Text box variables.

Figure 14.23: Text box variables, with data.


200 CHAPTER 14. DATA VISUALIZATION IN IRIS

14.3.8 Static Images


To add a static image, click the icon on the main toolbar.
The position and rotation of the image sequence are set using the base tool and are animatable.
The View control at right sets the base size of the image in the workspace.

14.3.9 Drawing Tools


Simple graphical elements can be added using the drawing tools in iris. Ellipses, polylines,
arbitrary polygons, rectangles, and rounded rectangles may be placed and animated as desired.
These elements can also be used for clipping.

• To add an ellipse or rectangle, click the or icon in the main toolbar. Click and then
drag in the workspace to draw the shape. Properties can be adjusted with the View tool
in the toolbar shown in Fig. 14.24.

Figure 14.24: The view tool for an ellipse.

• Rectangles give one additional option for rounded corners, allowing you to adjust the radius
shown in Fig. 14.25.

The Line Color controls the color of the outline; the Brush Color controls the fill color.
The thickness of the outline is controlled by the Line Width.

• To add a polyline or polygon, click the icon. Click once in the workspace to define the
first point; click additional points to add, and then double click to finish. Properties are
adjusted with the View tool shown in Fig. 14.26.
To force the polyline segment to 45 degree angles, hold Shift while drawing.

A polygon may be created by selecting Closed to join the first and last point. Checking the
Fill box will cause the interior area of the polyline to be filled with the brush color. An arrow
style and size may also be selected.
14.3. GRAPHIC ELEMENTS 201

Figure 14.25: The view tool for a rectangle.

Figure 14.26: The view tool for a polyline.

14.3.10 Clipping iris Objects


• Using the ellipse or rectangle drawing tool, easily clip any iris objects simply by drawing a
shape over the area within the object to be clipped, selecting the objects and the drawn
shape, and then pressing “C” on the keyboard. Selecting any clipped objects and pressing
shift +“C” will unclip the objects. Objects can also be clipped by using the context menu
shown in Fig. 14.27 when right clicking on two selected objects.

• The before and after effect of clipping can be seen in Fig. 14.28 and Fig. 14.29.

• When clipping objects the scale and the position are animatable.

The clipped object can be animated to show or hide objects as well as bring
focus to certain areas within a 3D plot.
202 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.27: The context menu for clipping.

Figure 14.28: Rectangle and ellipse before clipping.

14.3.11 The Data Tool


In iris various elements are based on sequential, time-based data. Image sequences, VTK data
sequences, text boxes containing values, and contour plots all have a time element.
Depending on the data source, the data tool will have different options available. Below, the
triangulated data plot menu is shown in Fig. 14.30, and the marker data plot menu plot menu is
shown in Fig. 14.31.
14.3. GRAPHIC ELEMENTS 203

Figure 14.29: Rectangle and ellipse after clipping.

14.3.12 Data Tools for Triangulated Data


Triangulated data in iris refers to either correlated data (.OUT files) or to imported model data
(VTP data).
For 2D and 3D plots, a Speckle image can be selected; either the deformed or reference
speckle pattern may be chosen as a texture. If Show speckle image is unchecked, the surface
will be a solid color rather than the speckle pattern.
For 3D plots, a Winding control allows selection of clockwise or counterclockwise mesh
winding, or winding direction may be ignored.

Winding refers to the direction in which faces are defined and is used to determine
the illuminated face. Vic-3D data and most mesh data is clockwise wound. If the
direction is unknown, selecting Ignore usually gives a good result.

Show speckle image displays the speckle image along with the contour variable, unchecking
this will show only the color gradient. The Brightness/Contrast slider allows you to adjust
the top slider to control the minimum brightness, and the bottom slider to adjust the minimum
and maximum grey values. Show contour enables or disables the contour variable on the 3D
plot.
If Show wireframe mesh is checked, a mesh of data points will be displayed. The radius
and color of the wireframe may also be adjusted. The Contour opacity control sets the opacity
of the contour coloring applied to the wireframe
204 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.30: Data tool for 3D plot of triangulated data.

When Show nodes is checked, individual data points will be individually drawn as spheres.
The radius and color controls below affect the display of the nodes. The Contour opacity
control adjusts the opacity of the color overlay.

A variety of vectors may be displayed on the plot. The Show minor strain direction and
Show major strain direction checkboxes toggle the display of minor and major strain direction
ticks. Checking Show displacement vectors will show arrows indicating displacement of the
data points.

For these vectors, the Vector skip control adjusts the density of displayed vectors; a value
of 1 displays a vector at every data point. The radius (thickness) of the vector may be adjusted;
the Head size and Head length adjust the appearance of the arrowheads on displacement
vectors. The Length multiplier control scales the overall length of the displayed vector. THe
color and contoour opacity are also selectable.
14.3. GRAPHIC ELEMENTS 205

14.3.13 Data Tools for Marker Data


In iris, markers may represent either extracted markers (ellipse/bowtie), or plot extraction points.
They are treated and displayed identically once in the iris workspace.

Figure 14.31: Data tool for 3D plot of marker data.

Properties for a single marker may be edited by selecting the marker in the Markers list
and clicking Edit. This will display the Marker Properties dialog.
Show markers displays the markers on the ends of each connection. Marker radius
adjusts the size of the markers on the ends of each connection. Show marker contour enables
or disables the contour overlay on displayed markers, while Show marker labels toggles the
display of the associated marker name.
When marker labels are disaplyed, the Label controls affect their appearance and font.
Show connections enables or disables the connections between the markers. Show con-
nection contour enables or disables the contour variable on the connections between the
markers. Marker color is the color of the 3D markers. Connection color is the color of the
connection between the markers. Connection radius adjusts the size of the connection between
the markers. Number of tracers adds phantom tracers in for the locations of the marker
throughout time. Tracer opacity and tracer cut-off time adjust the opacity of tracers and
the length of time they remain.
206 CHAPTER 14. DATA VISUALIZATION IN IRIS

14.3.13.1 Data sources


• For 2D and 3D plots, the data source will be project data (.OUT) files, triangulated marker
data, and extraction points and data. The current project’s data is selected by default.
An arbitrary data set can be made available by choosing Add Data Sequence from the
Iris Tools menu, or by using the or by using the sequence manager. The new data will
appear in the Data source pulldown.

• For image sequences, a sequence source can be chosen. The Speckle and Calibration image
sets are always available. An arbitrary image set can be made available by choosing Add
Image Sequence from the Iris Tools menu or by using the sequence manager. The
image set will then appear in the Data source pulldown.
When project speckle images are the data source, a Camera Id control appears to allow
display of images from camera 0 or 1.

14.3.14 Marker Properties


The marker properties dialog is used to edit marker appearance and labels. It can be displayed
by selecting a marker from the data tool and clicking Edit.
The marker color and radius may be adjusted using the controls at the top of the dialog.
Checking Show contour will cause the marker to be colored in the contour color according to
its value rather than the selected color. Checking Enable tracers/trajectory will enable the
display of tracer and trajectory decorations for the marker; clearing the box will override the
global settings in the Data Tool and hide decorations for this marker.

14.3.14.1 Text editing


The default label for the marker may be edited or overriden using the line editor. Standard tools
are present for bold, italic, underline, sub/superscript, and Greek characters.
The default marker display is marker name : marker value. The formatting and displayed
values may be changed, added, or removed. A list of possible escape codes is displayed at the
bottom of the dialog; double-clicking will insert the appropriate code at the cursor position.
During rendering, the code will be replaced with the evaluated value.

14.3.15 The Variable Tool


The variable tool shown in Fig. 14.33 controls the variable properties for both 2D and 3D plots
in iris.
The Variable tool allows users to add different variables from the extractions created in
the 2D workspace. To add a new variable, first select the extraction plot of interest from the
extraction drop down menu. Once selected, the data source drop down will be populated with
inspect tools used in the extraction. Simply select the inspection tool of interest, the variable
from the variable drop down menu, and select Add. The variables will then be available for use
in the text box. To delete any unwanted variables, simply select the variable to remove and click
Delete.
14.3. GRAPHIC ELEMENTS 207

Figure 14.32: Marker properties dialog.


208 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.33: Variable tool for 3D plot.

To call on a variable from the variable tool, double click the text box and replace the text
with ${. . . }, making sure to put the number corresponding with the variable being recalled from
the variable tool. Once the text has been replaced, click outside the text box to confirm. The
data from the called variable will now appear in the text box.

In order to add or use a variable in the variable tool, the user must first create an
extraction in the 2D workspace.

14.4 Working with Sequences


All time-based data in iris is considered to be a sequence. Existing sequences can be viewed and
edited by clicking Sequences Manager under the Iris Tools menu. The sequence manager
can be seen below in Fig. 14.34.
Examples of sequence types include:

• Speckle and calibration images


• Triangulated data (output files, VTK data)
• FFT data (.vfd files)
• Extraction data
• Image sequences
• Marker tracking data
14.4. WORKING WITH SEQUENCES 209

Figure 14.34: The sequence manager.

Sequences may be added by selecting “New”. Once a sequence is added to the iris project,
it may be selected as a data source for the relevant element (images for image sequences,
triangulated data for 3D plots, etc.)
Sequences may be imported from a different iris project file by clicking Import from other
project file.
Where data has been recalculated or processed, Force update sequence will cause the
data to be reloaded and new scaling applied.
In cases where sequences have a differing number of frames (e.g., if data was only run for
every other image), the Sync: pulldown may be used to synchronize the animation. The relevant
sequences should be synchronized to the sequence with the fewest frames. When objects based
on the synchronized sequences are added to the workspace and given the same keyframes and
easing, they will be synchronized to each other in time.

Synchronization is accomplished by referencing associated camera 0 filenames. Because


of this, the synchronization feature is mainly useful with data files (.OUT files) and
corresponding images and extractions.

14.4.1 Mesh Data Sequences


iris supports import of several 3D mesh file formats, including VTP files (VTK polygon data)
and Vic-3D OUT files. VTK is a very flexible package that allows import and conversion of STL,
OUT, or FE mesh files.
Mesh files are added under iris tools dropdown box at the top toolbar, by using “Add File
Sequence” shown in Fig. 14.35. Once selected, the user will be prompted to select a file and then
name the sequence in the “Select Sequence Name” window shown in Fig. 14.36. This sequence
name will be the data source recalled for the 3D plot.
210 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.35: Add File Sequence menu.

Figure 14.36: Selecting sequence name.

Once the sequence name is given, the dialog window shown in Fig. 14.37 will appear.
Prompting the user for additional information regarding the data source. If “Coordinates are
deformed” is selected, then the displacement variable selection will be disabled.
To insert a 3D VTK plot in iris, click the icon, and then click once in the document
workspace to insert a 3D plot box. The 3D plot can be edited by clicking on the image once
to move the position of the entire plot and double clicking to move the image in the 3D plot
window.

The data source of the 3D plot may be changed in the plot properties.

14.4.1.1 Plot Properties


The source, interpolation, time, and winding for the mesh data are set using the common data
tool.

14.4.1.2 View
The visual appearance of the 3D plot and axes are set using the shared view tool.
14.5. WORKING WITH KEYFRAMES 211

Figure 14.37: Edit VTK File Sequence dialog.

14.4.1.3 Plot Positioning


The position, size, and rotation of the 3D plot are set using the shared base tool.

14.5 Working with Keyframes


A keyframe in iris is a position within the timeline where a user-defined value is specified.
Examples of values that can be specified are:

• The position within the page of a text box


• The size of a graphic
• The ‘time’ parameter of a data plot

If a property value is specified at two or more keyframes, iris will smoothly interpolate the
value between keyframes to create an animation of text moving, a graphic zooming in, a plot
animating through time, etc. The Interpolation can be linear, or easing options can be selected
for more natural appearing transitions.
Every value or attribute that can be animated using keyframes is indicated with an icon
next to the relevant control, and these attributes are referred to as animatable in this manual.
212 CHAPTER 14. DATA VISUALIZATION IN IRIS

14.5.1 Adding Keyframes


Keyframes are added by clicking the icon next to the desired value (Here in Fig. 14.38 the
Time attribute for a 3D plot), and selecting Add keyframe from the dropdown.

Figure 14.38: Time control showing keyframe icon.

A keyframe indicator will appear in the timeline at the bottom of the workspace, shown in
Fig. 14.39.

Figure 14.39: Timeline showing single keyframe.

The keyframe is indicated by time (here, 0 seconds) as well as the element and keyed property
(3D plot, data/time). The entire timeline can be scrolled by clicking and dragging the times at
the top. The current position within the timeline can be adjusted by dragging the small square,
shown in Fig. 14.40:

Figure 14.40: Timeline showing dragging.

On returning to the Time control, the key attribute has been disabled because the timeline
is not currently at a keyframe, shown in Fig. 14.41:

Figure 14.41: Disabled time control.

To insert another keyframe at the new position in the timeline, the icon can be clicked
again and Add keyframe selected. The time attribute becomes editable; here, it has been set to
1.00, shown in Fig. 14.42:
The new keyframe also appears on the timeline, shown in Fig. 14.43. A line connects any
consecutive keyframes of the same attribute and its color indicates the interpolation or easing
effect used for the transition.
14.5. WORKING WITH KEYFRAMES 213

Figure 14.42: Enabled time control.

Figure 14.43: Timeline showing second keyframe.

The document now contains a single element: an animation of a 3D plot of the test data,
from the first frame to the last, with a duration of 5 seconds.

When exporting video, the animation will always begin at the first keyframe regardless
of its position on the timeline. If the first keyframe is placed at 10 seconds, the video
will start immediately there rather than being blank for 10 seconds. Blank video and
transitions may be managed with the Page Transition settings.

Clicking on the play button on the top left corner plays through the animation for the
current page. Clicking on the stop button or pressing the K key stops the animation.
The animation speed can be adjusted using the slider next to the play/stop button or
by pressing the J and L keys. The J and L keys will respectivelly lower and increase
the animation speed, setting it at some predefined value.

There is no limit on the number of keyframes; a third keyframe could be added to


show the data returning to the start position, etc.

14.5.2 Editing timelines


A timeline can be edited by moving the keyframes. A keyframe can be selected by clicking on it,
and can be moved by dragging it. Multiple keyframes can be selected by either clicking on them
while holding the CTRL key or by drawing a selection box by holding the SHIFT key. Dragging
any of the selected keyframes will move all of them. Since multiple keyframes for an attribute
cannot occupy the same time frame, when moving keyframes, moves that would cause overlaps
are not allowed.
214 CHAPTER 14. DATA VISUALIZATION IN IRIS

14.5.3 Adding more timelines


Multiple different attributes can be animated; each time a new attribute is keyed, a new timeline
is added to the editor. In Fig. 14.44, an animated rotation has been added after the time
animation.

Figure 14.44: Timeline showing multiple animated attributes.

14.5.4 Animating other items


Multiple items can be animated, and these too will be added to the timeline. If an object with
keyframes is currently selected, the relevant rows will be highlighted in red, shown in Fig. 14.45.
A document item can be selected when clicking on the left of any of its animated attributes.

Figure 14.45: Timeline showing multiple objects.

All the attributes of the same drawable are grouped under the drawable’s name. Clicking on
the drawable name collapses or expands the list of animated attributes for the drawable. When
the list is collapsed, a black line with a diamond at each end point is shown, indicating the time
span of all animated attributes for the drawable as shown in Fig. 14.46. The collapsed timeline
cannot be edited.

Figure 14.46: Timeline showing collapsed timelines for object.

Clicking on an animated attribute will open the editor for the selected attribute and adjust
the highlight for its timeline as shown in Fig. 14.47. When an attribute is selected, pressing the
14.5. WORKING WITH KEYFRAMES 215

Left and Right arrow keys will move the time to the closest keyframe for that attribute in the
selected direction.

Figure 14.47: Timeline showing selected attribute.

Objects which are invisible or behind other items may be easily selected in this way.

14.5.5 Keyframe shortcuts


For common operations, adding keyframes can be simplified by selecting a shortcut from the
pulldown.

• For data plots, a simple forward, reverse, or forward-then-reverse animation of the data can
be selected. For instance, “Forward 5s” repeats the operation described above to animate
a 3D plot over 5 seconds, with a single click.

• For most position and miscellaneous attributes, a simple placement of keyframes at common
time intervals can be selected. The values must be adjusted manually.

• For the opacity control, there are predefined fade-in and fade-out settings.

The shortcuts will not overwrite or interfere with existing keyframes; if not enough
blank space is available on the timeline, a warning will be displayed and the timeline
will remain unchanged.

14.5.5.1 Easing Options


To control the interpolation and resulting visual effect for each animation, right-clicking on the
keyframe at the end of the specified animation will allow selecting an easing option.
In animation, easing is used to make motion look more natural. A linear motion with an
instaneous start and stop will appear artificial; adding smooth start and stop, acceleration, or
“bounce” effects can remedy this.
216 CHAPTER 14. DATA VISUALIZATION IN IRIS

Easing options may be selected by right-clicking the keyframe indicator at the end of the
relevant animation and choosing from the Easing submenu. Six main categories of predefined
easing options are available:
Linear - motion uses linear interpolation only (no easing).
Quad - quadratic curves for motion.
Cubic - cubic curves for motion.
Elastic - ‘spring’ effects.
Bounce - ‘bounce’ effects with rebound.
Back - adds an overshoot.
Each easing option can affect the beginning motion (In), the end motion (Out), both
(InOut), or work from the center out (OutIn).
Selecting Customize allows further customization of the exact parameters of the easing
curve, as well as being a convenient way to preview the nature of each easing curve.

Figure 14.48: Customize easing options.

14.6 Document Properties


Each iris document has a set of global properties that control page size, transitions, grid settings,
document defaults, and graph styles. These document properties may be edited by clicking
Document Properties in the Iris Tools menu, or by pressing CTRL+SHIFT+P.

14.6.1 Page size


A list of standard page sizes can be selected as shown in Fig. 14.49, or a Width and Height
can be entered in the desired units (selected using the pulldown).
14.6. DOCUMENT PROPERTIES 217

Figure 14.49: Page size tab.

14.6.2 Page transitions


The duration of each blank page is controlled with the Empty page duration value. For each
transition, a start and end fade style can be chosen, along with a fade duration. These selections
are shown in Fig. 14.50.

14.6.3 Grid
A grid can be overlaid on the main workspace by checking Show grid, or pressing the “#” key
on the keyboard. Grid spacing and appearance is set by using the controls shown in Fig. 14.51.

14.6.4 Default Settings


Default settings for each iris element may be modified by selecting the desired element from the
Category pulldown. These options are shown in Fig. 14.52.
218 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.50: Page transitions tab.

If the checkbox to the left of a property is clear, a global default will be used. If it is checked,
the value entered will be used for the property for new objects.

14.6.5 Graph Styles


Default settings for each graphing style may be modified within the graph styles tab. Select Ok
to save the changes. These options are shown in Fig. 14.53.

Graph style 12 is reserved for background traces.


14.7. EXPORTING IRIS CONTENT 219

Figure 14.51: Grid tab.

14.7 Exporting iris Content


iris documents may be exported to video by selecting Export video from the iris tools menu, by
clicking the icon in the main iris toolbar, or by pressing the “V” key on the keyboard. The
export content dialog box can be seen in Fig. 14.54.

14.7.1 Output
A filename and folder may be chosen by clicking the folder icon.
The resolution of the output is selected from the Video format pulldown; Frame rate
allows selection from standard frame rates for video, and Quality controls the compression
factor and resulting video quality.
220 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.52: Default settings tab.

Higher resolutions and frame rates will take longer to render and result in larger file
sizes.

The Adaptive motion blur checkbox enables a motion blur for realistic appearing motion.
This is calculated by interpolating a number (Max. blur samples) of frames between each
existing frame. The blurring will be applied when motions greater than the Min. blur length
are present anywhere in the frame.
The number of processes used for rendering is controlled by the Threads selection.

14.7.2 Global transition Settings


These settings control the display length of an empty page, and the duration and style of the start
and end fades. Clicking the Fade background checkbox will cause the selected background to
be faded in and out as well, rather than static.
14.7. EXPORTING IRIS CONTENT 221

Figure 14.53: Graph styles tab.

14.7.3 Exporting iris Content as a PDF


A PDF of the content created with iris can be exported by selecting Export PDF from the iris
tools menu, by clicking the icon in the main iris toolbar, or by pressing the “E” key on the
keyboard. The export dialog is shown in Fig. 14.55.

14.7.3.1 Output File


The filename for the exported PDF can be entered in the File input box. Clicking the folder
icon allows selection of the output folder.

14.7.3.2 Settings
The Settings box in the export window allows export of All pages, the Current page, or the
current Selection. The resolution for export (in dots per inch) can also be found here.
222 CHAPTER 14. DATA VISUALIZATION IN IRIS

Figure 14.54: iris Export dialog.


14.7. EXPORTING IRIS CONTENT 223

Figure 14.55: iris PDF Export dialog.

By default, the output will be generated for the current time set for each page. It is also
possible to automatically sweep the timeline on each page and generate one page for each time
step. The number of time steps can be controlled via the spin box labeled Time steps.

The maximum selectable resolution depends on the rendering capability of the PC


and the size of the document.

When Selection is chosen, a scalable SVG file may be created by checking Generate svg
file.

SVG files are scalable and are the best choice for inclusion in Word® documents, etc.

To omit any background present in the page, check Omit background. For SVG export
and when Selection is chosen, the background is always omitted.
If Include children in selection is checked any child objects of the selected object will
also be exported (e.g., contour legends for a data plot.)
224 CHAPTER 14. DATA VISUALIZATION IN IRIS

To enable SVG export, Inkscape must be installed. Information about Inkscape as


well as the latest installer may be found at inkscape.org.
Chapter 15

Report Generation

Vic-3D can generate reports from template documents. Special tags are used in the documents
as placeholders for project-specific data such as calibration values, analysis settings, images or
plots. During report generation, Vic-3D fills in the template with the data from the current
project and writes a new document to the hard drive.

15.1 Report Generator Dialog


To create a report after running an analyis, click File. . . Report from the main menu.
You can choose from installed Text documents or Presentations by selecting the tab at the top.
The preset location for these templates is under your Documents folder in the VicReportTemplates
subfolder. Supported filetypes are:

• .odt: OpenDocument document.


• .docx: Microsoft XML document (Word).
• .odp: Open Document presentation.
• .pptx: Microsoft XML presentation (PowerPoint).

You can add to the template library by placing new templates in this folder. Click on a
template to continue, or click Other to select any other file.
Important note: if a tag is broken up by formatting, revision tracking, or spell checking, it
will not be processed. It is usually best to turn off all change tracking and spelling/grammar
checking in your word processor.

15.2 Report Options


Image resolution:

• Screen: for plots/images, uses the same resolution as the display, for viewing on screen.
• Print: upscales images for a better printed image.

Scaling:

225
226 CHAPTER 15. REPORT GENERATION

Figure 15.1: Report dialog

• In Print image resolution, choose nearest neighbor (faster) or smooth (better quality).

Video settings:

• Encoder: choose encoding method (built in AVI or external convertor).


• Format: choose a preset format (faster, higher quality, etc).
• Frame rate: select a frame rate for video display.

To open the report after completion, leave the checkbox selected. Click Ok to begin; the
document will be filled out, replacing tags with quantities, images, tables, and videos. For more
detail on available tags, consult the Report Template Tags reference.
15.3. TEMPLATE TAG REFERENCE 227

Figure 15.2: Report options page

15.3 Template Tag Reference


15.3.1 Basics
To insert a text tag, place the tag and any parameters, separated by commas, inside
braces. The tag will be replaced by the appropriate value without changing the font, po-
sition, etc. For example, {@VIC_RIG_TX}.
To insert a graphic tag, create a blank or placeholder image and then add the tag and
any parameters as the alternative text. The image will be replaced by the requested plot. For
example, {@VIC_PLOT_3D,var=e1,idx=-1}.
Important note: if a tag is broken up by formatting, revision tracking, or spell checking, it
will not be processed. It is usually best to turn off all change tracking and spelling/grammar
checking in your word processor.
228 CHAPTER 15. REPORT GENERATION

15.3.1.1 Format specifiers


Many tags have format specifier flags.

• fmt: floating point format


– ‘f’: display as 7.7
– ‘g’: uses either regular format, or scientific notation (e.g., 1e+3) if more concise
• prec: precision specifier (number of digits after decimal for ‘f’ or total number of floating
point digits for ‘g’)

Spreadsheet column specifiers have the format COL_ID:FMT:PREC, where

• COL_ID: spreadsheet column (A, B, C, . . . , AA, AB etc.)


• FMT: number format ‘f’, ‘g’ (optional)
• PREC: number of digits (optional)

List indeces:
Any time a list index idx is present, you may specify integer values starting from 0, or
negative values to count down from the end; e.g., -1 refers to the last element. Alternatively,
indeces can be specified as a percentage, e.g., 33.33%. If indeces are specified as percentages, the
closest integer value is used.

15.3.2 Analog or Spreadsheet Data Tags


VIC_ADATA
Used to insert data from the project’s analog data file (CSV) for time, load, etc.

• idx: Index value


• col: column (A, B, C, . . . , AA, AB)
• fmt: floating point format (‘g’, ‘f’)
• prec: precision specifier (number of digits)

Example: {@VIC_ADATA, idx=100%, col=B, fmt=‘f’, prec=1} shows the second column
(normally Time_0) from the analog data file for the last image in the test, floating point, 1
digit of precision.
Example: {@VIC_ADATA, idx=10, col=H} shows the 8th column (i.e., Load, in a given
setup) from the 10th image in the test.

VIC_CSV_DATA
Used to insert data from external csv files. Can be used either to look up spreadsheet cell
entries (e.g., cell=B3) or for key-value pair lookups. In the latter usage, one column in
the csv file is used as the key column and should hold unique descriptors of the values in
the value column. For instance, the key column could have entries ‘modulus’, ‘poisson’,
’sample_id" and the value column would contain the numerical values for the elastic
modulus, the poisson ration and the sample’s identification number.
15.3. TEMPLATE TAG REFERENCE 229

• file: path to csv file on disk


• cell: spreadsheet cell (e.g., A1, C32)
• key_col: column that holds keys for key-value pair lookups
• val_col: column that holds values for key-value pair lookups
• key: string in key column
• fmt: floating point format (‘g’, ‘f’)
• prec: precision specifier (number of digits)

Example: {@VIC_CSV_DATA, file=testinfo.csv, cell=B3} - shows the value from cell B3


of the specified spreadsheet.
Example: {@VIC_CSV_DATA, file=testinfo.csv, key_col=D, val_col=E, key=modulus} -
scans row D for the keyword “modulus” and pulls the matching value from row E.

15.3.3 Calibration values


The following calibration values all support the basic options:

• cam: camera id (default: 0)


• fmt: floating point format (‘g’, ‘f’)
• prec: precision specifier (number of digits)

VIC_CAM_CX, VIC_CAM_CY
x/y center coordinates (pixels)
VIC_CAM_FX, VIC_CAM_FY
x/y focal length (pixels)
VIC_CAM_S
skew factor
VIC_CAM_K1, VIC_CAM_K2, VIC_CAM_K3
distortion coefficients
VIC_CAM_MAG_AVG, VIC_CAM_MAG_MIN, VIC_CAM_MAG_MAX
average, minimum and maximum magnification (pixels/mm)
VIC_CAM_ERROR
residual error for calibration (pixels); use cam=-1 for the rig error.

Example: {@VIC_CAM_CX, cam=1, ‘f’, 2} shows the center (x) for camera, floating point,
2 digits of precision.
Example: {@VIC_CAM_ERROR} - shows the error score for camera 0 with no formatting.
Example: {@VIC_CAM_ERROR, cam=-1} – shows the overall error score for the rig.
The external camera calibration values support the following options:

• fmt: floating point format (‘g’, ‘f’)


• prec: precision specifier (number of digits)

VIC_RIG_RX, VIC_RIG_RY, VIC_RIG_RZ


rotation angles (degrees)
230 CHAPTER 15. REPORT GENERATION

VIC_RIG_TX, VIC_RIG_TY, VIC_RIG_TZ


translation vector (mm)

Example: {@VIC_RIG_RY} – shows the RY (stereo angle) for the rig.

15.3.4 Analysis Settings


VIC_STRAIN_FILTER_SIZE
size of strain filter used (pixels)
VIC_STRAIN_TENSOR
type of tensor
VIC_SUBSET_SIZE
subset size (pixels)
VIC_STEP_SIZE
step size (pixels)

Example: {@VIC_SUBSET SIZE} – show the subset size for the analysis.

15.3.5 Tables (VIC_TABLE_CSV)


The template generator supports generation of tables from comma-separated variable files using
the tag VIC_TABLE_CSV. This tag has to be added to the name field (ODT) of an existing
table. The last row of the table in the template must contain spreadsheet column specifiers. The
following options are supported:

• file: path to csv file on disk


• start: integer value for start row
• end: integer value for end row, or -1 to use entire table

15.3.6 Plots
@VIC_PLOT_2D
Inserts a 2D plot. 2D plots support the following options:

• idx: the image index (default 0)


• cam: the camera to view (default 0)
• var: the name of the variable to plot (default “W”)
• c_range: the contour range, separated by a colon

@VIC_PLOT_3D
Inserts a 3D plot. 3D plots support the following options:

• idx: the image index (default 0)


• cam: the camera to view (default 0)
• var: the name of the variable to plot (default “W”)
• c_range: the contour range, separated by a colon
15.3. TEMPLATE TAG REFERENCE 231

• view_angles: the 3 viewing angles, separated by colons (default 60:0:30)

@VIC_IMG_EXTERNAL
Inserts an arbitrary image. External images support the following option:

• file: the file name

@VIC_IMG_REFERENCE
Inserts the reference speckle image. The reference image tag supports the following options:

• cam: the camera to view (default 0)

@VIC_IMG_SPECKLE
Inserts a speckle image. The speckle image tag supports the following options:

• idx: the actual image number (not a percentage or negative number)

• cam: the camera to view (default 0)

@VIC_IMG_AOI
Inserts the reference image with the AOI overlaid. The AOI image tag supports the
following options:

• subset: set “subset=true” to show the subset grid overlaid on the AOI.
• startpoints: set “starpoints=true” to show start points overlaid on the AOI.
Chapter 16

Marker Tracking

To enter the marker tracking mode in Vic-3D, click the button in the main toolbar, or select
Project. . . Marker editor from the main menu. The marker tracking toolbox will appear at the
top right:

Figure 16.1: Marker tracking tool box.

To switch between different image views, you can click the buttons to view the
camera 1 image, camera 2 image, or both at once in a horizontal or vertical tile. Markers may
initially only be placed on the camera 1 image.

16.1 Placing Markers


To place markers on the image, click either or to place an elliptical or quadrant style
marker. (You can also place a marker on any visible feature using the tool, but it will not be
automatically tracked and must be manually placed for every image.) Then, click in the image
(“Marker Editor 1”) to place the marker as illustrated in Fig. 16.2.
If a marker is found, the position of the placed marker will snap to the marker center. For best
marker fitting and tracking, you can use the Maximum size control to select the approximate
size (in pixels) of your markers; this will prevent false matches on marker edges or object corners.
After the marker is placed in the camera 1 image, it must be matched in the camera 2 view
for stereo tracking. Start by making sure the relevant marker is selected (markers can be selected

233
234 CHAPTER 16. MARKER TRACKING

Figure 16.2: Marker placed in image.

using the tool). Click the (associate marker) tool, and click the matching marker in the
camera 2 view. If the Show epipolar line box is checked, a green constraining line will be
displayed in the matching image to help identify your choice. The marker should snap to the
detected image marker, as illustrated in Fig. 16.3.
To place more markers, continue to add markers in the “1” image and associate them in the
“2” image. If desired, a marker can be labeled with alternate text by selecting the marker, and
then entering the label in the Label field in the marker tool box. The labels will be shown in
the images, as shown in Fig. 16.4.

16.2 Tracking
To begin tracking markers, select (Track all) to track all placed markers. Then, use the
Animation tools to either step through images one at a time, or play through all images. Vic-3D
will attempt to find the new marker positions in each image.
In some cases of large motion or closely placed markers, Vic-3D will be unable to track the
marker and you must provide an initial position. When this happens, the marker will be flagged
with a “?”:
To correct the position, use the tool to drag the marker close to the center. Vic-3D will
lock on to the new position and you can continue tracking through images.
If Vic-3D cannot find the marker automatically, it may be necessary to force a position. To
16.2. TRACKING 235

Figure 16.3: Marker snapped to correct location.

Figure 16.4: Custom marker labels.


236 CHAPTER 16. MARKER TRACKING

Figure 16.5: Tracking error.

Figure 16.6: Tracking error corrected.


16.3. MARKER TRIANGULATION 237

do this, use the (place manually) tool. This will give less accuracy than the subpixel marker
matching algorithm within Vic-3D so it should be used only when the marker cannot be found
automatically.
When many manual positions are required, it may be more convenient to turn tracking off
for some or all points. To select a different tracking mode, click to track no markers, or to
track only the selected marker.
Once all marker positions have been tracked, you can export the marker data.

16.3 Marker Triangulation

Once all markers have been placed and tracked, select the icon to open the triangulation
settings dialog shown in Fig. 16.7.

Figure 16.7: Marker Variables Dialog .

Selecting options you can calculate velocity and acceleration from inputting a constant time
step, frame rate, or time from file. Selecting Coordinate system you can change the coordinate
238 CHAPTER 16. MARKER TRACKING

system or apply a plane fit using the markers that have been placed and tracked, at the bottom
of this dialog window you can provide a reference frame for the transform. Selecting displacement
removal you can set a marker as fixed and remove the rigid motion of this marker.

16.4 Marker Visualization in iris


Once all markers have been placed, tracked, and triangulated connections can be visualized in
iris, to do this use the on camera 1 image. To delete linkages use the and select the
linkage.
Marker data visualization in iris is discussed under the relevant 2D or 3D plot selections here.

16.5 Exporting Marker Data


To export tracked marker data, click on Data. . . Markers. . . Export marker data in the main
menu bar. You will be prompted for a save file name, and then the Export markers dialog will
appear, as illustrated in Fig. 16.8.

Figure 16.8: Marker export dialog.

If the Export marker data menu option is not present, you will need to need to first
triangulate the data.

16.6 The Files Tab


To select a new output file, click the icon next to the Output file label.
16.7. THE MARKERS TAB 239

The Files list allows selection of files to process for export. By default, locations are exported
for each file, but you may select any number of files. Right-click in the list to modify your
selection or select preset intervals.
If Export frame Id is checked, a variable called frame_id will be prepended to the exported
data; this variable contains the image number.

16.7 The Markers Tab

Figure 16.9: Markers tab in marker export dialog.

This tab lists the markers and allows you to select which ones to export data for. Select one
or more, or right-click to select a range or interval.

16.8 The Variables Tab


Use this tab to select output variables. The available output variables are:

• X, Y, Z: spatial location of each point


• U, V, W: displacement of each point, relative to the chosen reference frame
• Projection error: error in match location between left and right camera
• x0, y0: pixel location of the marker in the camera 1 image
• x1, y1: pixel location of the marker in the camera 2 image
240 CHAPTER 16. MARKER TRACKING

Figure 16.10: Variables tab in marker export dialog.


Chapter 17

FFT Analysis

Vic-3D incorporates a module for transforming time-domain displacement and strain into the
frequency domain. Using a known time step, each component of the calculated time-domain
data is transformed with a Fast Fourier Transform to create a full set of frequency-domain data
for plotting and analysis. If input data is available, frequency response metrics may also be
calculated.
The data can be analyzed using the FFT Dialog. After analysis, the data can be viewed,
probed, and exported from the FFT Workspace.

17.1 FFT Analysis Dialog


Clicking Data. . . Postprocessing tools. . . Frequency analysis will open the Frequency Analysis
dialog.

Figure 17.1: Frequency analysis dialog.

241
242 CHAPTER 17. FFT ANALYSIS

The available data set is displayed on the right. The default FFT analysis window is displayed
as a box; the area may be redefined by clicking and dragging within the data plot. The mouse
wheel is used to zoom; holding the SHIFT key will toggle pan mode.

17.1.1 The Settings Panel


• Overlaid on the data is a grid of analysis points. Each of the green points will be analyzed
and converted to the frequency domain for later plotting; red points indicate areas where
no data is present. The sample step may be adjusted with the Sampling step spin box;
smaller sample steps will require more memory and slightly more analysis time.
• For the frequency to be calculated correctly, the correct image time step must be entered
in the Time step spin box; this can be specified in terms of frequency by pulling down to
Frequency [Hz].
• Data to be used for frequency analysis often involves very small displacements which may
be difficult to resolve; because of this, a smoothing filter can be applied during the FFT
analysis. The radius for the filter is set using the Smoothing filter spin box; a value of 1
applies no smoothing.

17.1.2 The Files tab


The Files tab contains selections for choosing a set of files to analyze as well as a list of analog
values for frequency response function (FRF) calculation.

Figure 17.2: Files tab of Frequency analysis dialog.

• The relevant analog channel(s) to be used as an input for response calculation may be
selected in the Analog data group. The data must be present in the project, and can be
added by clicking Project. . . Analog data in the main menu.
17.2. FREQUENCY WORKSPACE 243

• If one or more files are to be excluded they may be unchecked in the Data files group. This
is standard Vic-3D file list and multiple items may be selected and toggled; a right-click in
the list allows detailed selections.

! When selecting files to analyze, there must be a consistent time step between every
file and the next, or the FFT calculation will give incorrect results.

17.1.3 The Preprocessing Panel


• Optionally, a window function can be applied to the data. The Hann and Hamming
window functions are supported.
• Velocities can be computed by checking the compute velocity check box. The velocities
will be computed for the selected displacement variables.
• Similarly, checking compute acceleration will compute the accelerations for the selected
displacement variables.

When the Save FFT Data box is checked (default), the FFT data will be saved to disk. A
custom filename may also be specified. If this box is cleared, the analysis will need to be re-run
to recreate the data again. When multiple different output files are created, they may be added
to the project using the Sequence Manager.
Additional or fewer variables may be selected for extraction in the Variables list. Selecting
more variables will use more memory.
When the settings are correct, clicking the Start button will start the analysis (this can be
time consuming for large data sets). After the data has been processed, the frequency workspace
will be displayed.

17.2 Frequency Workspace


FFT results are displayed in the dedicated Frequency workspace. The frequency workspace may
be accessed by clicking the icon in the main toolbar; if computed fequency data is not already
present in the project, a prompt to open the FFT Analysis Dialog will appear.
The main part of the workspace shows contour and line plots of computed FFT data. Various
key data can be selected by using Pages.
The FFT control toolbox is displayed at the side of the screen and may be used for controlling
display and export of the data.

17.2.1 Working with plots


The initial display plots the FFT contour data to the left, and a line plot of amplitude vs. frequency
to the right.
The FFT plot tools are always displayed in the tool area.
The top buttons allow animation control.
244 CHAPTER 17. FFT ANALYSIS

Figure 17.3: Frequency workspace.

Figure 17.4: Frequency workspace.


17.2. FREQUENCY WORKSPACE 245

Figure 17.5: FFT toolbox.

• Play - start the phase animation.


• Stop - stop the phase animation.
• Save - export the phase animation as a video.
• Speed - control the looping speed.

The f= spin box controls the currently displayed frequency.


The button opens the Export Point Data dialog, allowing export of pointwise amplitude
and phase data.
The button opens the Export Area Data dialog, which contains the controls for exporting
area-based data.
The Contour variable area controls the currently displayed FFT component. Changing
the variable here changes all of the displayed contour and line plots.
The Unit control allows the selection of a variety of units for length, velocity, acceleration,
and strain. If the desired unit is not available, a Custom unit may be entered along with a
Custom unit factor.
The Exposure time control sets the exposure time used for phase correction calculations.
This value is taken from the analog data file for high speed cameras or TIFF metadata for low
speed cameras, the newest versions of Vic-Snap 10 automatically handle this. Analog data files
from older versions of Vic-Snap may require manually updating the analog data file.
The Window correction control chooses the correction factor for the currently applied
FFT windowing function, if any.

17.2.1.1 The FRF tab


Where analog impulse data has been included from the FFT Analysis Dialog, the FRF tab will
be selectable.

• The FRF Mode may be selected from Output, Output over input, or Input over output.
246 CHAPTER 17. FFT ANALYSIS

Figure 17.6: FFT toolbox.

• The FRF input variable may be selected from among the variables included during
analysis.
• The Unit control may be usd to select a custom unit for the input. The name of the
Custom unit and the multiplying Custom unit factor may be entered directly below.

17.2.1.2 Phase animations


Displacement amplitudes may be animated to display deflection shapes in an intuitive visual
manner. Clicking the Play button will start a looping animation of the deflection shape for the
current frequenecy. To change the current frequency, the f= tool in the FFT plot tools may be
used; alternately, if the amplitude vs. frequency line plot is selected, the small square at the top
of the current frequency line may be dragged to visually locate frequencies of interest.

17.2.2 Plotting tools in the FFT workspace


For 2D or 3D plots in the FFT workspace, a full set of adjustments is available in the tool area.
For the most part, the plot tools duplicate the ones found in the 2D or 3D plot toolbox, with
certain additions.

• Mode - this control allows selection of the component to be plotted. Amplitude displays
the calculated amplitude for the current frequency, and Phase displays the calculated
phase at the current frequency. Modulated amplitude plots the amplitude as an animatable
modulated value which will change then the Play button is clicked in the FFT toolbox
• Z-axis - in FFT plots, the Z-axis may be replaced with the out-of-plane displacement by
selecting W, or by the currently selected contour variable by selecting Contour.
Selecting Shape plots the standard deformed shape.
• Count - this control speficies the number of full-phase (360°) cycles plotted with each
animation.
• X/Y/Z multiplier - for ease of visualization, the displacement in each axis will be
multiplied by this factor, exaggerating (or attenuating) the motion.
17.2. FREQUENCY WORKSPACE 247

Figure 17.7: FFT toolbox.

For 2D plots, a Tools tab is added. The tools are, in order:

Figure 17.8: 2D FFT plot tools.

• Hand tool - allows panning of the image.


• Add point - add a point for extraction plotting and exporting.
• Reference point - set a point as the zero degree phase reference.
248 CHAPTER 17. FFT ANALYSIS

• Add line slice - draw a line slice for slice plotting.


• Delete point - delete an existing point, reference point, or line slice.

17.2.3 Probing individual points


The amplitude vs. frequency and phase vs. frequency plots for a given point may be viewed by
clicking the add point button ( ) in the FFT tools, and then clicking in the plot. Additional
lines will appear on any line plots that are present.

Figure 17.9: Selecting line slices for plotting.

Probe points can be removed by clicking the button in the FFT tools, and then clicking
on the point.
A reference point (which will become the point where phase=0) may be specified by clicking
the button, and then on the reference point. The extract lines in the phase plot at the lower
right will re-reference to this point.

17.2.4 Probing line slices


Amplitude vs. frequency and phase vs. frequency plots for a given line may be plotted by clicking
the add line button ( ) in the FFT tools. The line is drawn by clicking the start and endpoint
in the plot.
Right-clicking in the document and choosing Show line slices will switch the view to the lines
slice data.
Probe lines can be removed by clicking the button in the FFT tools, and then clicking on
either endpoint.
17.2. FREQUENCY WORKSPACE 249

Figure 17.10: Selecting line slices for plotting.

17.2.4.1 Line plots in the FFT workspace


Line plots such as the frequency vs. amplitude plot may be selected by double-clicking. The plot
boundary will turn into a dotted red line to indicate the selection.
When a plot is selected, the mouse may be used to drag the plot, and the mouse wheel will
zoom. Right-clicking in the plot allows changing plot settings and exporting. Detailed plot
settings are available in the tool area; each control here is describe in more detail in the line
plots section.

In many situations a logarithmic axis scale will be most useful for locating interesting
frequencies. Axis scales may be selected by right-clicking in the plot and choosing X
axis scale or Y axis scale.

17.2.5 Working with pages


Various functional displays may be selected by right-clicking in the document and choosing the
Pages submenu.
Each page contains a different combination of 2D and 3D plots of phase and amplitude along
with line plots of phase or amplitude vs. frequency.

17.2.6 Exporting data


Computed FFT data may be exported either as extracted point data or as array area data.
250 CHAPTER 17. FFT ANALYSIS

Figure 17.11: Context menu for pages.

17.2.6.1 Exporting point data


Point and average FFT data is exported by clicking Export point data in the tool area. The
Export FFT Data dialog will appear.

Figure 17.12: Exporting point data.

Amplitude, phase, or both may be selected for export. Exposure time and window correction
may also be applied at this time.
If inspection points have been added, they will be available in the points selection box;
otherwise, only the average will be given. Relevant variables may also be selected or cleared
17.2. FREQUENCY WORKSPACE 251

from the variables box. Clicking OK allows selection of an output file name and completion of
the export.

17.2.6.2 Exporting area data


Area data may be exported as a UFF (Universal File Format) file by clicking Export area
data in the tool area.

Figure 17.13: Exporting point data.

The desired variables for export can be selected in the Variables list box. The following UFF
data set types are supported for export:

• Geometry (data set 2411) exports the 3D location of nodes.


• Mesh (data set 2412) exports thin shell triangular elements (ID 91) for the data set. Note
that there might be nodes that do not belong to triangles, particularly for larger sampling
steps (see below).
• Spectrum (data set 58) exports the spectrum for each node. & Time response (data set 58)
exports the time response for each node. Note that any spatial filtering and windowing
applied during FFT computation is reflected in this data.

In addition, a header (data set 151) is always exported with the data. The dialog offers the
option to skip data points through increasing the Sample step in order to reduce file size. Note
that the node IDs remain the same if this option is used.
Chapter 18

Real-Time Analysis

Real-time mode may be started by first starting Vic-Snap, and then starting the real-time server
(see Vic-Snap documentation for details). Then, Vic-3D can be started and File. . . Mode. . .
Real-time 3D Analysis should be selected.
A dialog will appear and allow entry of a server and port, or selection of a recent server and
port combination, as shown in Fig. 18.1.

Figure 18.1: Real-time server and port settings.

If Vic-Snap is running on the local PC, localhost should be selected; if Vic-Snap is running
remotely, the IP address of the acquisition PC can be entered. The Port setting should be left
at the default unless there is conflict.
Vic-3D will attempt to connect to the image server; when the connection is established, a
live view will appear in the workspace, and the real-time tools will be displayed, as illustrated in
Fig. 18.2.

18.1 Calibration in Real-Time Mode


Calibration must be performed outside of real-time mode. There are two possible routes:

253
254 CHAPTER 18. REAL-TIME ANALYSIS

Figure 18.2: Real-time analysis tools.

• Calibration in Vic-Snap. If a calibration is present in Vic-Snap when real-time mode is


started, it will be transferred to Vic-3D, and will appear in the Calibration tab. Clicking
Calibration in the tool set to will retrieve the latest calibratoin at any time.
• Calibration in Vic-3D. If the desired calibration is present in a standard project file, the
Calibration. . . Import calibration main menu option may be used to import it.

18.2 Selecting a Reference Image


A reference can be set by clicking Reference in the real-time tool set. The currently displayed
live image will be copied and used as reference. Then, AOIs may be drawn and manipulated as
described in Section 4.4.

18.3 Running the Analysis


The real-time analysis is begun by clicking the green Start Analysis button in the toolbar, or
selecting Data. . . Start analysis. Incoming images will be analyzed and transferred in sequence
as fast as the processor and transfer speed allow.

18.4 Analysis Options


Correlation options may be adjusted before or during the analysis. If the analysis is already in
process, the changes will not take place until the correlation is restarted.

18.5 Pausing the Analysis


In order to make changes to coordinates and contour levels, it may be helpful to pause the
analysis by clicking Pause. The button text will change to Resume and may be clicked to resume.
18.5. PAUSING THE ANALYSIS 255

• The data analyzed in real-time mode is displayed but not saved. To allow later
processing and storage of data, be sure to store the images in Vic-Snap as usual
(timed capture, manual capture, etc.)
• To obtain the best frame rates in Real-time mode, select a large step size; this
will result in fewer points being analyzed and more total updates per second.
• Select a desktop PC with many cores for maximum analysis speeds. With a fast
PC and a larger step size, frame rates of 5-10 per second can be realized.
• Real-time mode is available with an optional module.
Chapter 19

Stereo Microscope Analysis

When using a stereo-microscope, regular camera models cannot accurately capture the distortions.
To obtain optimal results, it is best to select the Stereo Microscope system type from the File
menu. This activates the distortion correction functionality required to accurately compensate
for complex distortions.

19.1 Calibrating Distortions


Stereo-microscope calibration can be initiated by selecting Stereo-microscope mode in Vic-3D
(File. . . Mode. . . Stereo-microscope). The dialog in Fig. 19.1 will appear.
The first step in calibrating the microscope distortions is to add the image pairs from the
in-plane translations by clicking Add images. This displays a standard file dialog where the
images can be selected and imported by clicking on the Open button.
The Subset: control may be used to select a subset size that is appropriate to the speckle
image. The step size and number of coefficients may also be adjusted; in many cases, the defaults
will work well. Clicking Run will begin the analysis as shown in Fig. 19.3.
When analysis is complete, a message indicating success or failure will appear.

19.2 Stereo Calibration


Once the distortion correction is complete, stereo grid images may be added to the project, and
the stereo calibration completed (Fig. 19.4).
The Imaging system selection only contains two options, indicating whether the magnifica-
tion was greater than or less than 1:1. If the incorrect magnification is chosen, the Z-axis of the
results will be inverted.

There is no need to repeat the calibration process for multiple tests that all use the
same calibration. Once the microscope has been calibrated and the project file has
been saved, the calibration can either be imported (see Section 5.7) or the project can
be used as a template (see Section 3.2).

257
258 CHAPTER 19. STEREO MICROSCOPE ANALYSIS

Figure 19.1: Microscope distortion calibration dialog.

19.3 Analyzing Speckle Images


Once the distortion and grid calibration is complete, speckle images may be added and analyzed
as usual. The data will be processed using the distortion map and corrected.
19.3. ANALYZING SPECKLE IMAGES 259

Figure 19.2: Images imported into distortion calibration dialog.


260 CHAPTER 19. STEREO MICROSCOPE ANALYSIS

Figure 19.3: Distortion calibration dialog during analysis.


19.3. ANALYZING SPECKLE IMAGES 261

Figure 19.4: Stereo calibration dialog in stereo microscope mode.


Chapter 20

Batch Processing Mode

Vic-3D has a batch processing mode for running one or more project files without user intervention.
The batch processing mode mode can be used by starting Vic-3D from the command line with
the following arguments:
Vic3D -R filename1 [filename2] [...]
This will create or append to a log in the home directory (typically c:\users\login_name)
folder called Vic3D_batch_log.txt. Alternatively, a different log file name can be specified on
the command line using the -L switch
Vic3D -R filenames -L logname
To automatically output a report with results, one or more report templates and output files
can be specified. The number of output files must match the number of project files to process.
Vic3D -R filenames -L logname -T templatename -O outputnames
In batch processing mode, a Vic-3D icon will appear in the system tray to show progress and
allows cancelling the analysis. Right-clicking on the tray icon brings up a pop-up window with
progress information and an option to cancel.
For each project analyzed, the log file will contain information on start and stop times, points
processed, projection error, and any associated warnings or errors. If applicable, report generator
output will also be logged.

263
Chapter 21

The Global Preferences Dialog

In Vic-3D, options and plot template defaults may be set with the Global Preferences dialog.
The dialog is accessed by selecting Edit. . . Global Preferences from the main menu.

21.1 Main Workspace


The Main Workspace preferences are shown in Fig. 21.1.

Figure 21.1: Main Workspace preferences.

The default position pulldown is used to select the position of the tool area (left or right).

21.2 Data File Type


The Data File Type preferences are illustrated in Fig. 21.2.
The pulldown may be used to choose the default format for data storage during analysis:
• Out files - these are individual files for each frame of data and maintain compatibility
with older Vic-3D versions.

265
266 CHAPTER 21. THE GLOBAL PREFERENCES DIALOG

Figure 21.2: Data File Type preferences.

• HDF5 file - this is a single hierarchical data file containing all output data for enhanced
speed and portability.

21.3 Plot Template Settings


Each customization setting for plots and graphs may be controlled with the Plot Template
Settings tab, as seen in Fig. 21.3.
The pulldown can be used to choose from Document, 3D plot (illustrated in Fig. 21.4), 2D
contour plot, and 2D line plot settings.
To the left of each setting is a checkbox; when this box is filled, the specific setting will be
applied as a default.
The Graph Styles tab allows customization of series styles including marker and line color
and style.
A certain set of defaults may be saved using the Save tool button, or set for the currentt
project using the center tool button. Defaults can be deleted using the Delete template tool
button.

21.4 Colormaps
This tab, pictured in Fig. 21.5, may be used to create, edit, and import custom colormaps for
data visualization.

• A new colormap can be created by clicking Create New and selecting a name.
• Colormaps have two or more control points at specified indices. Colors are linear interpolated
between control points in either RGB or HSV color space. The color at each control
point can be selected by clicking on the Color sample to show the color chooser dialog
(Fig. 21.6).
21.5. STRAIN DEFAULTS 267

Figure 21.3: Plot Template Settings.

Colors may be selected using the Basic colors palette or from the HSV chooser to the
right. Clicking Pick Screen Color will allow the sampling of a color from anywhere on
the screen. Color values may be entered directly using HSV, RGB, or hex color codes.
Clicking OK will finalize the color selection.

• Buttons are available to Rename or Delete the selected colormap.

• Stored colormaps in JSON format may be loaded using the Load from File button.

• When a colormap has been used in a project file, it may be imported using the load from
Project button and selecting the project.

21.5 Strain Defaults


This tab (Fig. 21.7) controls default settings for strain computation. More details on each setting
are available in Section 10.1.
268 CHAPTER 21. THE GLOBAL PREFERENCES DIALOG

Figure 21.4: Global Preferences dialog showing 3D plot settings.

Figure 21.5: Colormaps editor.


21.5. STRAIN DEFAULTS 269

Figure 21.6: Color chooser.

Figure 21.7: Strain default settings.


Chapter 22

Appendix: Controls and Elements

22.1 2D Plot Controls


Properties for 2D plots are grouped into the following categories.

22.1.1 Sequences
The Sequences control allows selection from existing data sources (triangulated data, extraction
locations) for display. This control is only available in the iris workspace; in the analysis
workspace, each plot has fixed source data.

Figure 22.1: Sequence selector in 2D Plot

More information about sequence data sources is available in Section 14.3.13.1.


The Sequences tab also contains controls for the appearance of the plot; these controls are
detailed in Section 14.3.12.

22.1.2 View
The 2D View group pictured in Fig. 22.2 controls the basic parameters of a 2D plot.
The current plot Time is controlled with a spin box and is animatable.
For reference, the frame associated with the selected time is displayed immediately below.
The Interpolation pulldown allows selection of Nearest, which will cause display of the data
from the frame closest to the selected decimal time, or Linear, which will result in a data overlay
that is interpolated from the data before and after the selected time.

271
272 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

Figure 22.2: Sequence selector in 2D Plot

The Camera Id control allows selection of the background image view. If Show deformed
data is checked, the background image will be of the current frame; otherwise, it will be of the
reference frame.

22.1.3 All
The All controls shown in Fig. 22.3 are used to adjust the size and appearance of plot elements
in 2D plots.

Figure 22.3: All Tool in 2D Plot

The width and height set the overall width and height of the plot (not including the legend).
The background color will be shown anywhere in the plot area not occupied by plot data
(if the range is larger than the plot).
The Line color is the color used for all outlines, grid lines, and tick marks. The Line width
sets the thickness of the background grid lines, and the Outline width controls the width of
the plot border.
22.1. 2D PLOT CONTROLS 273

The background, grid, and ticks will only be visible if the plotted data does not fill
the plot area.

The tick width and length for major and minor ticks can be adjusted here; tick spacing is
set with the axis tools.
Selecting Hide axis decoration will hide the displayed range values.
Hide grid hides the grid displayed in the background along major tick lines.
Hide ticks hides the plot outline and all tick marks.

22.1.4 Axes
The 2D plot’s X and Y-Axis properties can be set by using the common x- and y- axis tools.

22.1.5 Scale
For each 2D plot a visual scale indicator, as pictured in Fig. 22.4, is displayed by default:

Figure 22.4: 2D scale example.

The Scale tab pictured in Fig. 22.5 contains controls for the appearance of the indicator.
The length units may be specified with the pulldown. A complete set of controls for the
positioning and appearance of the scale bar and label are also available.

22.1.6 Plot Positioning


The position, scale, and rotation of the 2D plot are set using the common base tool.

22.1.7 Legend Properties


The 2D legend properties can be adjusted from the sidebar by selecting the legend attached to
the plot and then using the common legend tool.
274 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

Figure 22.5: Scale controls

22.2 3D Plot Controls


22.2.1 Sequences
The Sequences control allows selection from existing data sources (triangulated data, extraction
locations, markers) for display. This control is only available in the iris workspace; in the analysis
workspace each plot is associated with a fixed data source.

Figure 22.6: Sequence selector in 3D plot

More information about sequence data sources is available in Section 14.3.13.1.


The Sequence tab also contains controls for the appearance of the plot; these controls are
detailed in Section 14.3.12.
22.2. 3D PLOT CONTROLS 275

22.2.2 View
The view properties shown in Fig. 22.7 control the visual appearance of the 3D plot and axes.

Figure 22.7: View tool in 3D plot

Frame time can be adjusted using the Time control, with values ranging from 0 to 1. The
frame time is animatable.
The frame associated with the selected time is displayed immediately below.
If the data needs to be displayed at a time that lands between two sequential data sets,
Interpolation will be used to calculate intermediate values. The control allows for linear
interpolation as well as disabling interpolation (nearest neighbor). Interpolation is used for
triangulated data (plots, VTK data) but not for images.
The Length units pulldown may be used to select the unit for the axis scales.
The overall size of the plot may be set with the Size control.
The axis direction indicator may be enabled or disabled with the Show 3D axis checkbox.
Checking Show coordinate system will cause the axis planes and scales to be displayed.
The rotation angles for the plot about the X, Y and Z axes are set with the α, β, and γ
controls, respectively. They may also be set by double-clicking in the plot and then clicking and
dragging. The rotation angles are animatable as a group.
If Prevent rescaling is checked, the plot’s scale will be maintained when the underlying
data changes.
Changing the Axis margin affects the distance between the boundaries of the plot and the
axis planes.
The color of the axis grid may be set with the Axis color control, and the color of the axis
background planes with the Plane color control.
Lighting intensity may be adjusted for the Ambient source (the amount of light everywhere
in the scene), the Diffuse source (a diffuse light source pointed at the surface), and the Specular
source (a direct light which creates shine on the surface).
276 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

The material color is only visible if the contour overlay and speckle image display are
disabled. To view only the object without any overlaid data, disable the contour,
speckle, isolines, and coordinate system.

22.2.3 Axes
The range and appearance of each axis is adjusted with the X/Y/Z Axis groups.

Figure 22.8: 3D X axis controls.

The range of the axis is set with the Range controls. Clicking the # icon allows direct entry
of the minimum and maximum values; clicking again returns the sliders with the newly entered
limits.
The Ticks label margin control sets the distance of the labels from the axis boundary.
The number of Major Ticks may be set here, as well as the Font, Color, and Number
Format. The Label alignment and Label margin control the position of the main axis label.
There is also a checkbox to Hide the label and font controls.
If Automatic label is checked, a label such as “X [mm]” is applied. If it is cleared, a text
box appears below, and a custom label may be entered.

22.2.4 3D Axis
For each 3D plot, a Cartesian axis indicator as pictured in Fig. 22.9 is displayed by default:
The appearance of the indicator may be controlled either by clicking on the indicator (iris
workspace) or selecting the 3D Axis tab (analysis workspace).
The size and radius of the 3D arrows may be controlled here, as well as each arrow’s color.
The label display may be set to Off, On, or Auto (each label will only be displayed if it is not
obscured.) The font and color of the label text is also adjustable.
The 3D Axis tab also contains a base tool which allows position, rotation, scaling, and
animation.
22.3. CONTOUR LEGEND PROPERTIES 277

Figure 22.9: 3D axis example.

Figure 22.10: 3D Axis tool.

22.2.5 Plot Positioning


The position and rotation of the 3D plot are set using the base tool.

22.2.6 Legend Properties


The 3D legend properties can be adjusted from the sidebar by selecting the legend attached with
the plot and using the legend tool.

22.3 Contour Legend Properties


The legend tool controls the legend properties for both 2D and 3D plots in iris. This tool affects
the legend itself and also contains controls for the appearance of the attached plot. A 2D legend
is shown in Fig. 22.11.
278 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

Figure 22.11: Plot with legend selected.

Clicking the relevant legend will highlight it with a black border; settings shown in Fig. 22.12
may then be edited using the toolbar at the side of the work area.

22.3.1 Legend Properties


Contour
The Variable pulldown determines which variable to overlay as a contour plot. A range of
relevant units may be selected, or a custom unit and associated factor may be entered.
The range of contour variables (minimum and maximum) is set with the Range controls.
Clicking the # icon allows direct entry of the minimum and maximum values; clicking again
returns the sliders with the newly entered limits.
If Prevent rescaling is checked, the plot scale will not change if the underlying data is
processed or modified.
The opacity of the overlay is set with the Opacity control; 0.00 is invisible and 1.00 is fully
opaque.
A variety of color maps may be chosen from the Color map pulldown. Custom color maps
may be created using the Global Preferences dialog. The number of displayed levels is set with
the Colors control.
The Show isolines checkbox toggles the display of isolines in the plot. The number of isoline
levels is set with the Isolines control. The Line color and Line width affect the appearance of
the contour legend; the Isoline color and Isoline width control the appearance of the isolines.
22.3. CONTOUR LEGEND PROPERTIES 279

Figure 22.12: Legend tool for 3D plot.


280 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

The size of the color scale bar in the legend is controlled by the Bar length and Bar width.
The format, color, and font of the contour legend labels are set with Number format, Font,
and Font color.

22.3.2 Legend Positioning


The position and rotation of the legend are set using the common base tool.

The contour variable name dispayed near the legend is an editable text box and may
contain variable tags or custom text.

22.4 Line Plot Controls


This set of tools controls the plot data and appearance for line/extraction plots.

22.4.1 Charts controls


The Charts controls, pictured in Fig. 22.13, allow selection of data plot sources.

Figure 22.13: Charts data controls.

A new data series may be added by selecting New and choosing extraction nodes and
components for each axis. A Custom unit and associated multiplying factor may also be
applied, if desired. The style for the new series can be picked with the Default Styles control.
Finally, clicking Add will add the series to the list above.
22.4. LINE PLOT CONTROLS 281

An existing data series may be edited by clicking on it to select and then adjusting the
parameters below. To apply any changes, click the ←- button to the right.
An individual series may be deleted with the Delete button; clicking Clear removes all data
series.
Clicking Fit Content will automatically fit the boundaries of the chart area to fit all plotted
data.
Clicking the Multi. . . button will enable the addition of multiple data series or multiple
objects at once, using the dialog pictured in Fig. 22.14.

Figure 22.14: Multi series dialog for line extractions.

• For the case of line extraction, a Temporal and Spatial tab are available. The Temporal
tab has controls for the number of waterfall lines displayed and the interpolation method;
the Spatial tab has selections for the lines to extract from and the desired variables to
plot. Data series options are shown below; each of these properties is individually described
in the data series controls section.
• For the case of point (or disc, rectangle, etc.) extraction, the dialog in Fig. 22.15 is
displayed. The desired extraction elements are selectable to the right, and other plot
options to the left.

22.4.2 Data series controls


If a data series is selected from the list, properties for this series will be presented in the tool
box as pictured in Fig. 22.16.
If Automatic Name is checked, a name will be assigned based on the extraction source
and axis selections. If the box is cleared, a custom name may be entered.
282 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

Figure 22.15: Multi series dialog for point extractions.

Figure 22.16: Charts data controls.

The selected series may be included in or omitted from the plot legend by toggling the Show
in legend checkbox.
If Interpolation is set to linear, time data will be computed between existing data points
with linear interpolation. If it is set to nearest, the nearest data point will be used.
The color, width, and style of the line may be set below, or the line may be hidden by
clearing the Show line checkbox.
Controls are also available for the shape, outline width, outline color, fill color, and size
of the data markers. The Show markers pulldown may be used to select between showing all
markers; showing no markers; showing a marker only at the end of the plot (for running plots);
and showing the marker at the plot time (selected from the time control in the base tool, or
animated.)
If Running plot is selected the plot will end at the base time.
Checking Use deformed variables will add deformation to the X/Y/Z variables, when
present in the plot.

22.4.3 Base/All controls


In the iris workspace the Base controls are available for line plots; see Section 22.5.2 for details.
(In the analysis location the base controls for line plots are fixed.)
22.4. LINE PLOT CONTROLS 283

The Time control in the base control may be used to create animated plots, either
by using running plots or by using the At plot time marker selection.

22.4.4 Legend controls


The Legend tab seen in Fig. 22.17 allows adjustment of the plot legend appearance and location.

Figure 22.17: Line plot legend controls.

The Corner pulldown allows placement of the legend in any of the four corners of the plot.
The legend may be placed either inside or outside the plot by changing the Position along
axis control.
The position of the legend relative to the selected corner may be increased or reduced with
the Axis offset property.
The colors for the background and border of the legend are selectable below.
The legend outline may be given rounded corners by increasing the Border corner radius.
The thickness of the outline is set with the Border width property.
The inside margins of the legend box are set with Horizontal margin and Vertical margin.
Spacing between each item is set with Item spacing.
A font and text color may also be chosen for the legend.
The Graph icon width property controls the size of the examplar for each series; the Icon
position adjusts the location of the examplar with respect to the text.

22.4.5 Axis controls


The X and Y axis controls for line plots are detailed in Section 22.5.1.
284 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

22.5 Common Controls


22.5.1 XY axis tools
Images, 2D plots, and extractions have associated x- and y-axis ticks and labels. The placement,
format, and style of these axes are controlled with a common Axis tool as shown in Fig. 22.18.

Figure 22.18: X and Y Axis Tools.

The Range control sets the axis ranges. For extraction plots, this will be in data units; for
2D plots, the value is in pixels.
To reverse the given axis, check Invert axis.
The Ticks label margin adjusts the distance between the plot and the numbered tick
labels.
The Major ticks and Minor ticks boxes control the number of major ticks for the entire
range, and the number of minor ticks between each major tick.
The Tick font, tick font size pulldown, and Tick font color controls affect the numbers
displayed alongside each tick.
Formatting of numerical values is selected with the Ticks number format control; select
Scientific notation, Number for positional notation, or Best to select based on data. Precision
can be selected with the adjoining pulldown.
The Label position pulldown allows top/bottom or left/right placement of the tick label
depending on axis.
The Label alignment pulldown allows the option of left, right, or center alignment for the
label along the axis.
The Label margin control adjusts the margin between the numbered tick labels and the
axis label.
Checking Hide label hides the axis label.
If Automatic label is selected, the label will match the data. A custom label can be entered
by clearing the checkbox and entering the text in the text edit at the bottom of the axis control.
22.5. COMMON CONTROLS 285

The Label font, font size pulldown, and Label font color controls affect the appearance
of the associated axis label. Controls are also available for text formatting and symbol entry,
when using a custom label.

22.5.2 The Base tool


Each element placed in the iris workspace shares a common set of controls for location, rotation,
scale, etc. These control the placement and size of the object on the page and can be animated
to allow motion, rotation, and zooming. These controls are contained within the Base tool,
shown in Fig. 22.19.

Figure 22.19: Base tool.

The x and y controls set the object location within the page.
The Rotation control adjusts the rotation angle of the object, in degrees.
The Scale tool scales the object, using the object’s Width and Height settings as a base.
The Depth controls the z-order within the page, determining which objects are displayed on
top of others.
The Opacity control allows objects or background to be seen through the selected object, if
set to less than 1.00. For a fully transparent (invisible) object the value should be set to 0.00.
The Origin controls are used to set the origin of the local coordinate system of the element.
This is the fixed anchor within the element position, rotation, and scaling. Note that changing
the origin will result in a movement of the object and it is recommended to set the origin before
any animation of the object position is created. The default origin is different from the top-left
corner for some objects. For instance, 3D plots use the center of the plot as the default origin to
facilitate smooth interactive rotation of the plot.
All properties except depth and origin may be animated.

Since the Depth control is not animatable, clipping of an element may be used to
allow elements behind it to be seen in an animation
286 CHAPTER 22. APPENDIX: CONTROLS AND ELEMENTS

For templates to work well with different data and images, it is best to set the object
origin to center on the template pages before positioning the object. This ensures that
the object remain in a reasonable position when the template is applied to different
data with, e.g., different image aspect ratios or data ranges.

22.5.3 The Color Selector


In each location where a color is customizable, a common Select Color dialog (Fig. 22.20) is
employed.

Figure 22.20: Color select tool.

At the top left is a palette of basic colors. Clicking Pick Screen Color will allow a second
click anywhere on the screen to detect and use the color at that location.
Colors may be selected directly via their Hue/Saturation/Value definition or via
Red/Green/Blue values. An alpha channel (transparency) is also available and applies to certain
graphic elements. Alternately, the HTML color code may also be entered directly.
Once a color is selected it may be saved to a set of favorites by clicking Add to Custom
Colors.
When selection is complete, clicking OK will apply the color to the relevant control.
Chapter 23

Appendix: VicPy Python Module

The VicPy python module permits loading and saving of Vic-3D data files in python. This
allows custom post-processing and data reduction algorithms to be implemented very quickly
and efficiently. Since the python module can write results in Vic-3D’s native output format, the
post-processing results can then be used in Vic-3D for visualization.

23.1 Installation
The easiest method to install the VicPy method is to use the Anaconda® platform from
Continuum Analytics, Inc.

1. Anaconda can be downloaded from the following link: https://www.anaconda.com/


download/. Select the 64 bit installer for Python 3.7.
2. Install Anaconda. For Installation Type, it is best to select “Just Me”. Administrator rights
are required if “All Users” is selected to complete the console installation steps below.

3. The “Add Anaconda to my PATH environment variable” and “Register Anaconda as my


default Python 3.X” should be marked.

4. Run the Anaconda console (“Anaconda Prompt” from the Start menu). If you installed
for “All Users” above, you may have to right-click and Run as administrator.

5. From the Anaconda console, run the command:

conda install -c correlatedsolutions vicpy

6. The VicPy module is now installed. All VicPy programs must be run from the Anaconda
console.
7. If you’d like to test the module, install the examples from this link: Python Examples. A
short instruction file is in the ZIP.

287
288 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

Figure 23.1: Installation type selection.

23.1.1 Running VicPy Scripts


1. If you are comfortable with the console you can simply use the console Python application
to run .py and .pyw modules.
2. To run directly, you will have to associate .py and .pyw modules with the relevant
applications. To do this, navigate to the file; right-click, and select Open with. . . .
3. Select More apps.
4. Scroll all the way to the bottom, and select Look for another app on this PC
5. Navigate to the folder c:\users\[your name]\anaconda3.
6. Select python.exe for .py files, and pythonw.exe for .pyw files. (For applications with a
graphical interface, PYW files will show the application without the unnecessary console
window.)
7. After this, if you double click on another script, it should run directly.

For offline installation, tarballs are available at the following links:


http://www.downloads.correlatedsolutions.com/vicpy-1.0-py36_0.tar.bz2
http://www.downloads.correlatedsolutions.com/vicpy-1.0-py35_0.tar.bz2
http://www.downloads.correlatedsolutions.com/vicpy-1.0-py34_0.tar.bz2
To install using this method, the following command can be used from an anaconda console
prompt:

conda install vicpy-1.0-pyNN_0.tar.bz2.


23.2. EXAMPLE 289

Figure 23.2: Anaconda install dialog showing both options checked.

Figure 23.3: Screenshot of Anaconda prompt on start menu.

This will install the module from the tarball.

23.2 Example
To illustrate what can be done with the VicPy module, here is a very simple example that loads
a data file, computes the magnitude of the displacement for all data points, and saves the data
file under a new filename.

from VicPy import *

import math
import sys

from os import _exit as exit


290 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

The beginning of the script imports the VicPy module into python so that its classes become
available for use. The math module is imported so that the square-root function can be used, the
sys module provides access to the command-line arguments and the exit function is imported
from the os module.

if len(sys.argv) != 3:
print("Usage: %s infile.out outfile.out\n" % sys.argv[0])
exit(-1)

data = VicDataSet()

if (data.load(sys.argv[1]) == False):
print("Could not load data set\n", file=sys.stderr)
exit(-1)

The program checks that an input and output file are specified on the command line and
displays a usage message if not and then exits. If two arguments are given, a VicDataSet is
created and the script attempts to read the specified input file. If an error occurs, the program
displays an error message and exits.

# The add variable function returns the actual name


# of the variable, which might be different from the
# requested name if the variable already exists.
#
r_var = data.addVariable("D", "∆ [mm]")

var_names = ["sigma", "U", "V", "W"]

Here, a new variable is created for the displacement magnitude. Since all variable names in
Vic data files must be unique, the name of the created variable is stored. Furthermore, a list of
variables is created that is later used to find the inputs for the calculation.

for aoi in range(data.numData()):


d = data.data(aoi)
var_ids = []
r_idx = d.varIndex(r_var);
if r_idx < 0:
print("Could not find variable index for resultant.")
exit(-1)
for var in var_names:
idx = d.varIndex(var)
if (idx < 0):
print("Could not find variable %s" % var)
exit(-1)
var_ids.append(idx)
23.3. CLASS REFERENCE 291

for i in range(d.matrixSize()):
values = d.values(i, var_ids)
r = 0.0
if values[0] >= 0:
u = values[1]
v = values[2]
w = values[3]
r = math.sqrt(u * u + v * v + w * w)
d.setValue(i, r_idx, r)

The script then loops over all AOIs in the data set and retrieves the variable indeces for
the input and output variables. Then, a second loop iterates over the data points in the AOI,
computes the displacement magnitude and stores it in the result variable.

if data.save(sys.argv[2]) == False:
print("Could not save the dataset\n\n")
exit(-1)

Finally, the script saves the data set in the output file specified on the command line.

23.3 Class Reference


23.3.1 Class RigidTransformation
def apply(self, point)

Applys the transformation on the supplied point, both the translation and the
rotation.
Args: point(tuple/list) : A tuple or a list of size 3 representing a point.
Returns: tuple/list : A tuple or list of size 3 representing the point after the applied
transformation.

def fromDisplacement(self, data)

Compute a best plane fit for a data set.


Args: data(VicDataSet) : The dataset to process.
Returns: (success, residual): Returns True/False depending on the success of the fit
and the residual.

def invert(self)

Invert the transformation.

def planeFit(self, data, bool ignoreDisp=False)


292 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

Compute a best plane fit for a data set.


Args: data(VicDataSet) : The dataset to process.

ignoreDisp(bool) : Whether to ignore the displacement or not. Defaults


to false.

Returns: True if successful, False otherwise.

def rotation(self)

Accessor to the rotation component of the transformation object.


Returns: A Rotation object.

def setRotation(self, Rotation rot)

Set the rotation component for the transformation.


Args: rot(Rotation) : A rotation object to be used.

def setTranslation(self, point)

Set the translation component for the transformation.


Args: point(tuple/list) : Can be a tuple or list but must contain 3 elements.

def translation(self)

Accessor to the translation component of the transformation.


Returns: A tuple of the translation.

23.3.2 Class Rotation


def angles(self, bool radians=False)

Get the angles of the rotation object.

Args:
radians(bool) : Should the angles be in radians or degrees?
Defaults to false.

Returns:
Tuple : Returns a tuple of the Cardan/Bryant angles.

def apply(self, point)


23.3. CLASS REFERENCE 293

Applys a transformation around the supplied point based on the angles in the rotation
object.
Args: point(tuple/list) : A tuple or list, with a size of 3, that acts as a point in a
coordinate system.
Returns: Depending on whether a tuple or a list was passed in, returns either a tuple
or a list of the point after the applied transformation.

def loadIdentity(self)

Load an identity rotation.

def matrix(self)

Returns a 3x3 rotation matrix.

def setAngles(self, double alpha=0, double beta=0, double gamma=0, bool


radians=False)

Manually set or change the angles contained in the object.

Args:
alpha(double) : Rotation around x

beta(double) : Rotation around y

gamma(double) : Rotation around z

radians(bool) : Are the values in radians or degrees? Defaults


to false.

def setMatrix(self, mat)

Set a 3x3 rotation matrix.


Args: mat(numpy.ndarray): 3x3 matrix

23.3.3 Class VicData


def asArray(self, vars)

Return a numpy array of the specified variables


Args: vars : List of variables.
Returns: Array of data values.

def atGlobalXY(self, float x, float y, vector[int] var_ids)


294 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

Return the values of a set of variables at a specific (global) position.


Args: x,y(float) : The global position to lookup.

var_ids(vector[int]) : The variables to lookup

Returns: bool, list : Success status and list of the values found.

def clear(self)

Clears this object of all data.

def findMaximum(self, varIdx)

Find the maximum value for a given variable in the dataset.


Args: varIdx(int) : The variable to search over.
Returns: float : The maximum value of that variable.

def findMinimum(self, varIdx)

Find the minimum value for a given variable in the dataset.


Args: varIdx(int) : The variable to search over.
Returns: float : The minimum value of that variable.

def matrixSize(self)

Returns the size of the matrix itself.

def numColumns(self)

Returns the number of columns in the data matrix.

def numRows(self)

Returns the number of rows in the data matrix.

def numVariables(self)

Returns the number of variables in the data matrix.

def setValue(self, int n, int varIdx, float value)

Set the value of an entry in the dataset.


Args: n(int) : The row in the dataset to access.
23.3. CLASS REFERENCE 295

varIdx(int) : Which variable should be changed.

value(float) : The value to set

def value(self, int n, int varIdx)

Return the value of a variable at a specific position.


Args: n(int) : The position to look up.

varIdx(int) : The index of the variable

Returns: float : The value of the variable at position n

def values(self, int n, vector[int] var_ids)

Return the values of a set of variables at a specific position.


Args: n(int) : The position to lookup.

var_ids(vector[int]) : The variables to lookup

Returns: list : A list of the values found.

def varDescription(self, int n)

Return the description of a variable.


Args: n(int) : The position of the variable to look up.
Returns: string : The descriptione of the variable.

def varIndex(self, str var)

Lookup a variable by its name and return its index.


Args: var(string) : The variable to search for.
Returns: int : Location in the array if found, else -1

def varName(self, int n)

Return the name of a variable.


Args: n(int) : The position of the variable to look up.
Returns: string : The name of the variable.

def varType(self, int n)

Return the type of a variable.


Args: n(int) : The position of the variable to look up.
Returns:: int : The type of the variable.
296 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

23.3.4 Class VicDataSet


def addVariable(self, str varName, str varDesc)

Add a variable to every AOI contained in the dataset.


Args: varName(string) : Name of the variable you want to add.

varDesc(string) : Description of the variable you want to add.

Returns: actualName: The unique variable name assigned to the variable.

def asArray(self, vars)

Return a numpy array for the variables for all AOIs. Note that the triang() function
returns indices into this array.
Args: vars: List of variable names.
Returns: A numpy array containing the requested data values.

def computeCurvature(self, int windowSize=15, bool


computePrincipalCurvature=True, bool reuseVars=True,
bool weightedFilter=True)

Compute the curvature over the AOIs in the datasets.


Arguments: windowSize(int) : Defaults to 15

computePrincipalCurvature(bool) : Defaults to true

reuseVars(bool) : Defaults to True

weightedFilter(bool) : Defaults to True

Returns: bool - True if successful, False otherwise

def computeStrain(self, int windowSize=15, str tensorType='lagrange', bool


computePrincipalStrain=True, bool reuseVars=True, bool
weightedFilter=True, bool computeTresca=False, bool
computeVonMises=False, bool outputGradient=False)

Compute the strain over the AOIs in the datasets.


Arguments: windowSize(int) : Defaults to 15
23.3. CLASS REFERENCE 297

tensorType(string) : Defaults to LagrangeSTrainTensor

computePrincipalStrain(bool) : Defaults to true

reuseVars(bool) : Defaults to True

weightedFilter(bool) : Defaults to True

computeTresca(bool) : Defaults to False

computeVonMises(bool) : Defaults to False

outputGradient(bool) : Defaults to False

Returns: bool - True if successful, False otherwise

def data(self, int n)

Return a pointer to a specific VicData object.


Args: n(int) : The index of the AOI to access.
Returns: VicData : A VicData object for the AOI in the dataset.

def deformedImage(self)

Return the deformed image file name.

def exportMatV4(self, str fileName)

Save the VicDataSet as an output file in the MatV4 format.


Args: fileName(string) : The output name of the file.
Returns: bool : True if successful, otherwise false.

def load(self, str fileName)

Load a Vic-3D output file into this object.


Args: filename(string) : The file to load.
Returns: bool - True if successful, otherwise False

def loadFromData(self, bytes buffer)

Load a Vic-3D output file into this object.


Args: buffer(string) : The memory buffer data to load from.
Returns: bool - True if successful, otherwise False
298 CHAPTER 23. APPENDIX: VICPY PYTHON MODULE

def numData(self)

Return how many AOI’s exist in the dataset.

def range(self, str var)

Return the range of values for a variable.

def referenceImage(self)

Return the reference image file name.

def save(self, str fileName)

Save the VicDataSet as an output file in the Vic-3D format.


Args: fileName(string) : The output name of the file.
Returns: bool : True if successful, otherwise false.

def setDeformedImage(self, str fileName)

Set the deformed image file name.

def setReferenceImage(self, str fileName)

Set the reference image file name.

def smooth(self, str variable, int windowSize=15, bool weighted=True)

def sum_range(self, str var0, str var1)

Return the range of the sum of two variables (e.g., X+U).

def transform(self, RigidTransformation trafo, bool displacementOnly=False)

Apply a transformation to the AOIs in this DataSet.


Args: trafo(RigidTransformation) :

displacementOnly(bool) : Defaults to False

def triang(self, int sub_sample=1)

Return a triangulation for the data set.


Args: sub_sample(int): Sub-sampling value for data reduction.
Returns: A n-by-3 array of triangle indices, where n is the number of triangles.
Chapter 24

Licenses

Our software includes several open source libraries that are used under a variety of different
licenses.

24.1 Qt License
The Qt library is used under the terms of the GNU LGPL License, Version 3]. If you
would like to receive a copy of the source code of the Qt library, please contact us at sup-
port@correlatedsolutions.com.

GNU LESSER GENERAL PUBLIC LICENSE


Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>


Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates


the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser


General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

"The Library" refers to a covered work governed by this License,


other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided


by the Library, but which is not otherwise based on the Library.

299
300 CHAPTER 24. LICENSES

Defining a subclass of a class defined by the Library is deemed a mode


of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an


Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

The "Minimal Corresponding Source" for a Combined Work means the


Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the


object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a


facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or

b) under the GNU GPL, with none of the additional permissions of


this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from


a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
24.1. QT LICENSE 301

layouts and accessors, or small macros, inline functions and templates


(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the object code with a copy of the GNU GPL and this license
document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.

c) For a Combined Work that displays copyright notices during


execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this


License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.

1) Use a suitable shared library mechanism for linking with the


Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
302 CHAPTER 24. LICENSES

Version.

e) Provide Installation Information, but only if you would otherwise


be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it


is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the


Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
24.2. FFMPEG LICENSE 303

General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide


whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

24.2 Ffmpeg License


The software includes a binary for ffmpeg used for video encoding. The included ffmpeg version
was built using configuration options for LGPL (v3) licensing. If you would like to receive a copy
of the source code for ffmpeg, please contact us at support@correlatedsolutions.com.

GNU LESSER GENERAL PUBLIC LICENSE


Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>


Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates


the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser


General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

"The Library" refers to a covered work governed by this License,


other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided


by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an


Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
304 CHAPTER 24. LICENSES

The "Minimal Corresponding Source" for a Combined Work means the


Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the


object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a


facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or

b) under the GNU GPL, with none of the additional permissions of


this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from


a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
24.2. FFMPEG LICENSE 305

b) Accompany the object code with a copy of the GNU GPL and this license
document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.

c) For a Combined Work that displays copyright notices during


execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this


License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.

1) Use a suitable shared library mechanism for linking with the


Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.

e) Provide Installation Information, but only if you would otherwise


be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
306 CHAPTER 24. LICENSES

Application with a modified version of the Linked Version. (If


you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it


is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the


Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide


whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
24.3. LIBTIFF LICENSE 307

24.3 LibTiff License


The LibTiff library is used for loading and saving images in the TIFF image format. The LibTiff
library is used under the following license.

Copyright (c) 1988-1997 Sam Leffler


Copyright (c) 1991-1997 Silicon Graphics, Inc.

Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
publicity relating to the software without the specific, prior written
permission of Sam Leffler and Silicon Graphics.

THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,


EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR


ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.

24.4 VTK License


VTK is an open-source toolkit licensed under the BSD license.

Copyright (c) 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen


All rights reserved.

Redistribution and use in source and binary forms, with or without


modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright notice,


this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright


notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
308 CHAPTER 24. LICENSES

3. Neither name of Ken Martin, Will Schroeder, or Bill Lorensen nor the
names of any contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS


“AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

24.5 ZLib License


/* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.2.11, January 15th, 2017

Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied


warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,


including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly Mark Adler


jloup@gzip.org madler@alumni.caltech.edu

*/
24.6. MUPARSER LICENSE 309

24.6 MuParser License


Copyright (C) 2013 Ingo Berg

Permission is hereby granted, free of charge, to any person


obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be


included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,


EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

You might also like