Skip to main content

pyALDVC banner

Full-field 3-D displacement and strain from volumetric images (micro-CT, confocal, MRI, OCT).

CI Python PySide6 CUDA License PyPI

Available in 7 languages
English Simplified Chinese Traditional Chinese Japanese German French Spanish


pyALDVC is the Python version of the MATLAB ALDVC code (Yang, Hazlett, Landauer, Franck, Exp. Mech. 2020) and the volumetric sibling of pyALDIC: a desktop application that turns a sequence of 3-D scans into displacement and strain fields.

pyALDVC workflow: load volumes, draw a region of interest, run, strain post-processing, 3-D view

Why pyALDVC

  • Accurate where subset DVC breaks down. Local subsets are coupled to a global smoothness step, so steep gradients, boundaries and noisy scans stay sub-voxel accurate.
  • Cracks and holes stay sharp. A subset that meets a boundary keeps only the material on its own side of it, and the smoothing never crosses it, so a displacement jump survives instead of being averaged away.
  • Fast. A 1024 x 1024 x 306 micro-CT scan with 79 200 nodes takes 23 s on an NVIDIA GPU, 3.6 min on a 24-core CPU.
  • Big scans fit. A masked 1024^3 run peaks at 14 GB of volume memory instead of 53, so it runs on a 32 GB workstation; drawing and browsing stay responsive because a local change no longer costs a pass over the whole volume.
  • Point and click. Load the scans, draw the region of interest on the slices, run, look, export. No code.
  • Knows your data. The texture analysis measures your scan and suggests the subset size and step.
  • See it in 3-D. Field slices, the deformed lattice, displacement arrows; animations recorded as GIF or MP4.
  • Strain included. Four gradient methods and four strain measures, computed after the run in their own window.
  • Every format. TIFF, MATLAB, NumPy, HDF5, NIfTI, NRRD, DICOM in; NumPy, MATLAB, CSV, ParaView and a PDF report out.

Accuracy and speed

Synthetic volumes with a known deformation (subset 16, step 8), displacement error at the interior nodes:

case error (voxel)
rigid translation 0.003 - 0.006
2 % strain 0.004
5 deg rotation with 12 voxel motion 0.001 - 0.006
2 % strain, noisy scan (SNR 6) 0.012

Micro-CT scan of the MATLAB example, 1024 x 1024 x 306 voxels, 79 200 nodes:

time agreement with the MATLAB code
NVIDIA RTX 5090 23 s median 0.005 / 0.006 / 0.020 voxel (u, v, w)
24-core CPU 3.6 min the same field

Compared with the MATLAB code

MATLAB ALDVC pyALDVC
Method augmented Lagrangian DVC the same, results within 0.01 voxel
Interface scripts desktop application, 7 languages, command line
GPU - NVIDIA CUDA, one install flag
Region of interest box masks drawn on the slices, auto-segmentation, per-frame masks
Subset size by hand texture analysis suggests it from the scan
Cracks and holes subsets and smoothing reach across them subsets and smoothing stop at the boundary
Strain in the run its own window, four methods, four measures, recomputed on demand
3-D view - slices, lattice, arrows, animations, GIF / MP4 recording
Formats MATLAB TIFF, MATLAB, NumPy, HDF5, NIfTI, NRRD, DICOM; ParaView export
Large scans whole volume in memory local steps over sub-boxes, streamed frames, gradients on the fly when they would not fit
Long sequences - checkpoints, resume, batch runs, sessions
Install MATLAB licence pip install al-dvc, or a portable Windows bundle

Texture analysis

A subset too small drifts, a subset too large blurs the field. pyALDVC measures the texture of your scan and tells you what to use. The same guide is built into the application, under Help.

1. Compare a box with a shifted copy of itself, and divide out the overlap. The shift at which the similarity has fallen to 1/e is the correlation length: the size of your features. Shifting makes the two overlap less, which would pull the curve down on its own, so every lag is divided by the number of voxel pairs that still contribute.

A box and its shifted copy; the overlap shrinks with the shift, and the raw curve falls below the corrected one

2. Grow the box until that length stops changing. Pick a centre, analyse concentric cubes around it, each on its own voxels alone. Below the representative volume element the measurement is noise; above it, every size agrees.

Concentric boxes of growing size about one centre; the correlation length settles once the box is large enough

3. The subset follows. Four correlation lengths per axis, stepped by half a subset: a recommended start, not a guarantee. One click writes it into the run.

From the 1/e correlation length to the subset size and the step

Case studies

Synthetic rotation

Synthetic rotation: frames animation with smooth deformation on the deformed lattice

Hydrogel indentation, micro-CT, 306 x 1024 x 1024 voxels

Hydrogel indentation: deformed lattice with displacement arrows, orbit

Hydrogel indentation: frames animation with smooth deformation

Slice sweep along x

Slice sweep along y

Slice sweep along z

Install

pip install al-dvc            # add "[gpu]" for the NVIDIA backend
al-dvc-gui

No Python? Every release ships a portable Windows bundle: unzip, double-click pyALDVC.exe.

Read the user guide to get started.

Citation

J. Yang, L. Hazlett, A. K. Landauer, C. Franck. Augmented Lagrangian Digital Volume Correlation (ALDVC). Experimental Mechanics 60, 1205-1223 (2020). https://doi.org/10.1007/s11340-020-00607-3

License

BSD 3-Clause. Developed in Dr. Jin Yang's group at The University of Texas at Austin.

Release files for al-dvc 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for al-dvc 0.8.0
File Size Uploaded
al_dvc-0.8.0.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for al-dvc 0.8.0
File Interpreter ABI Platform
al_dvc-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / al_dvc-0.8.0.tar.gz

Download URL al_dvc-0.8.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
2fa41826dd23b8acab9647c2549c146175f411028ef8fbb8f3b8b777fc2ea654
BLAKE2b-256 checksum
How to use checksums
8fcb568ea08599a0f776dba95ae9869e2b8435802a34bc6a8c97f32e997320b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / al_dvc-0.8.0-py3-none-any.whl

Download URL al_dvc-0.8.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a0e901a0b14a0e9e0a0c246191e9cca850762c58bffd08ad02a58a80aba27d54
BLAKE2b-256 checksum
How to use checksums
83be564321a311c8b4e6ef7952b436211f583e1c818b52bcfb804a17d0fd74b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page