1 Introduction

The proliferation of high-speed cameras and increases in computational power have improved how data are collected and analyzed from explosive testing. Traditionally, explosive performance data were collected as one-dimensional functions of radius and the blast effects were assumed to be symmetric. This assumption holds in simple cases but is not valid for many complex modern systems. The recent development of large-scale, high-speed refractive imaging allows for full field imaging of explosive events. An automated methodology for extracting three-dimensional shock wave propagation information from multiple high-speed cameras is developed here.

1.1 Background-oriented Schlieren

Background-oriented schlieren (BOS) is a modern refractive imaging technique that visualizes refractive objects via their distortion of a distant background (Raffel 2015). An advantage of BOS systems are their simplicity in setup compared to other refractive imaging techniques such as schlieren and shadowgraph (Settles 2001; Settles and Hargather 2017). The two requirements for a BOS system are a camera at a fixed location and a background opposite the camera. The background must contain high contrast and spatial frequency variations, for which natural backgrounds can be used with great success, as demonstrated previously by several researchers (Hargather and Settles 2010; Sommersel et al. 2008; Hargather et al. 2008). Two images are then recorded with the camera: a reference image and an image with a refractive object in the field of view. Post-processing, such as image subtraction or image correlation, is then used to compare the two images generating the BOS visualization. Image subtraction compares the pixel intensities between the two images to detect refractive disturbances whereas cross correlation yields a traditional BOS image which is optically equivalent to a schlieren image (Settles and Hargather 2017; Hargather and Settles 2010). BOS image subtraction, which is less computationally expensive than cross correlation, was first used to study explosive shock waves by Sommersel et al. (2008), Hargather and Settles (2010) and Hargather et al. (2008). The BOS image subtraction process was then improved for shock wave detection by Mizukaki et al. (2011) and Hargather and Settles (2010). This technique has been used to study explosive shock waves from charges ranging from \(10^{-3}\, \mathrm{kg}\) to \(10^3\, \mathrm{kg}\) (Hargather and Settles 2010).

1.2 Three-dimensional feature reconstruction

Three-dimensional feature reconstruction is a common goal for many modern imaging systems. Volumetric pair-wise feature matching, developed by Marr and Poggio (1976), uses matched features within stereograms to determine the features location in three-dimensional space (Slabaugh et al. 2001). A modern iteration of the method begins with a geometric camera calibration which uses matched images of a calibration target with known dimensions (e.g. checkerboard pattern) to determine the internal optical characteristics of each camera as well as the three-dimensional position and rotation of the cameras relative to each other (Heikkila and Silven 1997). A feature matching algorithm then finds matched points between the stereograms and determines each point’s location in three-dimensional space using the camera parameters (Brown and Lowe 2005; The Mathworks 2015). This method works well for finding and tracking unique objects in the cameras’ shared field of view. This technique has been used to track ballistic objects and explosive fragments. When used with refractive imaging, this technique can track the location of individual refractive objects but cannot define the objects three-dimensional shape (Klinge et al. 2003).

Tomographic BOS was first proposed in 2000 by Raffel et al. (2000) and then demonstrated 3 years later by Klinge et al. (2003). The technique used a stereographic BOS system to detect vortices and then used volumetric feature matching to determine their three-dimensional location. This idea was expanded on by Atcheson et al. to use the visual hull method to reconstruct entire flow fields (Atcheson et al. 2008). Visual hull reconstruction, first described by Martin et al., breaks each camera view into two regions, one containing the object and the other the background (Martin and Aggarwal 1983). The areas describing the object in each camera view are then projected into three-dimensional space so that their intersections form a hull (Slabaugh et al. 2001). The resulting inferred visual hull is an approximation that contains the original object. The greater the number of views used to generate the hull, the better it approximates the original object. It was later shown that the visual hull method could be used to reconstruct the flow field of gas jets (Atcheson et al. 2008; Sant et al. 2014; Nicolas et al. 2016). To date, visual hull method has not been applied to reconstruction of explosive shock waves.

1.3 Shock wave propagation in air

Shock wave propagation from explosions has been studied extensively and the Sachs’ scaling relationships relate shock wave radius and time between charges of differing masses (Sachs 1944). The Sach’s scaling equations are defined as,

$$\begin{aligned} R_s= \,& {} \frac{R}{S}, \end{aligned}$$
(1)
$$\begin{aligned} t_s=\, & {} \frac{c t}{S}, \end{aligned}$$
(2)
$$\begin{aligned} S= & {} \left( \frac{W_0}{W} \right) ^{\frac{1}{3}} \left( \frac{101.325}{P_\mathrm{atm}} \right) ^{\frac{1}{3}}, \end{aligned}$$
(3)
$$\begin{aligned} c=\, & {} \left( \frac{T}{288.16} \right) ^{\frac{1}{2}}, \end{aligned}$$
(4)

where T is the atmospheric temperature in Kelvin, \(P_\mathrm{atm}\) is atmospheric pressure in kPa, W is the mass of an explosive article and \(W_0\) is the reference mass. These are used to determine the scaling factors S and c (Kleine et al. 2003). These scaling factors can be used to estimate explosive effects, such as the shock radius \(R_s\) and time \(t_s\), from a single reference test with a measured shock radius R at time t. Sachs scaling has been shown to hold over a wide range of explosive masses ranging from \(10^{-6}\, \mathrm{kg}\) to \(10^{6}\, \mathrm{kg}\) (Kleine et al. 2003). This scaling also allows the influence of atmospheric conditions to be removed so tests can be reported at standard temperature and pressure (STP, \(P_\mathrm{atm}= 1 atm, \textit{T} = 288.16\, \mathrm{K}\)).

An important characteristic of an explosive is the time radius curve of the shock wave. In 1971, Dewey proposed using the least squares method to fit the radius of a shock wave to a parametric equation (Dewey 1971). This empirically derived equation was written so that the shock wave would have a defined initial radius A and its velocity would decay to a defined velocity B at infinite time:

$$\begin{aligned} R_s = A + B a_0 t_s + C \mathrm{ln} (1 + a_0 t_s) + D \sqrt{\mathrm{ln}(1 + a_0 t_s)}. \end{aligned}$$
(5)

The parameters A, B, C, and D are determined by fitting the shock radius time data to the equation using a non-linear regression, with \(a_0\) being the speed of sound in the atmosphere (Kleine et al. 2003; Dewey 2001). An advantage of this method is that the Dewey equation can be differentiated, with respect to time give to shock wave velocity, or Mach number, as a function of time. Using two-dimensional gas dynamic relationships, the Mach number can be used to determine shock wave pressure (Kleine et al. 2003). It has been previously shown that the Dewey equation can be used to predict shock wave over-pressure (Hargather 2013).

2 Experimental methods

A test series was conducted at the Energetic Materials Research and Testing Center (EMRTC) at the New Mexico Institute of Mining and Technology (New Mexico Tech) to investigate shock propagation from explosions. Four individual field experiments were performed, each imaged with a multiple camera BOS system to allow reconstruction of shock wave propagation in three dimensions.

2.1 Experimental setup

The explosive charges used to generate the shock waves were 113 g (0.25 lb) C4 initiated with an RP-83 detonator. The test series consisted of four tests with different fragmentation of the charges: test 1 was a bare charge, tests 2 and 3 used identical steel fragment disks, and test 4 used an acrylic fragment sheet. The explosives were hand packed into cardboard cylinders, with L/D  1, and they were initiated from one end with the detonator. To delay ground shock reflections, the assembled components of each charge were affixed to a 0.9-m (3 feet)-tall wooden table, which is shown in Fig. 1b. The table was located in the middle of the open test pad.

Four high-speed cameras were used in the test series in two slightly different camera configurations, which are listed in Tables 1 and 2 and configuration B is shown in Fig. 1a. The cameras were in configuration A for Test 1 and in configuration B for Tests 2–4. Two Phantom V711 high-speed cameras were placed at a similar elevation to the explosive charge and were labeled as “master” and “camera 2”. These cameras recorded images with a resolution of \(912 \times 704\) pixels and used Sigma 28–70 mm lenses. Two Photron SA-X2 high-speed cameras were placed at elevated positions and were labeled cameras 3 and 4, respectively. The SA-X2s recorded images at \(1024\, \times \, 1024\) pixels and used Nikon 80–200 mm lenses. All cameras recorded at 10,000 frames per second (fps). The aperture and exposure of each camera were set to provide well-balanced images. The aperture of each lens was set between f/4 and f/8 and the exposure ranged from \(3\, \upmu \mathrm{s}\) to \(6.3\,\upmu \mathrm{s}\) as lighting conditions changed during the test series. Each camera was supplied with an IRIG timing signal for time stamp and synchronization.

Fig. 1
figure 1

a Diagram of test setup and camera configuration B. Shown are the high-speed cameras and the charge table with the reflection wall behind it. The cameras, explosive charge and reflecting wall are at scale but the distances between items is shown at quarter scale. b The explosive configuration used in tests 2 and 3. The steel fragmentation disk is opposite the detonator. The article is held in a foam stand and the entire assembly is secured to the table with tape. Tests 1 and 4 had the same arrangement of the explosive, detonator, and foam mounting. c Diagram of the coordinate system used to define the location and rotation of the cameras

Table 1 Summary of camera relative position for camera setup A and the camera calibration values for each camera
Table 2 Summary of camera relative position for camera setup B and the camera calibration values for each camera

A plywood wall was constructed to allow visualization of shock wave reflections from a rigid surface in the field of view. The plywood reflecting wall was 1.2 m wide by 2.4 m tall (4 feet by 8 feet) and was placed between 1.37 m (54 in.) and 4.5 m (15 feet) from the charge. The charge was placed between 11 and 12 m (35 and 40 feet) from the Master camera along the Z axis. A hillside at the edge of the test pad was used as the background for the BOS images and was approximately 35 m (115 feet) behind the explosive charge.

2.2 Camera calibration techniques

Camera calibration is used to relate the images taken with a digital camera to the physical objects recorded. There are two types of camera calibration used in this work: single-camera calibration and stereo camera calibration. Single-camera calibration techniques are used to determine the size of refractive objects in BOS images. Stereo camera calibration techniques are used to determine the position and orientation of cameras relative to each other, and the three-dimensional reconstruction of the shock propagation. Both single and stereo camera calibration can be calculated by analyzing images of a checkerboard pattern.

Single-camera calibration techniques allow for measurements to be made in a single plane. A MATLAB script was written to perform these calibrations by automatically detecting the pixel locations of the corners of a checkerboard pattern of known size. This was used to generate a series of pixel per unit length calibrations for each square in the checkerboard pattern. The mean calibration value is used to make measurements within the plane the calibration was taken, two standard deviations from the mean was used as the uncertainty in each calibration value. The calibration values and uncertainty for each camera are listed in Tables 1 and 2.

It is assumed that the images produced by the BOS system approximate a single fixed plane of the shock wave. Since the background is sufficiently far behind the object, the diffuse light coming from the background was assumed to be effectively parallel. For an expanding spherical shock wave, the direction of the light refraction will always be toward the center of the wave, so the outer edge of the expanding shock wave can always be directly identified as the outermost distorted pixel location in a BOS image. Thus, in the case of an expanding spherical shock wave where the concerned is with the position of the shock front and not full tomographic reconstruction, the shock wave was assumed to be visualized in a single plane that is perpendicular to the camera that contains the shock source. For this reason, the system is calibrated in the plane that contains the shock source.

Stereo camera calibration techniques are used to determine the internal and external parameters of two cameras in an imaging system. In this work, stereo camera calibrations were processed by MATLAB’s Stereo Camera Calibrator which uses a pinhole model which is covered in detail in Heikkila and Silven (1997), The Mathworks (2015) and Zhang (2000). The translation between cameras is given as a three-element matrix from camera 1 to camera 2 in the units used to define the checkerboard pattern. The rotation of camera 2 relative to camera 1 is given as the 3 by 3 rotation matrix, m. Figure 1c shows how the coordinate system used to describe the camera locations is defined relative to the master camera. The stereo calibration code also reported the uncertainty in each value, which was 1% or less. The primary matrix elements of interest are those that define the Euler angles, \(\omega , \varphi\), and \(\kappa\) as shown in Fig. 1c, which represent the rotation about the X-, Y-, and Z-directions, respectively. These angles are defined within the full rotation matrix, m, by

$$\begin{aligned} {m_2}_1= & {} \cos {\varphi } \sin {\kappa }, \end{aligned}$$
(6)
$$\begin{aligned} {m_3}_1= & {} -\sin {\varphi }, \end{aligned}$$
(7)
$$\begin{aligned} {m_3}_2= & {} \sin {\omega } \cos {\varphi }. \end{aligned}$$
(8)

Additional details of the rotation matrix are available in Winter (2018).

The MATLAB Stereo Camera Calibrator is used here to calibrate a group of more than two cameras but not in a single operation. To calibrate a large group of cameras, the cameras must share a field of view. The camera with the most common view is selected as the master camera. A series of calibrations is then run between the master camera and the remaining cameras one at a time. This produces a series of parameters which describe the location and rotation of the cameras with respect to the master camera which is located at the origin of the coordinate system.

2.3 BOS image processing

The BOS processing technique of image subtraction is used to improve detection of refractive objects (Settles and Hargather 2017). In this work, the technique is used to compare two images from a static camera at different times. The two images selected will be a reference image, referred to as a cold image, and the image which is being analyzed, or hot image. In the image subtraction process used, the values of the pixels in the cold images are compared on a pixel-by-pixel basis with the pixel values in the hot images:

$$\begin{aligned} \mathrm{pic}(x,y)=\frac{[\mathrm{hot}(x,y)-\mathrm{cold}(x,y)]^2}{\frac{\mathrm{hot}(x,y)+\mathrm{cold}(x,y)}{2}+1}, \end{aligned}$$
(9)

where \(\mathrm{hot}(x,y)\) is the value of a pixel at location x, y in the analyzed image, \(\mathrm{cold}(x,y)\) is the value of a pixel at the same location in the reference image, and \(\mathrm{pic}(x,y)\) is the value recorded for that pixel location in the new image (Hargather 2013). The value of any pixel change determines the brightness of the pixel in the new image. When imaging refractive objects, the magnitude of change in pixel values tends to be small, so the resulting image is processed with a manual histogram stretch to make the shock wave more visible. The values used in each histogram stretch are manually determined to produce an image with a clearly visible shock wave with minimal background noise. Work is still ongoing to automate the histogram stretching process while producing BOS images with optimum contrast.

The image subtraction method can be optimized for shock wave tracking by careful selection of the reference image. In traditional BOS, the reference image is taken before the event, Fig. 2a. When subtracted from the test image, Fig. 2b, the resulting image, Fig. 2c, shows everything that has changed since detonation including the fireball, changes in lighting due to the fireball, lens glare, fragments, and the shock wave. In Fig. 2c, the shock wave is only partially visible and there is background noise created by the flare of the fireball. One method to reduce this noise is to use the previous image from the high-speed image sequence as the reference image, Fig. 2d. By subtracting the previous image from the test image, Fig. 2e, the resulting BOS image, Fig. 2f, shows only high-velocity features such as fragments and shock waves that have changed in the time between frames and does not show slower objects such as the fireball. This method, referred to as sequential image subtraction, also increases the apparent density with which the shock wave is visualized because artifacts from the shock position at both times appear in the image. This makes automated detection of the shock easier without changing the location of the shock front. The difference made by selection of a proper reference frame can be seen in the difference between Fig. 2c, f. These images have been processed using the same method except that Fig. 2f used sequential subtraction.

Fig. 2
figure 2

a Reference image before detonation. b Hot image 4 ms after detonation. c BOS image created by image subtracting (a, b). d Reference image recorded 1 frame before hot image. e Hot image, identical to b. f Sequential BOS image created by image subtracting (d, e)

2.4 Reconstruction

A three-dimensional reconstruction of a shock wave can be generated from multiple two-dimensional refractive images. The first step in generating this reconstruction is to record a shock wave in multiple BOS systems. Each BOS system is assumed to have recorded approximate a single plane of the shock wave. To record a sample set diverse enough to avoid bias, the cameras should be spread out over an arc, such as is shown in Fig. 3. Once the shock wave has been recorded and processed into BOS images the location of the shock wave in each image is first determined. The shock wave locations are then converted from pixel units to real units using the pixels per length calibration value found for that camera by the single-camera calibration. At this point, each camera has generated a single plane reconstruction of the shock wave. This plane is centered at the shock wave source and perpendicular to the camera. The angles between the planes visualized by each camera are equal to the angles between the cameras which are measured by the stereo camera calibration and reported as a rotation matrix. The single plane reconstruction is rotated about the shock wave source by multiplying the matrix of shock wave locations by the rotation matrix. This shifts each two-dimensional reconstruction into three dimensions. This is shown as a two-dimensional schematic in Fig. 3. The shock locations from each camera are then combined into a single three-dimensional reconstruction by overlaying the points from each reconstruction into a single point cloud. This process is then repeated for each frame recorded of the shock wave expansion, which is shown schematically in Fig. 3. For test 1, the charge geometry was symmetric, so a spherical surface was fit to the point cloud data using an open source script (Hunyadi 2010). Tests 2–4 are not fit with any surface as significant asymmetries in the shock surface were identified due to the changes in charge configurations.

Fig. 3
figure 3

Schematic of the angles at which the cameras view the shock wave and the planes in which the shock wave is visualized for camera orientation B

3 Automated shock detection

Once refractive images have been generated there are two methods to extract the location of the shock wave, manual and automated point detection. Manual point detection relies on a user to identify and select the location of a feature. This method can be quickly implemented but is impractical for large data sets. Automated point detection uses an understanding of the underlying physics to identify the location of the shock in each frame. Automated point detection is able to process large data sets efficiently and effectively, and a routine for automated detection was developed and implemented here.

The detection algorithm’s selection criteria was developed around three statements derived from compressible flow that are true for an explosively driven spherical shock wave propagation. The uniform pressure differential across a shock wave causes it to expand radially. The implication of this, which is the first criteria, is that an un-disturbed spherical shock is a simple curve that can be described in polar coordinates using only a radius. Because the shock wave separates two distinct flow regions, the line describing a shock wave must remain continuous. This gives the second criteria, that all sections of the leading shock wave must be connected. Since a shock wave is a discontinuity in density, entering undisturbed air, its leading edge will be a step function where light is bent inward toward the explosion center. The last criteria is that when imaged with a refractive imaging technique, such as BOS, the leading edge of the shock should be a crisp, well-defined arc at the outward-most distorted pixel location.

The automated detection algorithm started by limiting each image to a series of search boxes in which the shock wave was expected to be located. The length of each side of the square search box was initially set at approximately 10% of the shock wave radius. The size was then adjusted manually, if needed, based on the asymmetries in the shock wave, proximity to the fireball, and the level of background noise. As the shock wave expanded, the size of the search region was automatically adjusted to account for the changing shock radius. Using the pre-detonation explosive location as the origin, the radius of each pixel within the search window is calculated. The pixel values are summed for each integer radius value. These data are then plotted as a histogram with the binned value on the Y-axis and the radius on the X axis. The peak of this plot defined the radius with the highest brightness which often occurs at the center of the shock structure. Differentiating the binned data, with a numerical backwards difference method, shows the two peaks where there is a dramatic change in brightness. The large positive peak indicates the location of the trailing edge of the shock wave and the large negative peak indicates the location of the shock front, as shown in Fig. 4. Note that in Fig. 4a only five search boxes are shown for clarity, but when automated detection is used, typically more than 30 individual search boxes are created as evidenced by the number of red points in Fig. 4d.

Fig. 4
figure 4

a Features used in the automated detection algorithm. The green circle is located at the center of the shock wave. The yellow boxes are the search zones and the red dots are the shock location found in each search zone. b The histogram of intensities of the radius in the middle search box. The peak point is shown. c A graph of the derivative of intensity versus radius data. The lowest point is shown and taken as the location of the shock front. d The results of the automated detection algorithm

To determine the accuracy of the automated detection algorithm it was compared to manual detection and found to have similar accuracy. Manual detection was explored and found to have an uncertainty of \(\pm \,2\) pixels (Winter 2018). To determine the uncertainty in the automated routine, an extremely careful manual detection was performed to identify the “true” location of the shock wave, against which the automated results were compared. The extremely careful manual detection was conducted by enlarging the image and taking ample time to ensure the pixel at the shock front was selected. The time required to achieve this level of accuracy was impractical for analyzing multiple images, which is why it is specified from standard manual selection. A set of locations found using the careful manual detection and the automated shock detection are shown in Fig. 5. The uncertainty for automated detection was taken as the mean error between the careful manual locations and automatically detected locations plus one standard deviation. This gave an uncertainty for automated detection of 2.25 pixels which is comparable to the uncertainty found for standard manual detection.

Fig. 5
figure 5

An enlarged section of the shock wave in a BOS image showing the locations found using the careful manual detection and the automated detection

One variable in the BOS image processing is the selection of a reference image. To study the effect that the choice of reference image has on the accuracy of the automated shock detection routine, frame separations of \(n-2, n-3, n-4, n-5, n-10\), and a pre-test image were selected in addition to the initial sequential step of \(n-1\). The frame at \(t = 4.5\,\mathrm{ms}\) from the master camera on Test 1 was considered frame n and processed into a series of BOS images using a reference image determined by the seven frame separations, which is presented in Fig. 6. No other parameters, other than the values used in the histogram stretch, were changed between images. The separation used to generate each image is listed at the top of Fig. 6. The left most image shown in Fig. 6 was generated using the sequential processing which was used on the other BOS images within this work. The right most image of Fig. 6 shows the results from using a pre-test reference image which produces a traditional BOS image. In the \(n-10\) image from Fig. 6 the shock is clearly visualized at two discrete locations. Comparing the furthest right and left images of Fig. 6, the effects of sequential imaging can be seen. In the sequential BOS image, only a narrow but dense band is visualized from each image resulting in a uniformly dense band visualized behind the shock.

The BOS images used to create Fig. 6 were processed using the automated detection algorithm and the total uncertainty for that combination determined. The identified shock locations and total uncertainty for each time separation are listed in Fig. 6. As the shock visualized from reference image moves away from the true shock front location the total uncertainty, or the mean error plus one standard deviation, increases. This can be seen in the \(n-2\) through \(n-5\) images from Fig. 6. In the \(n-10\) image from Fig. 6 the shock wave visualized from the reference image is outside of the automated detection algorithm’s search area and as a result is not detected. The resulting total uncertainty is similar to that of the n-1 image or sequential subtraction. In the pre-test image, the background noise was great enough that the background was erroneously detected at two points resulting in higher uncertainty. Figure 6 shows that of the approaches studied, sequential subtraction is the optimum BOS process to use with the automated detection algorithm developed here, by having a high accuracy while limiting background noise.

Fig. 6
figure 6

BOS images of \(t = 4.5\,\mathrm{ms}\) from the master camera generated using the reference images noted at the top of each image. The automatically identified shock wave locations are shown in red and the total uncertainty determined for each method is listed

4 Experimental results and discussion

4.1 Symmetric explosive test

Test 1 was a spherically symmetric test that was performed to document the ability of the four cameras to accurately measure the same shock propagation. The shock wave produced by an ideal bare charge will be spherical having a single radius when viewed from any angle. To verify the accuracy of the detection and scaling method, the radius of the shock wave from Test 1 was measured as a function of angle in multiple camera views. If the detection and scaling method is properly calibrated then the radii of the shock wave at each time step will be equivalent at all angles in all cameras. The first step to verify this was to compare the radii of the shock wave in a single frame from a single-camera view. Then the radii from a single frame in all four camera views was compared. Then the radii from all cameras were tracked as a function of time.

The image from the master camera at time \(t = 3.2\,\mathrm{ms}\), where \(t = 0\) is the initiation of the detonator, was processed using the automated shock detection algorithm, which is shown in Fig. 7a. The radius of these points was determined and scaled using the single-camera calibration parameter. The radius and angle were defined using the coordinate system shown in Fig. 7a. These scaled radii are plotted as a function of angle along with a 3% error bar in the Fig. 7 graph. This total uncertainty was determined using the root-sum-square method to propagate the uncertainties calculated for the single and stereo camera calibrations and are approximately 2% and 1%, respectively, and the uncertainty in the automated detection algorithm which is between 1 and 2% over the range of radii examined. Figure 7b shows that the radius of the shock wave was equivalent over the range of angles measured. This is expected for a circular shock wave.

Fig. 7
figure 7

a BOS image taken with master camera of Test 1. The identified locations of the shock wave are shown as red dots. Each location is defined by the radius r and the angle \(\theta\). b The radius of each of the identified locations plotted as a function of angle. A error bar of 3% has been shown over each data point. Note that the angle is defined from the horizontal blue line. As a result points are defined from left to right

The radius-angle graph in Fig. 7 was expanded by including the scaled radii from the other three cameras and is shown in Fig. 8a. This figure shows that all of the identified points have similar radii within error. This supports the argument that the shock wave is spherical over the measured area, because each of the rotated cross sections is circular and equivalent.

Fig. 8
figure 8

a Plot of the radius of each identified point as a function of angle aggregated from all cameras for test 1 at \(t = 3.2\,\mathrm{ms}\). b Shock wave radius as a function of time data from Test 1 showing all data points from all cameras

Figure 8b shows all of the shock wave locations, recorded at each angle from all cameras, plotted at the time they were measured for the duration of the test. At each time step, all measured radii are equivalent, within error. This matches the expected behavior of a spherical shock wave. Past \({t}=4\,\mathrm{ms}\) the shock wave has expanded to the point that it begins to exit the field of view of the cameras. As sections of the shock leave the field of view of a camera, the points representing those angle ranges are no longer plotted. As a result, the number of individual points recorded at each time step decreases until the shock is no longer recorded by any camera.

Since the shock wave has been shown to be spherical it can be reasonably described as a one-dimensional function of time and radius. To that end, the cumulative radius time measurements were fit to Eq. 5. The resulting fit and fitting parameters are shown in Fig. 9. These parameters can be used to describe the shock wave’s position and velocity within the area measured. Because the Dewey fit has taken over so many points, the uncertainty stemming from the automated point detection algorithm is effectively reduced but the error originating in the single-camera calibration is unaffected. The uncertainty in these values is thus taken as equivalent to the uncertainty in the single-camera calibration, which is approximately 2%. As the shock wave expands, the number of shock locations recorded at each time decreases. The fit is conducted from when the shock wave is first visible to when less than 50% of the shock arc length is no longer in the field of view. The final time used in the curve fit is denoted in Fig. 9 as the vertical black line.

Fig. 9
figure 9

The Dewey curve fit is shown over a plot of the radius of each identified point as a function of time from each camera for Test 1. The black vertical line indicates the time below which was fit to the Dewey equation. The resulting Dewey curve fitting parameters are also shown

Figure 10a–d shows the identified locations in each camera view at time \(t = 5\,\mathrm{ms}\). These two-dimensional locations were then rotated with the rotation matrix to match the camera rotation found using the stereo camera calibration. The shock wave locations from each rotated camera view were then merged into a single point cloud for each time. Figure 10e shows a point cloud at \(t = 5\,\mathrm{ms}\) with the points from each camera labeled. The figure shows how each camera defines a single plane of the shock wave. The entire point cloud was then processed using a sphere fitting algorithm (Hunyadi 2010) to obtain a least-squares best fit spherical surface, which is shown in Fig. 10f. This geodesic sphere is centered at the origin, which is the pre-test location of the explosive, and generated from the radius found using the sphere fitting algorithm.

The radii determined by the sphere fitting algorithm were compared to the radii of the found points with a mean difference of 6% with a standard deviation of 0.03 m. When the radii determined by the sphere fitting algorithm are compared to the radii determined by the Dewey curve fit, there was found to be a difference ranging from 0.7 to 3.4%, with the a mean difference of 1.0%. The discrepancy between the two methods is attributed to the different data sets they are fitting. The sphere fitting algorithm determined the best radius for each time whereas the Dewey curve fit is fitting a single continuous curve to the radius across all times. Since the Dewey method is fitting across a wider range, it minimizes the effect of individual measurements producing a more consistent radius. In this limited case, of a spherical shock wave, the Dewey curve fit is the better method to determine the radius but is not a valid method for reproducing elliptical or asymmetric shock waves. In these cases, the points from an individual frame would need to be fit to a surface of a given shape.

Fig. 10
figure 10

ad BOS images of Test 1 at \(t =5\,\mathrm{ms}\) taken from cameras Master, 2, 3 and 4, respectively. The identified points are shown on each BOS image. e The point cloud generated by rotating each of the above found points with the rotation matrix determined with the stereo camera calibration. f The surface found by applying the sphere fitting algorithm to the point cloud

4.2 Explosive tests with fragments

The image processing algorithms used to detect and scale the shock wave locations in test 1 were used to analyze the remaining tests. Figure 11a–d shows the BOS image from the master camera 3.2 ms after detonation for each test. The identified shock locations from each image are plotted as a function of angle in Fig. 11e–h.

Test 2 contained steel fragments, more details on the fragmentation devices can be found in Winter (2018), Wilson et al. (2012), and the bow shock from these fragments distorted the primary shock from the explosive, causing it to elongate. This effect can be seen in Fig. 11b as the shock wave stretching to the left. This distortion can be seen in Fig. 11f as the upwards trend in radius as the angle increases past \(100^{\circ }\).

Test 3 used the same type of steel fragments as Test 2 but did not experience the same level of shock wave distortion. Figure 11c shows the shock is slightly distorted on its left side. This distortion made it difficult to visualize the shock wave and to measure the shock location. As such it appears that the shock wave is not distorted much. Figure 11g shows that the area of the shock that was well visualized was radially symmetric, but note that the measurements are over a more limited region than Test 1 and it is not expected that the entire shock is symmetric.

Test 4 contained acrylic fragments which caused very large distortions in the visible shock wave. Figure 11d shows how the shock formed a large ellipse which results in the upward-facing curve of the radius angle data in Fig. 11h.

Despite the fact that each of these test used the same type and amount of explosive, each test produced different shock waves as a result of including the fragmentation devices, variation in hand packing of explosive and other small variations in charge configuration. Significant variation was even observed in the two tests (2 and 3) that used the same fragmentation device. Figure 11 shows the ability of the presently developed reconstruction techniques to detect and measure asymmetries in shock waves. It also demonstrates why the assumption of a symmetric shock wave is not valid in many explosive tests.

Fig. 11
figure 11

Comparison of all tests at \(t = 3.2\,\mathrm{ms}\). ad BOS images taken by the master camera for tests 1–4, respectively. The identified points are shown on each shock wave as red dots. eh Plots of the radius of each point as a function of the point’s angle for each respective test

5 Conclusions

Spherical and asymmetric explosively driven shock waves were three-dimensionally reconstructed using refractive imaging, automated point detection, and camera calibration techniques. The image processing technique of sequential image subtraction to generate BOS images was shown to be an effective method to visualize explosively driven shock waves. An automated point detection algorithm was developed to efficiently determine the location of shock waves in BOS images and was found to be as accurate as manual point detection. The shock wave location from multiple BOS camera views was combined with camera calibration techniques to define the shock wave’s three-dimensional position as a point cloud. The point cloud defining the shock waves position can be fit to a surface and the Mach number of the surface calculated. In total, the combination of high-speed cameras, image processing techniques, and camera calibration can be used to define the three-dimensional shape and propagation of explosively driven shock waves.