Introduction

Additive manufacturing (AM) of metallic components is a subject of considerable current interest due to the potential for this technology to positively impact many aspects of the supply chain for high-performance aerospace components.1 Due to the complexity of metal AM processing and the rapidly evolving state of this technology, there exists a need for methods to quantify material inhomogeneities, discontinuities, porosity, and other defects that are present in metal AM parts.

Nondestructive evaluation (NDE) methods employed within the metal AM community have experienced varying degrees of success. X-ray computed tomography (XCT) is the most widely incorporated NDE method for metal AM, because the method is capable of resolving volumetric defects within components that have complex internal structures. However, XCT has limitations, and it is anticipated that it will inaccurately characterize some defects. Some likely reasons for potential inaccuracies for XCT include limits on spatial resolution and the influence of a part’s geometric complexity on the tomographic reconstruction. An accepted sensitivity practice for the detection of porosity in metal components via radiography is that a “minimum of 3 effective pixels cover the longest dimension of a defect.”2 In the context of characterization of mesoscale defects in AM metals, due to the higher resolution capabilities of optical microscopy, Romano et al. stated that “characterizing the critical pores/defects by means of analyzing polished sections and fractography was found to be more efficient than by state-of-the-art (SOTA) x-ray micro-CT.”3 However, conventional optical microscopes are limited to 2D or surface observations in opaque materials, and thus the true size distribution of internal porosity or defects cannot be ascertained without additional effort.

One method to provide quantitative 3D information on mesoscale microstructural features is by serial sectioning (SS). This is a destructive characterization process that removes a small amount of material per section via a variety of preparation methods, such as ion beam milling, laser ablation, microtome milling, machining, or mechanical polishing. After each section, microscopy is performed on the as-prepared surface to collect data on the microstructural features of interest. The advantage of SS is that many different microscopy methods are optimized for 2D analysis, including automated montage data collection, and these methods typically provide enhanced spatial resolution and/or improved signal-to-noise ratios for selected feature identification and segmentation compared to nondestructive volumetric imaging methods. In this way, feature characterization and identification are completed on each individual cross-section, and the collective stack of data can then be reconstructed using computational methods to quantitatively characterize microstructural features and ensembles in 3D.4 SS has been previously used within the aerospace industry to characterize a range of internal microstructural features to include both grain microstructures and defects.5,6,7,8,9,10

The objective of this study is to explore both the experimental and post-processing workflows to enable a quantitative comparison of the size distribution of internal porosity in metal AM samples from both XCT and SS systems. As will be shown, such experiments can be performed on cm-scale samples to assess the accuracy of XCT imaging for micron-scale porosity in this application. Additionally, a desired outcome from this study is to highlight both the SOTA and potential improvements to the method for the evaluation of porosity and defects in metallic AM parts.

Experimental Procedure

The following section will detail the methods used for the correlative study of XCT and SS in the context of porosity in AM metal parts.

Sample Fabrication

The sample used in this study was a cylinder manufactured by laser powder bed fusion (LPBF) AM.11,12,13 Some advantages of this type of system include its ability to produce high-resolution features and internal passages, and to maintain dimensional control.14 The cylindrical sample used for this study was fabricated with AP&C virgin Ti-6Al-4V (Ti64) powder using an EOS M280 3D printer. Fabrication was carried out under argon (Ar) shielding gas with a laser power of 290 W and a raster speed of 1300 mm/s. The build plate temperature was set at 80°C with a layer thickness of 30 μm and the distance between hatches set at 140 μm. The scan path for this sample was generated by first decomposing the part cross-sections into a series of regions termed “stripes.” The interfaces between neighboring stripes on a build surface are called “stripe boundaries.” The stripe width was set at 7 mm and each stripe is filled with individual scan vectors which are perpendicular to the stripe boundaries and separated from each other by the “hatch spacing.” All vectors in each stripe are processed in sequence before the beam moves to the next adjacent stripe. The direction of the scan vectors was rotated by a prescribed angle (67°) every layer to prevent alignment of the stripe boundaries and hatch spacings throughout the build.15 After fabrication, the cylindrical sample was stress relief heat-treated at 650°C for 3 h in an Ar environment and then separated from the build plate using wire electrical discharge machining. The post-AM dimensions of the sample were ~ 1 cm in diameter and ~ 2.5 cm in height.

x-ray Computed Tomography (XCT)

After fabrication and stress relief, XCT was performed using a North Star Imaging CXMM 50 metrological XCT system. The system is equipped with a 225-kV reflection source including a tungsten target, rotary stage, and a 10-inch × 8-inch (c.25 × 20 mm) flat-panel detector (~ 3 million pixels at 127 µm/pixel). XCT acquisition parameters are shown in Table I. An XCT reconstruction was performed with the system manufacturer software, and we note that no pre-processing, ring removal, or beam-hardening corrections were included in the reconstruction. As internal defects are the key features important to this study, the spatial resolution is a critical parameter of interest. A previous correlative analysis of both XCT and optical microscopy data of this sample noted that “voids smaller than ~ 50 µm (equivalent spherical diameter) are generally undetected and voids smaller than ~ 200 µm do not have their shape well represented.”15 Linear arrays of porosity were found at the stripe boundaries on the printed layers as well as smaller elongated voids lying between adjacent hatch vectors.15 We note that the relatively large amount of porosity within this sample aided both in the manual registration of the XCT and SS volumetric data sets, and also provided sufficient numbers of features for quantifying the differences in the size distribution of pores for both XCT and SS.

Table I Selected data collection and reconstruction parameters used for the North Star Imaging (NSI) CXMM 50 metrological XCT system

Serial Sectioning (SS)

SS characterization was performed using a custom system constructed at the Air Force Research Laboratory.6,7 Selected parameters of the automated operation can be seen in Table II. The SS system incorporates a highly modified and customized RoboMet.3D version 2 system for multi-step-controlled material removal via mechanical polishing, as well as sample cleaning and drying. The SS system also incorporates automated optical and scanning electron microscopes for microstructural characterization of the sample surface. The materialographic samples are mounted on custom stainless steel kinematic sample holders to facilitate accurate placement within each of the individual systems that collectively comprise the SS system, and a Mitsubishi 6-axis robot is used to automate the movement of the sample between sample preparation and microscopy operations. The system is controlled via custom software scripts written primarily in Python. Only optical microscopy was used for this experiment, as this method is extremely time-and-cost efficient for mesoscale image-based measurements of porosity. The optical microscope used in this study was a Zeiss AxioImager Z2m outfitted with an Axiocam 506 color camera, Marzhauser motorized stage, Zeiss T60N hardware AutoFocus module, Enhanced Contrast Epiplan Neuofluar lenses, and Zen2 control software.

Table II Selected parameters for AFRL’s automated serial sectioning system

Before SS characterization, the cylindrical Ti64 sample was embedded in a 1 ¼”-diameter (c.32 mm) materialographic mount for improved edge retention during the mechanical polishing experiment. Struers PolyFast thermoset resin was used, which contains a carbon filler that creates a random microstructure that can be helpful for stack registration of SS data. After hot-mounting, the outer rim of the sample mount was machined using a lathe to create a ledge for enhanced depth removal measurements, which are described later in this section. The materialographic mount was affixed to a SS stainless steel kinematic holder using both a stainless steel screw and conductive silver epoxy (Ted Pella, H-22 EPO-TEK).

Controlled material removal for the SS experiment consisted of a single polishing step using a 1-μm polycrystalline diamond suspension (Allied High Tech) on a woven acetate polishing pad (DAC, Struers). For this step, the 12”-diameter (c.305 mm) pad rotation rate was 100 rpm, the sample was swept and rotated during polishing, the polishing force was ~ 24 N, and the polishing time was 320 s. Although not shown here, preliminary SS experiments on this sample that employed both 6- and 1-μm polycrystalline diamond media produced noticeable “comet tail” polishing artifacts at pore edges,16 and these artifacts were not observed when only 1-μm media was used. During the SS experiment, a second polishing pad (Final Pol, Allied High Tech) with no media and flowing tap water was used as a primary cleaning step by polishing at 75 rpm for 30 s, which was followed by a 15-s immersion in pure ethanol and forced dry using nitrogen gas. The average time for this portion of the SS experiment was 18 min, and, after completion, the sample was transferred by the 6-axis robot to the Zeiss AxioImager optical microscope.

The optical imaging step for this experiment consisted of multiple activities. The primary activity was to capture a ~ 1-μm resolution image of the entire cross-section of the Ti64 sample using montage-based image acquisition. A ×5 (0.13 NA) objective, ×1.6 Optivar, and LED-based white light illumination were used to collect bright field epi-illumination grayscale images (saved as 14-bit) with a pixel dimension of ~ 1.1 μm. The montage acquisition was a circular grid of image tiles ~ 1 cm in diameter with tile overlap of 30% and required 201 tiles. Notably, the Zeiss AxioImager microscope used in this experiment has both hardware and software autofocusing (AF) capabilities. In this experiment, the authors collected both hardware and software AF data to compare the performance of autofocusing strategies in real-world SS experiments, but, for this paper, only the software autofocus data was utilized as there was sufficiently distributed porosity within that data.

Optical microscope data were used to assess the depth of material removal during the SS experiment by recording the change in the z-motor readout (that controls the final objective lens position) during montage data acquisition.17 One potential problem with using only z-motor readings from the SS surface is that the depth measurement is affected by common experimental errors, such as those introduced by the varied placement of the sample on the optical microscope stage, or intermittent initialization of the z-motor drive (as happens on restart of the microscope control computer). To address these issues, this experiment collected additional images of the recessed ledge that was unchanged by mechanical polishing. Note that the same microscope objective is used for these additional measurements, so that only the microscope stage and camera exposure times were changed for these depth measurements. We use the term "focus ring" for these reference measurements, as some of the authors’ prior experiments inserted a polished metal ring with easily identifiable features such as hardness indents on the outside of the sample mount for this purpose.

To estimate the depth of material removal, dSS, the z-motor values associated with the focus ring images are averaged, ZFR, and subtracted from the average of the z-motor values associated with the images from the region-of-interest (ZROI).

$$ d_{{{\text{SS}}}}^{{\text{i}}} \, = \, Z_{{{\text{ROI}}}} \, {-} \, Z_{{{\text{FR}}}} $$

Figure 1 shows a plot of the depth of material removal with section number, showing the improvement of this measurement using the "focus ring" method. One can also observe that the SS rate is very constant for this long-term experiment that lasted over 14 days, which involved multiple pad changes and intermittent stops.

Fig. 1
figure 1

(a) Material removal plot for the SS experiment that shows a consistent rate of material removal. (b) Residual plot for the linear fit. (c) Image of the sample with focus ring (red arrow) used for reference height measurements.

Post-processing of the SS data included the following steps. First, the montage image tiles were flatfielded (so-called retrospective flatfielding5,17) using a custom approach that takes advantage of the hundreds of thousands of image tiles that were collected in the SS experiment. This was accomplished by calculating the background illumination field via a custom averaging procedure, using a multilevel (bandpass) threshold to identify pixels associated with a specific feature or phase in a representative image (in this particular situation, the intensity values associated with the metallic alloy as identified from manual observation of the image histogram). The multilevel threshold was applied to all the tiles in the SS data set, and a background image was generated from the average values associated with this intensity range on a per-pixel basis, ignoring pixel data that were outside the multilevel threshold. After generation of the background image, outlier pixels were removed with a 5 × 5 pixel median filter. Per-pixel division of each original image tile by the background image minimized non-uniformities in illumination and improved the output of the montage stitching algorithm.

After flatfielding, montage images were assembled from each section using the “Grid/Collection Stitching” plug-in within Fiji.18 This plug-in uses normalized cross-correlation and an iterative optimization procedure to determine the spatial registration of the tile ensemble and does not require that the images reside on a rectangular grid as long as the estimated initial tile positions are provided in a text file format.19 For this plug-in, linear blending was used for overlapping regions, and alignment was performed with subpixel accuracy. As shown in Table II, there were 201 tiles associated with each montage, which were collected using a circular mask, and the assembled montage covered an area of 12.2 × 12.2 mm (10,958 × 10,958 pixels). Stack registration of the montage images was performed with the “Register Virtual Stack Slices” plug-in for Fiji allowing for only translations.

Porosity Area Fraction Estimation Using Stereological Point Counting

After stack registration, an estimation of the area fraction of porosity on a single section was conducted via stereological methods.20,21,22 This task was performed to provide a quantitative estimate of the area fraction of porosity that could be compared to the results of the segmentation methods explored in the next section. A point-probe counting method was employed for the area fraction calculation,20 and an example of this data is shown in Fig. 2. The random placement of the square grid and the graphical user interface (GUI) used for point labeling and counting were both facilitated within Fiji, using the Grid and Cell-Counter plug-ins, respectively. The intersections of the square grid were manually classified into 5 phases: (1) polymer materialographic mount, (2) metal, (3) pore, (4) pore/metal interface, or (5) metal/mount interface, as shown in Fig. 2. The interface phases corresponded to data where it was difficult to distinguish to which of the first three phases the point should be assigned, and, when recording the cumulative data counts, these points were given a half count to each bordering phase.

Fig. 2
figure 2

Estimation of area fraction of porosity via point count stereology on a manually registered cross-section of XCT (a) and SS (b) with labeling examples for a pore (c) and a metal/mount interface (d) within the XCT data, and the pore/metal interface (e) and a pore (f) of the SS data.

The point count method is most effective when the grid spacing is such that adjacent points rarely fall within the same feature, cell, or region in the image.20 To account for this, the grid spacing for the XCT and SS images was set to ~ 360 μm so that no single pore would be counted twice. This grid spacing correlated to ~ 640 locations overlaid on the metal AM cross-section of each image to then be labeled as described. To account for the variability of this method for estimating the area fraction, five measurements were accomplished on both cross-sections of Fig. 2. Overlaying the grid before each point count was accomplished by randomizing its placement, as allowed within Fiji. Although more time-consuming than automated methods of area fraction determination, this analysis was used as a 2D benchmark for the automated segmentation methods that are discussed later. For the selected image, the area fraction of porosity was estimated using the below equation with \(N_{P }\) being the pore point count, \(N_{PM} \) being the point counts at the pore/metal interface, \(N_{M} \) being the point counts of metal, and \(N_{MPol} \) being the point counts at the metal/polymer mount interface. This estimated value will be used later for comparison with other methods used to quantify the area fraction of porosity.

Segmentation of Porosity

To perform 3D microstructure analysis from the two volumetric data sets using DREAM.3D software,23 workflows for segmenting the porosity from the metallic sample were developed. Image post-processing and segmentation analysis can be quite complicated, and no set of standard rules have been established for image classification of porosity from either volumetric or surface images of metal AM image data. In this study, we have examined two methods for segmentation of porosity that are included with the open-source software, Fiji.19 First, the performance of selected automated global thresholding methods was evaluated, by comparing both the area fraction derived from these histogram-analysis methods, as well as by qualitative observation of the porosity.

Automated segmentation was accomplished for both the SS and XCT data volumes, and different methods were employed for each data set. Examination of the grayscale histograms from representative sections of the XCT and SS data sets highlights why different segmentation methods were employed for the two data sets (Fig. 3). For the SS data (Fig. 3b), there is a clear separation between the intensity values of the pixels that correspond to porosity in the optical images and pixels that correspond to the Ti64 alloy (Fig. 3d). Within the XCT data (Fig. 3a), the intensity values for these two features are not distinct in the associated histogram (Fig. 3c). Many automated global thresholding methods provide acceptable segmentation results when the situation is similar to the SS data (Fig. 3b), but perform poorly for situations like the XCT data obtained in this study (Fig. 3a).

Figure 3
figure 3

Image data representing a single section from both the XCT and SS data that approximately correspond to the same sample region of interest and their respective histograms. (a) XCT data, (b) SS data, (c) histogram of the inset from the XCT data in (a), and (d) histogram of the inset from the SS data in (b) reduced from 14-bit to 8-bit grayscale. The lower resolution XCT data show a lack of separation in intensity values between porosity and metal

To provide an acceptable segmentation of both data sets using the same workflow, a form of supervised machine learning was used. This was accomplished using the "Trainable WEKA Segmentation" (TWS) plug-in within Fiji,24 and the authors employed the 2D version of this plug-in, which allows the user to manually classify selected pixels of the image, and the algorithm uses this labeling to train a classifier to segment the remainder of the image. After the classifier has been trained, it can be used to process a stack of images. The default parameters for this filter were employed for classification.

Registration of XCT to SS

After segmentation of both data volumes had been performed, the next task was to register and crop the data volumes to facilitate quantitative comparison of the pore populations. Registration involves determining the transformation (e.g., translation, rotation, scaling, shearing, and potentially non-linear warping) to spatially align the two data sets. Unfortunately, the authors’ attempts to register the data sets utilizing the centroids of the largest pores and a point set registration algorithm were unsuccessful. Thus, this particular data set registration was accomplished manually by examining both the XCT and SS data sets to find common features, such as linear porosity chains or large surface agglomerations (as can be observed in Fig. 3). After identifying similar sections in both data sets, additional sections in the immediate vicinity were iteratively identified to determine the sections in the XCT data set that bound a common volume with the finer resolution SS data set. The XCT data set was cropped along the axial direction of the sample to match the axial length of the SS data, and both data sets were cropped in the other two orthogonal directions to minimize data outside the metal cylinder. After this manual process, the dimension of the XCT and SS data sets along the axial direction of the AM cylinder was ~ 0.85 mm. The authors recognize that automated data volume registration processes exist,25,26,27 and the implementation of these processes will be explored in future efforts.

Correlative Analysis of XCT and SS

After registration, quantitative characterization of the pore populations was performed using both the SS and XCT data sets with the area fraction of porosity as a 2D measurement that could be compared to stereological analysis. The cross-section previously shown in Fig. 2 was selected to aid in determining the area fraction of porosity for the XCT and SS images. Both a common global threshold method (the Otsu method28) and the TWS method were selected for comparison. Examples of the segmented SS and XCT images by these methods can be seen in Fig. 4. Visual analysis of the data shows some discrepancy in the porosity segmentation, although we note that the registration has been performed manually and therefore the 2D images are from approximately the same region of the sample. To quantify the discrepancy, the segmented images were analyzed with a custom Python script to calculate the area fraction of porosity, and these results are reported in Table III.

Fig. 4
figure 4

Representative examples of (a) segmentation of XCT image data using the “Trainable WEKA Segmentation” (TWS), compared to (b) the much-higher spatial resolution SS image that has been segmented using an Otsu threshold.

Table III Correlative 2D results of a manually registered cross section.

Three-dimensional analysis of the pore populations was accomplished by a customized pipeline using DREAM.3D23 and visualized with ParaView29 (see Fig. 5). A comparison of the overall number of pores, the porosity volume, and their equivalent diameter was conducted. The measurement of the equivalent diameters (assuming a spherical geometry) of the pore population was also generated. The pipeline within DREAM.3D also assigned features to each pore and placed the values of those features into a text file. With this file format, a number count histogram of the porosity was generated relative to equivalent pore diameter to generate porosity distributions for each data set (see Fig. 6). To demonstrate the differences in the representation after segmentation, four large pores (that could be easily identified by visual inspection because of their spatial arrangement within a linear array of porosity at a stripe boundary) were isolated within their respective data sets for comparison (Fig. 5). In addition, a global analysis of the porosity between the data volumes was conducted. A local correlation of the change in porosity metrics between XCT and SS remains a topic for future study.

Fig. 5
figure 5

3D renderings of four pores within the Ti64 AM sample that were identified as common features in both data sets. (a) Segmentation via the Fiji TWS filter of the XCT data, and (b) Otsu threshold of the SS data. Note that the legend coloring is the same for both figures.

Fig. 6
figure 6

Equivalent pore diameter measurements from the Ti64 AM sample (XCT segmented by TWS, SS segmented by an Otsu threshold).

Results

For this study, the SS data were considered as a ground truth because of the much higher spatial resolution (~ 1 μm), and the large difference in the pixel intensity values that corresponded to the metal and internal porosity (Fig. 3). The porosity area fraction results for the analysis of a representative 2D cross-section are shown below in Table III.

The frequency distribution of equivalent pore diameter, the global porosity volume fraction, and the total number of detected pores were compared between the two data sets, as shown in Table IV and Fig. 6. Some of the differences in the porosity data as classified by XCT and supervised training of the TWS filter are as follows. Fewer pores were measured for the XCT data, and examination of the size distribution for the SS data (Fig. 6) shows the presence of a significant number of small pores that are comparable to and smaller than the voxel dimensions of the XCT data, and therefore not individually identified in the XCT data. Also, the volumes of the largest pores were overestimated in the XCT/TWS data, as shown in the histogram of equivalent pore diameter (Fig. 6), as well as from examination of the four manually identified common pores in both data sets (Fig. 5). For example, the largest of the four pores in Fig. 5 was reported to have an equivalent diameter of ~ 240 μm in the XCT data, and this same feature was reported as ~ 180-μm equivalent diameter in the SS data. Another difference observed from Fig. 5 was that, although the XCT reconstruction represented the third pore from the left as one pore, the SS represented this as multiple smaller pores (< 100 μm) in very close proximity to each other. These observed differences suggest there are likely additional discrepancies in the morphology and spatial arrangement of pores between the two data sets. This will be explored in future efforts by aligning the SS and XCT data sets with improved experimental methods and advanced registration procedures.

Table IV Correlative results from the volumetric region

Discussion

There is a need for a “reliable, consistent, computationally efficient, and automated method (no operator bias) to characterize defects within metallic AM.”30 Currently, XCT is the most widely used NDE method for porosity characterization in metal AM. This study highlights the limitations of that method by correlating those results with much higher-resolution SS data from the same sample. The XCT data and TWS segmentation missed or miscategorized a portion of the porosity in the metal AM sample analyzed. Fewer volumetric defects were observed via XCT than by SS analysis, and the sizes of the largest pores were overestimated.

XCT data may contain imaging artifacts such as beam-hardening, ring artifacts, blurring, and streaking that impact quantitative image analysis. These types of artifacts affect the intensity values in individual voxels and localized regions in the XCT reconstruction, which can result in porosity classification errors. For more complex-shaped AM parts (as compared to the cylindrical sample of this study), these artifacts occur more frequently, and the corresponding artifact corrections, as well as improved reconstruction algorithms, can be used to enhance the reconstruction accuracy and contrast. To this point, enhancement of the difference in grayscale intensity values between porosity and the metallic part should improve the accuracy of XCT data segmentation workflows. The quantitative analysis of the improvement in porosity characterization due to the collective application of these methods remains a subject for future research. The present study demonstrates that correlative analysis can be performed on centimeter-scale AM printed objects with ground truth SS data, and potentially the method can be extended to larger volumes while maintaining micron-scale spatial resolution. It should be noted that the significant difference in spatial resolution for the present study provided an advantage for the detection of fine-scale porosity via SS, and we anticipate that the differences between the data modes would be reduced when the spatial resolution for the methods are more closely matched. This consideration has been included in the design of correlative experiments that are currently in progress.

Further development of this correlative analysis methodology should provide an enhanced quantitative assessment of XCT capability for porosity characterization, and may refine the accepted sensitivity practice of detecting porosity larger than 3 times the voxel size.2 In addition, the use of such correlative analysis to guide the standardization of XCT post-processing and analysis workflow for metal AM applications should be a subject of future research.