Add XRF and MIR to plots

This commit is contained in:
Nicolò P 2023-05-04 10:46:35 +02:00
parent 9a71df1e7f
commit a231dc2ec6

View File

@ -4,10 +4,9 @@
// included via script tag in HTML // included via script tag in HTML
// ******************************** // ********************************
const processXRD = rawData => { const processXRD = rawData => {
const sep = rawData.includes('\r') ? '\r': '\n'; const axes = rawData.map(r => r.replace('\n', '')
const axes = rawData.split(sep)
.map(r => r.replace('\n', '')
.split(/[\s,]+/)); .split(/[\s,]+/));
let x = [], y = []; let x = [], y = [];
@ -21,7 +20,28 @@ const processXRD = rawData => {
}; };
const processXRF = rawData => { const processXRF = rawData => {
// Do stuff... const axes = rawData.slice(19, -1);
let x = [], y = [];
axes.forEach((val, index) => {
x.push(index);
y.push(val);
});
return [x, y];
};
const processMIR = rawData => {
const axes = rawData.slice(1,);
let x = [], y = [];
for (const value of axes) {
x.push(value[0]);
y.push(value[1]);
}
return [x, y];
}; };
const techniques = { const techniques = {
@ -31,7 +51,18 @@ const techniques = {
x_title : '2Theta (°)', x_title : '2Theta (°)',
y_title : 'Intensity (Counts)', y_title : 'Intensity (Counts)',
}, },
'XRF' : processXRF, 'XRF' : {
process: processXRF,
plot_type : 'XRF Spectrometer',
x_title : 'Energy (keV)',
y_title : 'Intensity (Counts)',
},
'MIR' : {
process: processMIR,
plot_type : 'MIR Spectrum',
x_title : 'X Axis',
y_title : 'Y Axis',
}
}; };
/** /**
* @param {string} rawData * @param {string} rawData
@ -43,6 +74,8 @@ const techniques = {
export function plot(rawData, technique, containerId) export function plot(rawData, technique, containerId)
{ {
let container = document.querySelector(`#${containerId}`); let container = document.querySelector(`#${containerId}`);
const sep = rawData.includes('\r') ? '\r': '\n';
rawData = rawData.split(sep);
const spectrumType = techniques[technique]; const spectrumType = techniques[technique];
const processed = spectrumType.process(rawData); const processed = spectrumType.process(rawData);