Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Single Layers and Tracks

Single Line and Multiple Line Scans on Bare Plates and a Single Layer of Powder

Dataset Overview 

1. Summary

This document provides details on the files available in the dataset “Thermographic measurements of single and multiple scan tracks on nickel alloy 625 substrates with and without a powder layer in a commercial laser powder bed fusion process”. The data provided in this set compliments the work presented at the 2017 Solid Freeform Fabrication symposium and published in the conference proceedings [1]. A total of 4 different experiments are presented and briefly discussed in Section 2, though more detail about the experiment setup and capabilities can be found in the literature. Section 3 provides details on the files contained in the dataset.

2. Experiments

There are 4 experiments presented in this data set, as shown in Table 1. These scans are performed in a commercial EOS M270 laser powder bed fusion machine with a custom sample holder mounted on the build platform [2] and custom door [3] to allow a camera to observe the region of interest in the build area. The camera records data at 1800 frames per second and an integration time of 40 µs. The field of view (FOV) of the camera is approximately 12 mm long and 6 mm wide. The field of view of the camera is centered at the machine coordinates of X = 135.5 mm, Y = 95.0 mm. The nickel alloy 625 substrates are placed on the sample holder and in some instances, nickel alloy 625 powder is spread across the surface by hand prior to the scan. Infrared emissions from the surface of the sample are measured using an IRC912 short wave infrared camera. Additional details are provided in [1].

Table 1 - List of the experiments contained in this dataset and their case number in the associated publication [1].

Test Name

Case #

Brief description

20170215_PowderPlate6_Bare_SingleLine_195W_800mmPs

1

Single scan on a bare surface

20170213_PowderPlate1_SingleLine

2

Single scan on a layer of powder

20170215_PowderPlate7_Bare_Pad_195W_800mmPs

3

39 consecutive scans on a bare surface

20170213_PowderPlate2_Pad

4

39 consecutive scans on a powder layer

3. Data Files

The dataset contains the following files:

  • DataSetOverviewAndTempProfiles.xlsx
    • The first worksheet in this workbook is an overview of the experiments in the dataset.
    • Each subsequent worksheet provides data from each experiment, including the radiant temperature profile extracted from the infrared camera
  •  RawCameraData.zip
    • A .zip file containing the raw camera files from each experiment.
    • These files are intended only as a backup of the raw data and not for analysis.
  • testname.zip
    •  Four individual .zip files titled according to the test names provided in Table 1.
    • Each testname.zip contains the following files:
      •  testname_CameraSignal.mat
        • This is a .mat file that provides the camera signal, in digital levels (DL) extracted from the raw files provided in RawCameraData.zip.
        • Three dimensional array, 127 x 360 x f, where f is the total number of video frames. An example code to read the array is provided in the appendix.
        • The thermal camera occasionally at high frame rates. Skipped frames, which are identified in the raw camera file, are reinserted into the array with zeros.
        • This data is useful when analysis and processing of the raw signal is required.
      • testname_RadiantTemperature.mat
        • This is a .mat file that provides the radiant temperature calculated from the camera signal according to the calibration provided in [2], [4].
        • Three dimensional array, 127 x 360 x f, that reports radiant temperature between 550 °C and approximately 1038 °C. Temperatures below 550 °C are reported as 0 °C. The camera signal saturates around 13 500 DL, which is approximately 1038 °C using the current camera settings. Each pixel saturates at a slightly different DL. Any temperature equal to or greater than 1038 °C should be disregarded, since those pixels are saturated and there is no way of knowing the actual radiant temperature.
        • An example code to read the array is provided in the appendix.
        • Radiant temperature is not the true thermodynamic temperature of the material, emissivity of the surface must be known to calculate the true temperature.
      •  testname_RadiantTemperature.mp4
        • This is a compressed video that presents the radiant temperature and pertinent test information.

4. References

These works are available to the public through https://www.nist.gov/publications.

[1]  J. Heigel and B. Lane, “The Effect of Powder on Cooling Rate and Melt Pool Length Measurements Using In Situ Thermographic Techniques,” in Proceedings of the 2017 Annual International SFF Symposium, 2017.

[2]  J. C. Heigel and B. Lane, “Measurement of the Melt Pool Length During Single Scan Tracks in a Commercial Laser Powder Bed Fusion Process,” in Proceedings of the ASME 2017 12th International Manufacturing Science and Engineering Conference (MSEC 2017), Los Angeles, CA, 2017, vol. 12.

[3]  B. Lane et al., “Thermographic measurements of the commercial laser powder bed fusion process at NIST,” Rapid prototyping journal, vol. 22, no. 5, pp. 778–787, 2016.

[4]  J. C. Heigel and B. Lane, “Measurement of the Melt Pool Length During Single Scan Tracks in a Commercial Laser Powder Bed Fusion Process,” J. Manuf. Sci. Eng., 2017.

5. Appendix

The following matlab code is an example of how to read and display the testname_CameraSignal.mat and testname_RadiantTemperature.mat data:

%% Load the variables.

% These variables are named CameraSignal and RadiantTemperature

load('20170213_PowderPlate1_SingleLine_CameraSignal.mat');

load('20170213_PowderPlate1_SingleLine_RadiantTemperature.mat');

%% Determine the size of the variables (will be identical)

[height,width,frames]=size(RadiantTemperature);

%% Create a figure and loop through each frame, displaying the results

% turn on the ability to pause so the user can see each frame

pause on;

% Create the figure and axis

F1=figure;

AX=axes('Parent',F1,'Layer','top','YDir','reverse','DataAspectRatio',[3 3 3],...

    'XLim',[0 width],'YLim',[0 height]); % Note that the y axis needs to be flipped to match the .mp4

hold on;

colormap('hot');

grid('on');

xlabel('X (pixels)');

ylabel('Y (pixels)');

% Create the colorbar

CB=colorbar('peer',AX,'eastoutside','Ticks',[550 650 750 850 950 1038],...

    'TickLabels',{'< 550 \circC','650 \circC','750 \circC','850 \circC','950 \circC','1038 \circC <'});

caxis([550 1038]);

% These lines gray-out the zero values that are below the measureable range of the camera

map=colormap;

map(1,:)=[0.8 0.8 0.8];

colormap(map);

% Create the figure title

T=title({'Radiant temperature, frame 1'});

% Create the axis using the first frame

RT=image(RadiantTemperature(:,:,1),'Parent',AX,'CDataMapping','scaled');

for f=2:frames

    pause(0.5); % Impose a 0.5 s pause so the user can see the image.

    RT.CData=RadiantTemperature(:,:,f); % Display the new frame

    T.String(1)=strcat({'Radiant temperature, frame '},num2str(f));

end

pause off;

Contacts

Created September 21, 2018, Updated November 15, 2019