Knowledgebase: Application Notes
Subset, Step Size and Strain Filter Selection
Posted by Elisha Byrne, Last modified by Micah Simonsen on 13 October 2016 01:04 PM

Summary and Overview
Here we will discuss subset size, step size and strain filter selection.  In short, you want your subset to be larger than your speckle sizes and for most applications your step size to be roughly 1/4 of the subset size.  As a rule of thumb, if you use a small step size then you'll want to use a larger strain filter and if you use a large step size then you'll want to use a smaller strain filter. 

This article will detail the search/tracking function and why the subsets are speckle size/quality dependent, and will also discuss the subset size effect on holes within a plot, noise and edge data.  This article will also discuss the implications of a high subset suggestion, and will then address how the step size and filter size affect strain calculations and virtual strain gauge sizes.  Finally, we will discuss how subset size, step size and filter size affect the actual run time of the software.

Tracking Function
These subsets allow us to track points on the speckle pattern. Digital image correlation requires that the specimen is properly and densely speckled. This provides us markers/fingerprints to search for and track. We need speckles that are at least 5 pixels in size with at least a 5 pixel spacing in order to resolve the speckles in the images. It's also important that these speckles are consistent in size and spacing.  However, we don't track the actual speckles; the way our software works is that we assign a mesh of "subsets" or windows across the image. We need to have a unique speckle pattern within each subset in order to find a unique point to track for each subset. So the subset size is user-defined and depends on the speckle size. For example, if you have small, dense pattern of 5 pixel speckles, you can use a small subset (the smallest our software can track is 9x9 pixels). However, it's hard to get a pattern small enough and dense enough for a subset of 9, so we allow the user to look at the pattern and adjust the subset size accordingly.  For current software versions, the default subset size is 29 and default step size is 7 (in previous versions the default subset size ranges from 21-29). So this means that we are tracking a 29x29 pixel area for every 7 pixels. The visual grid that is displayed in Vic-3D is a nice display of what the selected subset size looks like and you can use that visual tool to compare to your speckle sizes.  However, that tool can be misleading because the mesh of data is actually much denser than the grid you see.  We overlap the subsets and track for every step size. In the default case, we are obtaining data points for every 7 pixels.  The overlapping subsets won't be independent of each other, so that's why we don't default to a step size of 1 (which would significantly increase processing time while typically providing little to no gain). To get independent and non-repetitive data, we typically choose a step size about 1/4 of the size of the subset.

Why Does My Contour Plot Contain Holes?

Holes in your data can be attributed to several things.  If your reference image has a lot of holes throughout the contour plot, it's likely that you need to have a bigger subset size.  Data will be dropped if there is no speckle information within the subset.  You need black AND white information within each subset.  So if you have a subset size of 29 and if you have some speckles that are larger than 29 pixels, each 29x29 pixel area that is all black will be dropped out of the data and you'll get a hole there in your contour plot.  Similarly, if your pattern isn't dense enough then those areas of white (or the areas in between the speckles) that are larger than 29 pixels will be dropped as well.  As a side note, this description assumes a black-on-white speckle pattern, but you may have a white-on-black speckle pattern too.  Other reasons for holes can be areas of glare/reflection (if there's glare, then each camera will see the light reflected off that point differently and won't be able to make the match or if it does match then you will see a spike in the data), blur, poor contrast, poor speckle pattern (too sparse or inconsistent speckle size), or de-focus.  If you see a hole start to occur in the deformed images, then it's likely a crack (either of the pattern or the sample itself), but can also be de-focus (often due to moving out of the depth-of-field), glare, or shrapnel.  Adjusting your thresholds the Run menu can help you bring data back in.  However, remember that if data is dropped, then it is most likely for a reason.  If the data is dropped due to issues such as cracks, glare or shrapnel, it's best to leave that data out of the analysis.  It is always better to have an absence of data, than to include erroneous data points that can contribute to artificial displacements/strains.

Subset size and sigma
The larger a subset is, the more information it'll contain.  Therefore, the larger the subset, the more unique each subset is.  The more unique the subsets are from subset to subset, the better our confidence will be. 

How Speckle Pattern Quality Affects Tracking Function
We want each subset throughout the speckle pattern to have nice, unique information within it.  For this reason a pattern with uniformly sized subsets, 50% coverage, and high contrast will result in the most traceable features and the lowest noise levels in our data.  We want bright whites and dark blacks. Grey areas are hard to track.  Areas with big "blobs" and then grey mists of small speckles are particularly hard to track.  For more information on speckle pattern quality and how it affects noise, please refer to our Minimizing Bias and Noise Presentation in the Downloads section of our Support site (

Why Don't I See Edge Data?
We have one data point for every subset.  We report the data in the center of the subset.  For this reason, the closest we can report data to the edge is one half of the subset size.  If you draw the area of interest right up to the edge, then the software is tracking all of that data in the drawn area of interest, but the edge data will be reported in the center of the edge subset.  To get the contour plot closer to the edge you can use a smaller subset, which means you'll need a small speckle pattern.  With an ideal speckle pattern of 5 pixel speckles that are densely speckled 5 pixels apart, you can likely use a subset size of 9 pixels.  This means that in the ideal case, you can get your contour plot within 4-5 pixels of the edge.  Also, physically zooming in on the edge will enable you to use a smaller speckle pattern and that 9x9 subset will also be physically smaller, so the center of that subset will be physically closer to the edge.  Again, if you zoom in on the sample, you’ll need to adjust your speckle size so that you’ll be able to track a small 9x9 subset.  One a side note, since subsets and filters report data in the center of the subset/filter, we need that center point.  This is the reason that we must always use odd numbers for subsets sizes and filters.  Even numbers do not provide the center point that we need in order to report the values.

Why is My Suggested Subset So High?
In the Vic-3D AOI (Area of interest) tools, you may click the ? for a suggested subset size.  If your suggested subset is much larger than what it looks like your pattern should dictate, then that might be an indication that there are some other aspects of the image and/or experimental setup that could likely be improved.  The suggested subset function is based off of an estimated sigma (one standard deviation confidence interval) for the subset tracking function.  If the subsets are hard to track, this drives up the sigma and thus the suggested subset size.  In this case, it's likely an issue of poor contrast, defocus, diffraction limit (aperture is too far closed; hard to avoid in high magnification situations), or poor speckle pattern quality (meaning the speckles are not a consistent size or the speckles are not dense enough).

Step Size and Strain Calculations
When selecting the filter size for strain, keep in mind that this is in terms of data points, which are separated by the step size. So if your filter size is 15, and your step is 5, the total smoothing area is 15*5 = 75 pixels. This is your virtual strain gauge size.  If you reduce the step to 1, and use a 15 filter size, you will only be smoothing by 15*1 = 15 pixels, so the strain will be noisier.  So as a rule of thumb, if you use a small step size then you'll want to use a larger strain filter and if you use a large step size then you'll want to use a smaller strain filter.  Also note that this strain filter is also center weighted, so the edge values will be worth 10% of the center values.

One more thing to consider when selecting your step size is your specimen geometry.  For most applications, geometries are flat enough that you do not need to consider this, but for the instances of complicated geometries, we need to consider how many points we sample along a curved surface.  For each data point, the strain is calculated using 3 neighboring data points (similar to FEA models).  The spacing of the 3 data points are determined by the step size.  So the step size must always be tangent along the curved surface in order to ensure that we are calculating the surface strain along the surface and not cutting through the surface, which would produce erroneous strains.  For geometries with sharp radii, we’ll need to use a small step size.  For more on the strain calculation, please refer to Strain Calculations in Vic-3D in our Downloads section of the Support site (

How Subset Size, Step Size and Strain Filter Size Affect Run Time?
The subset size determines how large each data point is that you are tracking.  A larger subset will take longer to track than a smaller subset.  The step size determines how many data points you are tracking.  A smaller step size (which means more data points) will take longer to track than a larger step size.  It will also take longer to filter over more data points.  So a larger strain filter will take longer to process than a smaller strain filter.

(29 vote(s))
Not helpful

Comments (0)
Post a new comment
Full Name: