Unordered notes¶
Task 1: calibrationEDD¶
Purpose: calibration of the conversion from channels to energy with X-ray source
Procedure:
fit peaks in channels
fit energies (e.g. Ba or Am fluorescence source) vs peak positions to obtain coefficients \(p_i\).
Data:
/detectorCalibration/fit_0001_2_1/fitLine_{ROIi}/horizontal: NXdata plot of peak fit
/detectorCalibration/fit_0001_2_1/fitLine_{ROIi}/vertical: NXdata plot of peak fit
- /detectorCalibration/fit_0001_2_1/fitParams/fitParamsHD: results of peak fit
columns: [height, position, fwhm1, fwhm2, eta, goodness of fit]
rows are the peaks
- /detectorCalibration/fit_0001_2_1/fitParams/fitParamsVD: results of peak fit
columns: [height, position, fwhm1, fwhm2, eta, goodness of fit]
rows are the peaks
/detectorCalibration/fit_0001_2_1/curveCalibration: NXcollection of energy fit
- /detectorCalibration/fit_0001_2_1/calibCoeffs/calibCoeffsHD: results of energy fit
\(p_i\) stored in numpy.polyval order
- /detectorCalibration/fit_0001_2_1/calibCoeffs/calibCoeffsVD: results of energy fit
\(p_i\) stored in numpy.polyval order
Task 2: angleCalibEDD¶
Purpose: calibration of the diffraction angle with known sample
Procedure:
fit peaks in channels
fit d-spacings vs. peak positions (using energy calibration) to obtain \(2\theta\).
Data:
/angleCalibration/fit_0001_3/fitLine_{ROIi}/horizontal: NXdata plot of peak fit
/angleCalibration/fit_0001_3/fitLine_{ROIi}/vertical: NXdata plot of peak fit
- /angleCalibration/fit_0001_3/fitParams/fitParamsHD: results of peak fit
columns: [height, position, fwhm1, fwhm2, Lorentzian fraction, goodness of fit]
rows are the peaks
- /angleCalibration/fit_0001_3/fitParams/fitParamsVD: results of peak fit
columns: [height, position, fwhm1, fwhm2, Lorentzian fraction, goodness of fit]
rows are the peaks
/angleCalibration/fit_0001_3/curveAngleCalibration: NXcollection of angle fit
- /angleCalibration/fit_0001_3/calibratedAngle/calibratedAngleHD: results of angle fit
\(2\theta\) of the horizontal detector
- /angleCalibration/fit_0001_3/calibratedAngle/calibratedAngleVD: results of angle fit
\(2\theta\) of the vertical detector
Task 3: fitEDD¶
Purpose: peak positions in channels for unknown sample
Procedure:
fit peaks in channels
Data:
/BAIII_AB_4_1_0001_42.1/fit/0000/fitLine_{ROIi}: NXdata plot of fit
- /BAIII_AB_4_1_0001_42.1/fit/0000/fitParams/fitParamsHD: results of peak fit
columns: [height, position, fwhm1, fwhm2, eta, goodness of fit]
rows are the peaks
- /BAIII_AB_4_1_0001_42.1/fit/0000/fitParams/fitParamsVD: results of peak fit
columns: [height, position, fwhm1, fwhm2, eta, goodness of fit]
rows are the peaks
- /BAIII_AB_4_1_0001_42.1/positioners:
ex, ey, ez, ephi, echi, sy
- /BAIII_AB_4_1_0001_42.1/tthPositionsGroup/peak_{i}: combine positioners and fit results
columns: [ex, ey, ez, ephi, echi, sy, delta (azimuth), 2theta, position (in channel), intensity, (FWHM1+FWHM2)/2, Lorentzian fraction, goodness of fit]
rows: [horizontal, vertical]
delta is -90 degrees for the horizontal detector (det0) and 0 degrees for the vertical detector (det1).
theta is fixed to zero but should really be the detector angle from angleCalibEDD.
Task 4: coordTransformation¶
Transformation of the coordinates from the motor to the goniometer reference frame.
Data:
- /global/peak_{ROIi}: data in motor frame
columns: [ex, ey, ez, ephi, echi, sy, delta (azimuth), 2theta, position (in channel), intensity, (FWHM1+FWHM2)/2, Lorentzian fraction, goodness of fit]
rows: [horizontal, vertical]
- /global/inSample_peak_{ROIi}: data in goniometer frame
columns: [x, y, z, rot_Z, rot_X, rot_Y, delta, 2theta, position (in channel), intensity, (FWHM1+FWHM2)/2, Lorentzian fraction, goodness of fit]
rows: [horizontal, vertical]
x = -ex, y = -ey, z = 9 - ez, rot_Z = ephi, rot_X = echi, rot_Y = sy
Task 5: regroupPoints¶
Merge data from 2 different sample orientations (2 scans)
Data:
- /coordInSample_Peak_{ROIi}: data in goniometer frame
columns: [x, y, z, rot_Z, rot_X, rot_Y, delta, 2theta, position (in channel), intensity, (FWHM1+FWHM2)/2, Lorentzian fraction, goodness of fit]
rows: [horizontal scan1, vertical scan1, horizontal scan2, vertical scan2]
Task 6: preStraind0cstEDD¶
Calculate the strain in the measurement direction.
Data:
- /STRAIN_with_d0/peak_{ROIi}/point_00000: data in goniometer frame
columns: [x, y, z, rot_minZ, rot_X, rot_minY, delta, 2theta, epsilon_sample, qx, qy, qz]
rows: [horizontal scan1, vertical scan1, horizontal scan2, vertical scan2]
epsilon_sample is the strain in the direction of the scattering vector. [qx, qy, qz] is the normalized scattering vector in cartesian coordinates calculated from spherical coordinates [delta, 2theta] and goniometer rotations rot_minZ, rot_X, rot_minY.
Task 7: strainStressd0cstEDD¶
Calculate the strain and stress tensors.
Data:
- /peak_{ROIi}/point_00000/position:
x, y, z
- /peak_0000/point_00000/strain_tensor_fit:
???
- /peak_0000/point_00000/stress_tensor_fit:
???