Argos2D Logo

Argos2D

Digital Image Correlation Software
User Documentation
Version 1.2
Thank you for choosing Argos2D. This document will guide you through the installation requirements, the user interface, and the main features of the software. For support, please visit argos-correlation.com or contact us at contact@argos-correlation.com.

Table of Contents

1. System Requirements

1.1 Operating System

Argos2D is a Windows-only application.

RequirementMinimum
Operating systemWindows 10 (64-bit) or later
Architecturex86-64 (64-bit only)
Installation privilegesAdministrator for the installer. None for the portable edition, which is simply unzipped and run.

1.2 GPU Compatibility

A compatible NVIDIA GPU is required.

GPU ArchitectureCompute CapabilityExample GPUs
Turingsm_75GeForce RTX 2060–2080 Ti, GTX 1660, Quadro RTX, Tesla T4
Amperesm_86GeForce RTX 3060–3090, RTX A5000/A6000, A100
Ada Lovelacesm_89GeForce RTX 4060–4090, RTX L40/L40S
Blackwellsm_120GeForce RTX 5070–5090
Note: Older architectures (Pascal and below, e.g. GTX 1080, GTX 970) are not supported. The minimum required GPU generation is Turing (2018).

1.3 NVIDIA Driver & CUDA

Argos2D ships with the CUDA runtime libraries (cudart, cuFFT), so you do not need to install the CUDA Toolkit yourself. However, your NVIDIA driver must be recent enough to support CUDA 12.0 or later.

ComponentRequirement
NVIDIA display driverVersion 525.0 or later (for CUDA 12.0+ support)
CUDA runtimeSupplied with the application, no separate installation required
Tip: To check your current driver version, right-click on your desktop → NVIDIA Control PanelHelpSystem Information. You can also run nvidia-smi in a command prompt.

1.4 Runtime Dependencies

Nothing has to be installed on your system. Every runtime Argos2D needs is supplied next to the executable:

DependencyDetails
Microsoft Visual C++ RedistributableSupplied with the application. Argos2D no longer installs it system-wide, so no reboot is ever requested and the portable edition works without administrator rights.
Universal C Runtime (UCRT)Part of Windows 10 and later, so already present on every supported system.

1.5 Software Editions

Argos2D comes in two editions. The free edition is downloadable without a license key and is not time-limited: you download it, install it, and correlate. The full edition requires a license key and adds two features.

FeatureFree editionFull edition
Correlation, displacement fields, strain fields and criteriaYesYes
All correlation parameters, NLC filter, ROI, mask, GPU selectionYesYes
Export of every computed field (TIFF, full-image or grid)YesYes
Fracture mode — Heaviside-enriched correlation, crack line detection, crack opening and geometry maps (chapters 7.7, 7.9, 12)Yes
Mosaic mode — tile stitching, global position optimisation, non-rigid refinement, per-tile DIC (chapter 6)Yes

Throughout this document, sections that describe a feature absent from the free edition carry the badge Full edition next to their title.

The free edition does not merely hide these features — it does not contain them. They are removed at compile time, not disabled by a flag, so the free installer is a different program rather than a locked version of the same one. This is why the two editions are two separate downloads, and why entering a license key in the free edition triggers a download rather than an instant unlock.
Upgrading: open Help → About Argos2D and click Activate full edition. Paste your license key: Argos2D validates it online, then downloads and installs the full edition over the current one and restarts. Your license key, your project folders and your settings are kept. You never leave the application, and there is nothing to uninstall first.
Update notifications: the free edition does not check for new versions, because downloading an update requires a license key. Its version number is shown in the window title and in Help → About Argos2D; new releases are announced on argos-correlation.com.

2. Getting Started

2.1 The Demo Folder

The installer places a folder named Argos2D Demo on your desktop, containing two images:

FileRole
PImage000.bmpReference image
PImage001.bmpDeformed image

These two images are a synthetic test case with a sliding (mode II) crack.

You can use this folder directly as a project folder (see Section 4).

Tip: If you keep a clean desktop, the demo folder is also reachable from the Start Menu, under the Argos2D group. If you cleared the corresponding checkbox during installation, the folder was not created. Run the installer again and tick Place the Argos2D Demo folder on the desktop.

2.2 Your First Correlation

Using the demo folder, a complete run takes about a minute:

  1. Launch Argos2D. In the PROJECT section, click Select project folder and choose the Argos2D Demo folder on your desktop. Results will be written there.
  2. In INPUT IMAGES, with the Reference panel selected, click + and pick PImage000.bmp, or simply drag the file onto the panel.
  3. Switch to the Deformed panel, click + and pick PImage001.bmp.
  4. On the reference image, click and drag to draw a Region of Interest covering the speckle area. The coordinates appear in the ROI (px) fields of the PARAMETERS section.
  5. Set Computation mode to Translations + 1st order gradients + Heaviside enrichment.
  6. Click Compute displacements.

When the computation finishes, the Displacements, Strains and Fracture tabs appear. Open the Fracture tab and select Opening intensity in the Parameter dropdown: the crack that was invisible in the input images is drawn as a continuous line across the field.

2.3 The Help Menu

A Help ▾ button sits at the right-hand end of the tab row, level with the Input Images tab. It holds two entries:

EntryAction
DocumentationOpens this document in your default browser. It is installed with the application and works offline.
About Argos2D…Shows the exact version you are running, your licence status and the support address. Quote the version shown here whenever you contact support.

3. General Interface

3.1 Overview

Argos2D general interface
Argos2D main interface, showing the Input Images tab with reference and deformed images side by side.

The Argos2D interface is organized into two main areas:

Note: The Displacements, Strains and Fracture tabs are hidden by default. They appear automatically once the corresponding computation has been performed.

4. Project Section

4.1 Selecting a Project Folder

Before loading any images or running computations, you must select a project folder. This folder is where Argos2D will store all computation results and the project configuration file.

There are two ways to set the project folder:

If the selected folder already contains a parameters.json file (i.e. an existing project), you will be prompted with three options:

  1. Load project: loads all settings and image references from the existing project
  2. Overwrite: deletes the existing project data (parameters and all result folders) and starts fresh
  3. Cancel: reverts to the previous project folder

Once a project folder is confirmed, the INPUT IMAGES and PARAMETERS sections become enabled.

4.2 Loading an Existing Project

To reload a previously saved project, click Load project and select the parameters.json file from the project folder. This will restore:

Note: Image paths are stored as relative paths in the project file. As long as the images remain in the same location relative to the parameters.json file, the project can be moved to another directory or computer.

4.3 Project Folder Contents

After running computations, the project folder will contain:

File / FolderDescription
parameters.jsonProject configuration (parameters, image paths, ROI, display ranges). Automatically saved after each modification.
Displacements/Displacement maps: *_ux.tif (horizontal) and *_uy.tif (vertical) for each deformed image.
Strains/Strain maps: *_exx.tif, *_eyy.tif, *_exy.tif, *_e1.tif, *_e2.tif, *_rotation.tif.
Fracture/Fracture maps (when enrichment is enabled): crack openings, intensity, crack position, crystallographic decomposition.
mosaic_*.tiffIn mosaic mode only: the assembled reference (mosaic_reference.tiff) and one file per deformed state (mosaic_deformed_001.tiff, mosaic_deformed_002.tiff, …). See Section 6.8.

All result files are saved in 32-bit TIFF format, which preserves full floating-point precision for post-processing in external tools.

5. Input Images (Single Image Mode)

The INPUT IMAGES section in the sidebar manages the images used for correlation. At the top of this section, a Mosaic toggle allows you to switch between single image mode and mosaic mode. This chapter covers the single image mode (Mosaic toggle off).

Two sub-panels can be accessed via a segmented toggle: Reference and Deformed. Both use the same commands, listed in the button table below.

5.1 Supported Image Formats

Argos2D reads the following image formats:

FormatExtensions
PNG.png
BMP.bmp
TIFF.tif, .tiff
JPEG is not supported. It is a lossy format: the compression destroys the fine detail the speckle pattern is made of, and adds block artefacts that corrupt the measurement. Configure your camera to write TIFF, PNG or BMP.
Note: All images are automatically converted to grayscale upon loading. Color images are converted to 8-bit or 16-bit grayscale depending on the original bit depth. TIFF images with 16-bit depth are preserved as 16-bit grayscale for maximum precision.

5.2 Reference Image

The reference image is the undeformed state of the specimen. To load it:

Once loaded, the file name appears in the text field. The reference image is displayed on the left side of the Input Images tab.

To remove the current reference image, click .

5.3 Deformed Images

Deformed images represent the specimen at various loading stages. You can load one or several at once:

Loaded images appear in a list, and the count is shown below it.

Panel commands

Both panels use the same buttons. The ordering commands apply to the deformed list only:

ButtonActionReferenceDeformed
+Add an image (multi-selection on the deformed list)yesyes
Remove the reference / the selected image(s)yesyes
Move the selected image up in the listnoyes
Move the selected image down in the listnoyes
Clear allRemove every image from the list at oncenoyes
Tip: You can also reorder images by dragging them within the list. The order is the order in which the loading steps are computed and displayed.

5.4 Navigating Between Deformed Images

When multiple deformed images are loaded, the right side of the Input Images tab displays the currently selected deformed image along with its label (e.g. "Deformed 3 / 10").

You can navigate between images using:

5.5 Display Controls

Below each image viewer (reference and deformed), a row of buttons controls the display:

ButtonFunction
FitFit to window: scales the image so it fits entirely within the view area. This is the default mode when an image is first loaded.
1:1Scale 1:1: displays the image at native resolution (one image pixel = one screen pixel). Useful for inspecting fine details.
SyncSynchronize views: when enabled (default), any zoom or pan action on one image is replicated on the other. The button icon shows a link symbol. Disabling it allows independent navigation of each image.

You can also zoom with Ctrl + mouse wheel and pan by holding Ctrl and dragging the image.

Pixel information: When hovering over an image, the cursor becomes a yellow crosshair. The coordinates and grayscale value of the pixel under its centre are displayed below the histogram (e.g. "Pixel : (1234, 567) = 142").

5.6 Histogram & Contrast Adjustment

Below each image viewer, an interactive histogram displays the grayscale value distribution of the image. It allows you to adjust the display contrast without modifying the actual image data.

Adjusting the display range

Drag the left and right edges of the histogram selection to narrow the displayed grayscale range. Pixels below the minimum appear black, and pixels above the maximum appear white. This is useful for enhancing contrast in images with a limited dynamic range.

The current Min and Max values are shown in the header above the histogram.

Histogram controls

ControlFunction
Log toggleSwitches the histogram vertical axis to logarithmic scale. Useful when a few pixel values dominate the distribution (e.g. background), making it easier to see the distribution of less frequent values.
CropZooms the histogram into the currently selected range. This recomputes the histogram for better detail within the selected range. Only enabled when the selection differs from the full range.
ResetResets the histogram to the full grayscale range and clears any zoom, restoring the original display.
Tip: The same histogram and controls are available for both the reference and the deformed image viewers independently.

5.7 Mask

A mask allows you to exclude specific regions from the DIC computation. This is useful for ignoring areas such as grips, specimen edges, holes, or any zone that should not be correlated.

Loading a mask

  1. Check the "Use a mask" checkbox at the bottom of the INPUT IMAGES section.
  2. Click + to select a mask image.

The mask must be a binary image with the same dimensions as the reference and deformed images:

Mask overlay

When a mask is loaded and enabled, a MSK button appears in the reference image toolbar. This toggle controls a semi-transparent red overlay on the reference image, highlighting the excluded (black) regions of the mask. The overlay is purely visual and does not affect the computation.

To remove the mask, click next to the mask file path, or simply uncheck the "Use a mask" checkbox (which preserves the loaded mask image for later re-activation).

Important: The mask is applied to displacement, strain, and fracture computations. Masked points will appear as NaN (not a number) in the output TIFF files.

6. Mosaic ModeFull edition

Mosaic mode is designed for large specimens that require multiple overlapping images (tiles) to cover the full field of view. This is common in LSCM (Laser Scanning Confocal Microscopy), SEM, or any setup where the sample is larger than the camera field.

Argos2D mosaic mode interface
Input Images sidebar in Mosaic mode.

The panel is read from top to bottom, and the sections below follow that same order:

SectionContainsCovered in
TILESState tabs, tile lists, tile crop6.26.4
ASSEMBLYStitch & Correlate / Per-Tile DIC6.5, 6.9
GRID GEOMETRYScan order, grid, overlap, missing tiles6.5
OPTIONSNon-rigid refinement, mask6.6, 6.7

6.1 Activating Mosaic Mode

Toggle the Mosaic switch at the top of the INPUT IMAGES section. If images or results are already loaded, a confirmation dialog will appear:

Warning: Switching between single image mode and mosaic mode resets all current data (images, parameters and computation results). The project folder is preserved.

6.2 Importing Tiles

In mosaic mode, the segmented toggle is replaced by tabs: Reference, Deformed 1, and an + Add state button.

Reference tiles

Select the Reference tab, then:

Tiles are automatically sorted alphabetically by filename upon import. Duplicate filenames are rejected. The tile count is displayed below the list.

Deformed tiles

Select a Deformed tab, then import tiles the same way. Each deformed state must have the same number of tiles as the reference.

All tiles must share the same dimensions. Tiles of differing sizes are rejected at import.

Managing tiles

The tile list uses the same commands as the deformed image list in single image mode (Section 5.3):

ButtonAction
+Add tiles
Remove selected tile(s)
Move selected tile up
Move selected tile down
Clear allRemove all tiles from the current tab

6.3 Deformed States

Each deformed state represents one loading step with its own set of tiles. You can add as many states as needed:

6.4 Crop Tiles

The Crop tiles... button, immediately below the tile lists, opens a dialog that lets you define a rectangular crop region. This crop is applied uniformly to all tiles (reference and deformed).

This is particularly useful for removing instrument headers or information banners that appear at the edges of images (e.g. metadata banners at the bottom of LSCM images).

The crop dialog provides:

While no tiles are loaded the button is disabled and the label next to it reads Load tiles first. Once a crop is defined, the label shows the region kept.

6.5 Stitch & Correlate Mode

This is the default mode, selected in the ASSEMBLY section. The tiles are first assembled (stitched) into a full mosaic image, and DIC correlation is then performed on the assembled result.

Grid geometry

Under GRID GEOMETRY, describe how the tiles were acquired:

ParameterDescription
Scan orderThe order in which tiles were acquired:
  • Snake: alternating left-right then right-left rows
  • Row by row: left to right, row after row (default)
  • Column by column: top to bottom, column after column
If the algorithm detects a different scan order during stitching, it will notify you and update the parameter automatically.
GridNumber of rows and columns in the tile grid (1–50 each).
OverlapHorizontal and vertical overlap between adjacent tiles, as a percentage of the tile size (0–50 %). Default: 20 %.
An approximate overlap is enough. The value you enter only tells the algorithm where to look for the neighbouring tile; the actual offset is then measured by phase correlation.

Missing tiles

If some tiles are missing from the grid (e.g. the specimen does not cover the entire field), check Missing tile(s) and specify their grid positions in the Positions field.

Positions are 0-indexed (the first tile in the grid is position 0). Supported syntax:

InputResult
1Position 1 (second tile)
1, 3, 5Positions 1, 3, and 5
1-5Positions 1 through 5
1-3, 7, 10-12Positions 1, 2, 3, 7, 10, 11, 12

Separators , and ; are both accepted. The number of specified positions must match the number of missing tiles (expected grid size minus actual tile count).

Tip: If no positions are specified, missing tiles are assumed to be at the end of the grid.

6.6 Non-Rigid Refinement

Under OPTIONS, the Non-rigid refinement checkbox adds a second stage to the assembly. It is off by default.

Standard stitching places each tile with a translation alone, which cannot correct two common effects:

Enable the refinement to correct them. Argos2D then measures, inside the overlap regions, one affine transform per tile plus one distortion field shared by the whole mosaic.

How to tell whether you need it: run the correlation without refinement and look at the displacement fields. If the tile boundaries show up as seam lines, steps in ux or uy that follow the tile edges rather than the specimen, enable the refinement and re-align.

The refinement adds time to the assembly. If it cannot measure a reliable correction (too little overlap, or too little texture inside the overlaps), it reports a warning and falls back to translations only.

6.7 Mask in Mosaic Mode

The Use a mask checkbox is the second entry of the OPTIONS section, directly below the refinement. Masks are supported in Stitch & Correlate mode only.

The mask must be loaded after the mosaic has been assembled, and its dimensions must match the final stitched mosaic size, not the individual tile size. Everything else works as in Section 5.7.

6.8 Aligning the Mosaic

Click Align mosaic, at the bottom of the panel, to run the stitching algorithm. This assembles the reference and every deformed state into full mosaic images using phase correlation (FFT-based).

Once aligned, you can select a ROI and configure correlation parameters as in single image mode, then launch the computation.

Note: If you launch a computation without having aligned the mosaic first, stitching will run automatically before the correlation starts. Similarly, if you have changed the grid parameters (rows, columns, overlap, scan order, crop or refinement) since the last alignment, the mosaic will be re-stitched automatically.

The assembled mosaics are saved automatically

Assembled mosaics are written to the project folder as TIFF files, with no option to set:

Reloading the project reuses these files instead of re-stitching, which saves considerable time on large tile sets.

6.9 Per-Tile DIC Mode

Select the Per-Tile DIC radio button in the ASSEMBLY section. In this mode, DIC correlation is performed independently on each tile pair (reference tile vs. corresponding deformed tile), without stitching. The grid geometry and options sections disappear, since none of them applies.

Key characteristics:

When to use Per-Tile DIC: mosaics whose tiles do not overlap enough to be stitched reliably, or acquisitions where each tile is a measurement in its own right.

6.10 Alternative: Pre-stitched Images

If you prefer to stitch your tiles using external software (e.g. Fiji/ImageJ, MATLAB, or any other tool), you can import the resulting full-field images directly into Argos2D in single image mode (Mosaic toggle off). Simply load the pre-stitched reference and deformed images as described in Section 5.

7. Correlation Parameters

The PARAMETERS section in the sidebar controls all DIC computation settings. Argos2D uses an Inverse Compositional Gauss-Newton (IC-GN) local DIC algorithm.

Argos2D DIC parameters
Parameters sidebar with Heaviside enrichment mode selected.

7.1 Region of Interest (ROI)

Before running a computation, you must define a Region of Interest on the reference image. The ROI defines the area over which the DIC correlation will be performed.

To select a ROI:

The ROI is displayed as a rectangle overlay on the reference image and can be adjusted at any time before launching the computation.

7.2 Save Full Image (with NaN)

By default, Argos2D saves only the computed ROI region in the output TIFF files. When the "Save full image (with NaN)" checkbox is enabled, the output files have the same dimensions as the original image: the computed ROI is placed at its correct coordinates, and all non-computed zones are filled with NaN (Not a Number).

Tip: This option is useful when you need to overlay result maps (displacements, strains) on top of the original intensity images, for example in a post-processing tool. The pixel coordinates will match exactly between the result and the original image.

7.3 Window Size

The correlation window (or subset) is the local region used to match patterns between the reference and deformed images. The window size is defined in pixels along X and Y (must be odd numbers). Default: 61 × 61.

A larger window captures more texture and is more robust to noise, but averages out local variations and increases computation time. A smaller window provides finer spatial resolution and is faster to compute, but is more sensitive to noise.

Tip: Heaviside-enriched DIC (H-DIC) is by nature sensitive to high-frequency noise in the images. If your results appear noisy, do not hesitate to increase the window size. The Heaviside enrichment will still capture discontinuities correctly even with larger windows.

7.4 Spacing

The spacing (or step) defines the distance in pixels between two consecutive correlation points along X and Y. Default: 4 × 4.

A smaller spacing yields a denser displacement field (more measurement points), while a larger spacing reduces computation time and output size.

Tip: For both the window size and the spacing, typing a value in the X field copies it to Y. To use different values, set X first, then Y.

The search area bounds the displacement, in pixels, that the pixel-accuracy initialization will look for. It is entered as four independent values, one per direction:

Default: 6 px in each direction, i.e. a symmetric search. Each value is the distance travelled in that direction only: setting Right to 40 and Left to 0 searches 40 px to the right and nothing to the left.

If the actual displacement exceeds the bound in its direction, the initialization cannot find the correct match and the sub-pixel refinement will start from a wrong estimate. Increase the corresponding value.

Tip: When the specimen moves predominantly one way, give that direction the room it needs and leave the opposite one small. You cover a larger displacement at a lower cost.

7.6 Pixel Search (FFT)

Before sub-pixel refinement, every correlation point is initialized with an integer-pixel displacement estimate, computed by FFT-based normalized cross-correlation (ZNCC). There is nothing to set. A uniform change in brightness or contrast between the two images does not affect the result, and a large search area costs almost nothing.

7.7 Computation Mode

The computation mode determines the degrees of freedom (DOF) of the displacement model used for sub-pixel refinement. Four modes are available:

Translations (2 DOF)

Pure rigid body translation. The displacement is constant within the subset:

φ(x) = x + u

Translations + 1st order gradients (6 DOF, default)

Adds an affine deformation gradient to the translations, allowing the subset to capture stretching, compression, shearing and rotation:

φ(x) = x + u + ∇u · (xx0)

where ∇u = [∂u/∂x, ∂u/∂y; ∂v/∂x, ∂v/∂y] is the deformation gradient tensor.

Translations + Heaviside enrichment (4+2 DOF)Full edition

Adds a displacement discontinuity (jump) to the translations, modeled by a Heaviside step function. Captures crack openings without first-order gradients:

φ(x) = x + u + u' · H(xx0)

where u' = (u', v') is the jump vector, H is the Heaviside step function, x0 encodes the crack position and orientation (θ).

Translations + 1st order gradients + Heaviside enrichment (8+2 DOF)Full edition

The most complete mode: combines affine deformation, displacement jump, and Heaviside function:

φ(x) = x + u + ∇u · (xx0) + u' · H(xx0)
Window size and DOF: more degrees of freedom means more computation time per point, and more pixels needed in the window to constrain them. When using an enriched mode, increase the window size accordingly.

7.8 Max Jump Init

This parameter is only visible in Heaviside-enriched modes. It sets the maximum crack opening amplitude (in pixels) for the cold start initialization of the jump parameters. Default: 0 px (automatic).

This is not required for most cases. Increasing it (typically 5+ px) may improve convergence for very large crack openings, at the cost of additional computation time.

7.9 Twinning ModeFull edition

The Enable twinning mode checkbox is only available in Heaviside-enriched modes. When enabled, it adds an 11th degree of freedom: the transition sharpness parameter (k).

The standard Heaviside function assumes an infinitely sharp discontinuity. Twinning mode optimizes the width of the transition instead, which better captures the finite thickness of mechanical twins and closely spaced slip bands.

7.10 Sub-pixel Interpolation

The sub-pixel refinement step requires interpolating the deformed image at non-integer positions. Three schemes are available:

MethodPrecisionSpeedNotes
BilinearLowFastSuitable for quick tests. Not recommended for final results.
BicubicGoodMediumRecommended for most applications. Good balance of precision and speed.
Cubic B-SplineHighSlowerHighest precision. Use with caution in Heaviside-enriched modes, as the smoothing kernel can slightly blur sharp discontinuities.

7.11 Convergence Settings

Sub-pixel tolerance (ε)

The convergence criterion for the IC-GN iterative solver. The algorithm stops when the norm of the parameter update falls below this threshold. Default: 1e-4. Range: 1e-9 to 1e-1.

Lower values yield more precise results but may require more iterations.

Max sub-pixel iterations

Maximum number of Gauss-Newton iterations per correlation point. Default: 30. Range: 1–200.

If the algorithm does not converge within this limit, the point is marked as non-converged. In practice, most points converge well within 30 iterations.

7.12 NLC Filter

The NLC filter checkbox enables Normalized Local Contrast, a preprocessing step applied to both the reference and deformed images before correlation. It is particularly useful when cracks open during deformation.

The problem

When a crack opens, the newly exposed surface creates very dark (or very bright) pixels in the deformed image that do not exist in the reference. Because these extreme pixel values carry heavy weight in the correlation criterion, they can bias the displacement estimate and degrade convergence.

How it works

The NLC filter normalizes the local intensity by computing a z-score within a local neighborhood, then rescaling to the image's global statistics:

NLC(I) =  I − μlocalσlocal × σglobal + μglobal

where μlocal and σlocal are the local mean and standard deviation within a neighborhood, and μglobal and σglobal are the global image statistics.

Extreme local values are mapped back to the average gray level, and the output is clipped to the [0, 255] range.

Tip: The NLC filter is also available as a plugin in ImageJ ("Normalize Local Contrast"). Use it when crack opening or surface damage introduces extreme pixel values that are not present in the reference image.
NLC filter comparison
Effect of the NLC filter on displacement measurement across a crack. Top: reference and deformed images showing crack opening with dark pixels. Middle: without NLC, the displacement profile across the crack shows oscillations and artifacts caused by the extreme pixel values. Bottom: with NLC, the displacement profile shows a clean, sharp step at the crack location. Data courtesy of Damien Texier.

8. GPU Selection

At the bottom of the sidebar, the GPU section displays the available NVIDIA GPU(s) detected on your system. A dropdown menu lets you select which device to use for computations. Each entry shows the GPU name and its total video memory.

If your system has multiple GPUs, an additional "All GPUs" option appears at the top of the list, allowing Argos2D to distribute the workload across all available devices.

Note: Multi-GPU support is experimental. By default, the first single GPU is selected. If no compatible GPU is detected, the dropdown will show "No GPU detected" and computations will not be available.

9. Running a Computation

Once your images are loaded, the ROI is defined, and the parameters are set, click Compute displacements to start the DIC computation. A progress bar indicates the current phase and overall progress.

The computation runs through several successive phases:

  1. Mosaic assembly (mosaic mode only): if the mosaic has not been assembled yet or if the grid parameters have changed, stitching is performed automatically before correlation.
  2. Global alignment via FFT: a fast FFT-based cross-correlation estimates the global rigid body displacement between the reference and deformed images.
  3. Pixel-accuracy initialization: each correlation point is initialized with an integer-pixel displacement estimate via FFT cross-correlation (see Section 7.6).
  4. Sub-pixel refinement: the IC-GN iterative solver refines each point to sub-pixel accuracy using the selected computation mode.

Click Stop at any time to cancel the computation. The process will stop at the end of the current batch of points. There is no pause functionality: stopping a computation requires restarting it from the beginning.

Note: When multiple deformed images are loaded, the computation processes each image sequentially. Results are saved to the project folder as each image completes.

10. Displacements Tab

After a successful computation, the Displacements tab appears and displays the displacement fields side by side:

Argos2D displacements tab
Displacements tab: the Ux and Uy fields with their histograms. Data courtesy of Damien Texier.

Navigation and display

The same view controls as the Input Images tab are available: Fit, 1:1, Sync. Zoom with Ctrl + mouse wheel and pan with Ctrl + click and drag.

When multiple deformed images have been computed, use the slider and navigation buttons at the top to browse through results.

Data markers and line profiles

The leftmost button of the toolbar, showing a label icon, arms two inspection tools at once. They share the left mouse button and are told apart by the gesture: a click places a marker, a drag draws a profile.

GestureResult
Click on the fieldPlaces a data marker: the grid coordinates and the field value at that point. Markers stay where they are put, so several can be compared side by side.
Click and dragDraws a line profile: a floating plot of the field sampled along the segment, from the start point to the end point.
Right-click a markerRemove this marker or Remove all.
Right-click a profile or its plotRemove this profile.
Click the button againDisarms both tools and clears everything that was placed.

The plot appears next to the start of the segment. Its horizontal axis is graduated in grid points, the same unit the data markers use for their coordinates.

Gaps in the curve are real. Where a point was masked, fell outside the grid, or failed to converge, the curve is interrupted rather than bridged. A break means missing data, not a zero.

Histogram and contrast

Each displacement field has its own histogram with the same controls as the Input Images tab (Log, Crop, Reset). Two additional buttons are available:

ButtonFunction
AutoAutomatically adjusts the contrast range to the computed min/max values of the current displacement field.
Apply to allApplies the current contrast range to all deformed states, so that every step uses the same color scale for easy comparison.

11. Strains Tab

The Strains tab computes and displays strain fields derived from the displacement results. All calculations are performed under the small strain hypothesis using finite differences.

Argos2D strains tab
Strains tab: the Von Mises criterion, with the kernel and criteria settings in the sidebar. Data courtesy of Damien Texier.

When the Strains tab is active, the left sidebar switches to the GRADIENT COMPUTATION and STRAIN CRITERIA sections.

11.1 Derivative & Smoothing Kernels

Strain fields are computed by applying a separable convolution to the displacement fields: a derivative kernel along the differentiation direction, combined with a smoothing kernel along the perpendicular direction. Both are chosen in the GRADIENT COMPUTATION section of the sidebar.

Derivative kernels

Centered finite difference kernels used to compute spatial gradients. They must be antisymmetric (coefficients satisfy c[i] = −c[n−1−i]) and have an odd size. Built-in options:

KernelCoefficientsSupport
Order 2 (default)[−1/2, 0, 1/2]3 points
Order 4[1/12, −2/3, 0, 2/3, −1/12]5 points
Order 6[−1/60, 3/20, −3/4, 0, 3/4, −3/20, 1/60]7 points

The order is the order of accuracy, not a quality ranking. A higher order is more accurate on a smooth field, but it reads over a wider support, so it spreads noise and blurs genuine discontinuities. On a cracked or localized field, Order 2 is often the better reading.

Smoothing kernels

Applied perpendicularly to the derivative direction to reduce noise. They must be symmetric (c[i] = c[n−1−i]) and have an odd size. Built-in options:

KernelCoefficients
None (default)No smoothing applied
Sobel[1, 2, 1]
Prewitt[1, 1, 1]
Smoothing coefficients are normalized for you. The kernel is divided by the sum of its coefficients before use, so a custom kernel does not need to sum to 1.

Custom kernels

Click + New to define your own. Custom derivative kernels must be antisymmetric and custom smoothing kernels must be symmetric. Fractional input is supported (e.g. 1/12). The preview below the list displays the resulting 2D kernel and validates the symmetry as you type.

Each custom kernel carries two commands, which appear on its row: a pencil to edit it and a cross to delete it. Built-in kernels cannot be edited or deleted.

11.2 Computed Fields

The following fields are computed from the displacement gradients. Use the Components dropdown at the top left of the view to select which field to display.

Strain tensor components

εxx = ∂u/∂x      εyy = ∂v/∂y      εxy = ½(∂u/∂y + ∂v/∂x)

Principal strains

Computed from the eigenvalues of the strain tensor (Mohr's circle):

R = [(εxx − εyy) / 2]2 + εxy2
εI = (εxx + εyy) / 2 + R        εII = (εxx + εyy) / 2 − R

In-plane rotation

ω = ½(∂v/∂x − ∂u/∂y) × 180/π   [degrees]

11.3 Strain Criteria

In addition to the standard fields, you can define custom strain criteria using mathematical expressions that combine the computed fields. This allows computing any derived quantity (equivalent strain, shear, etc.) without post-processing.

Strain criterion editor
Criterion editor dialog showing the Von Mises equivalent strain expression.

Available variables

VariableDescription
exxNormal strain along X
eyyNormal strain along Y
exyShear strain
eIFirst principal strain (max)
eIISecond principal strain (min)
omegaIn-plane rotation (in degrees)

Operators and functions

SyntaxDescription
+ − * /Addition, subtraction, multiplication, division
**Power (e.g. eI**2)
sqrtSquare root
absAbsolute value
max, minMaximum / minimum of two values (e.g. max(eI, eII))

Default criteria

Two criteria are provided by default as examples. They can be edited or removed:

NameExpression
Von Misessqrt(2/3 * (eI**2 + eII**2 - eI*eII))
Max Shear(eI - eII)/2

Managing criteria

The display controls (Fit, 1:1, Sync, histogram with Auto, Crop, Reset, Apply to all, markers and line profiles) work the same as in the Displacements tab.

12. Fracture TabFull edition

The Fracture tab appears when a computation has been run with a Heaviside-enriched mode. It displays the fracture parameters extracted from the H-DIC optimization and their post-processed derivatives.

The parameters are shown along the detected crack line rather than as full maps. The H-DIC fits its discontinuity parameters at every grid point, whether a crack is there or not. The wide band that appears around a crack on a full map is not the crack itself: it is the width of the correlation window, because every window that touches the crack reports a jump. Argos2D locates the crack by ridge detection on the displacement field, then reads the H-DIC values along that line. Points away from the crack are left empty.

Argos2D fracture tab
Fracture tab: the opening intensity along the detected crack line. Data courtesy of Damien Texier.

Use the Parameter dropdown at the top left to select which field to display. Fields are organized in three categories. The display controls (Fit, 1:1, histogram with Auto, Crop, Reset, Apply to all) work the same as in the other tabs.

12.1 Crack Opening

These fields describe the displacement discontinuity (jump) across the crack. The jump vector (u') is a direct output of the H-DIC optimization; the opening components and intensity are derived from it:

FieldSourceDescription
Opening XPost-processedHorizontal crack opening displacement
Opening YPost-processedVertical crack opening displacement
Opening intensityPost-processedMagnitude of the crack opening vector
Openingx = 2 · u'        Openingy = 2 · v'
Intensity = Openingx2 + Openingy2

where u' and v' are the jump parameters from the H-DIC optimization. The factor 2 accounts for the Heaviside function ranging from −1 to +1.

Sign convention: Opening X and Opening Y are expressed in the global image coordinate system, not in the crack's local frame. Their sign depends on the relative motion of the two crack faces as defined by the Heaviside convention: a negative value means that the face on the +1 side of the Heaviside moves in the negative direction relative to the other face. The Opening intensity (norm of the vector) is always positive. To determine the actual opening direction regardless of sign, use the β angle.

12.2 Geometry

These fields describe the crack orientation and position within each correlation window:

FieldSourceDescription
Crack angle αPost-processedAngle of the crack line with respect to the horizontal axis, in degrees [0, 180).
Opening direction βPost-processedDirection of the opening vector, in degrees [−180, 180].

A fourth field, Crack position φ, is the signed distance from the crack front to the center of the correlation window, in pixels. It is computed and saved with the others but is not offered for display: on the crack line it is zero by construction, since it is what places the line there.

α = (θ + π/2) mod π   [converted to degrees]
β = atan2(Openingy, Openingx)   [converted to degrees]

where θ is the raw crack orientation angle from the H-DIC optimization (normal to the crack front).

12.3 Crack Line Controls

ControlEffect
Min jumpSmallest displacement jump that counts as a crack, in pixels. It changes no measured value, only which points are kept.
Line widthDrawing width of the line, in image pixels. Visual only.
Save allWrites the nine fields into the project's Fracture folder, one float TIFF per field.

Min jump is a jump magnitude, so it covers mode I opening and mode II sliding alike: a pure mode II crack has zero opening but a jump well above zero. Use about 0.1 px for initiation and 0.5 px for well developed cracks.

A segment below the threshold is kept when measured points above it lie on both sides along the line, within one correlation window. It is dropped when they lie on one side only. A gap inside a crack is therefore filled, while the line stops at the last measured point instead of being extended past it. Where the line ends is a measurement, not the crack tip: the tip lies beyond, at a distance that depends on the noise floor of the test.

The detection scale is chosen automatically from the data. There is nothing to set.

Line width applies to saved maps as well as to the screen. A line drawn 10 px wide is not a 10 px crack.

Save all uses the same file names as the maps written automatically after a computation, so it replaces them. Points away from the crack are written as NaN. Nothing is saved automatically, because the result depends on the Min jump setting.

12.4 Crystallographic Decomposition

This post-processing step decomposes the crack opening vector into components relative to the crack front orientation. This is useful for characterizing slip systems in crystalline materials:

FieldDescription
Longitudinal (screw)Component of the opening parallel to the crack front (screw-type displacement).
Transverse (edge)Component of the opening perpendicular to the crack front (edge-type displacement).
Relative angleAngle between the opening direction and the crack front normal, in degrees [−180, 180].
γ = (−β) − (α − 90°)   [normalized to −180°, 180°]
Longitudinal = Intensity × sin(γ)        Transverse = Intensity × cos(γ)

where γ is the relative angle between the opening direction (β) and the crack front normal (α − 90°). The sign change on β accounts for β being measured in image axes (y downwards) and α in mathematical axes (y upwards).