nmr-processing 9.7.9-pre.1690349439 → 9.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/constants/degreeToRadians.d.ts +1 -0
- package/lib/constants/degreeToRadians.js +5 -0
- package/lib/constants/degreeToRadians.js.map +1 -0
- package/lib/datum/data2d/filter2d/fftDimension1.js +24 -4
- package/lib/datum/data2d/filter2d/fftDimension1.js.map +1 -1
- package/lib/datum/data2d/filter2d/fftDimension2.js +29 -11
- package/lib/datum/data2d/filter2d/fftDimension2.js.map +1 -1
- package/lib/xyz/quadrature.js +0 -18
- package/lib/xyz/quadrature.js.map +1 -1
- package/lib/xyz/util/fft2d/fftDirectDimension.js +1 -10
- package/lib/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
- package/lib/xyz/util/fft2d/fftIndirectDimension.d.ts +2 -4
- package/lib/xyz/util/fft2d/fftIndirectDimension.js +104 -51
- package/lib/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
- package/lib/xyz/util/getMinMaxXY.d.ts +1 -1
- package/lib/xyz/util/getMinMaxXY.js +3 -3
- package/lib/xyz/util/getMinMaxXY.js.map +1 -1
- package/lib/xyz/util/phaseCorrection/applyOverImag.d.ts +24 -0
- package/lib/xyz/util/phaseCorrection/applyOverImag.js +27 -0
- package/lib/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
- package/lib/xyz/util/phaseCorrection/applyOverReal.d.ts +22 -0
- package/lib/xyz/util/phaseCorrection/applyOverReal.js +27 -0
- package/lib/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.d.ts +3 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +10 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.d.ts +3 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +10 -0
- package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
- package/lib/xyz/util/phaseCorrection/getZMinMax.d.ts +6 -0
- package/lib/xyz/util/phaseCorrection/getZMinMax.js +13 -0
- package/lib/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
- package/lib/xyz/xyzPhaseCorrectionDirectDimension.d.ts +16 -0
- package/lib/xyz/xyzPhaseCorrectionDirectDimension.js +30 -0
- package/lib/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
- package/lib/xyz/xyzPhaseCorrectionIndirectDimension.d.ts +25 -0
- package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js +32 -0
- package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
- package/lib-esm/constants/degreeToRadians.js +2 -0
- package/lib-esm/constants/degreeToRadians.js.map +1 -0
- package/lib-esm/datum/data2d/filter2d/fftDimension1.js +25 -5
- package/lib-esm/datum/data2d/filter2d/fftDimension1.js.map +1 -1
- package/lib-esm/datum/data2d/filter2d/fftDimension2.js +29 -11
- package/lib-esm/datum/data2d/filter2d/fftDimension2.js.map +1 -1
- package/lib-esm/xyz/quadrature.js +1 -19
- package/lib-esm/xyz/quadrature.js.map +1 -1
- package/lib-esm/xyz/util/fft2d/fftDirectDimension.js +2 -11
- package/lib-esm/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
- package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js +104 -51
- package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
- package/lib-esm/xyz/util/getMinMaxXY.js +3 -3
- package/lib-esm/xyz/util/getMinMaxXY.js.map +1 -1
- package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js +20 -0
- package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
- package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js +20 -0
- package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
- package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +6 -0
- package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
- package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +6 -0
- package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
- package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js +9 -0
- package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
- package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js +26 -0
- package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
- package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js +28 -0
- package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
- package/package.json +1 -1
- package/src/constants/degreeToRadians.ts +1 -0
- package/src/datum/data2d/filter2d/fftDimension1.ts +40 -8
- package/src/datum/data2d/filter2d/fftDimension2.ts +36 -14
- package/src/xyz/quadrature.ts +1 -26
- package/src/xyz/util/fft2d/fftDirectDimension.ts +2 -18
- package/src/xyz/util/fft2d/fftIndirectDimension.ts +123 -71
- package/src/xyz/util/getMinMaxXY.ts +4 -4
- package/src/xyz/util/phaseCorrection/applyOverImag.ts +29 -0
- package/src/xyz/util/phaseCorrection/applyOverReal.ts +29 -0
- package/src/xyz/util/phaseCorrection/checkNmrData2DFourQuad.ts +12 -0
- package/src/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.ts +11 -0
- package/src/xyz/util/phaseCorrection/getZMinMax.ts +10 -0
- package/src/xyz/xyzPhaseCorrectionDirectDimension.ts +52 -0
- package/src/xyz/xyzPhaseCorrectionIndirectDimension.ts +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const degreeToRadians: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"degreeToRadians.js","sourceRoot":"","sources":["../../src/constants/degreeToRadians.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reduce = exports.isApplicable = exports.apply = exports.DOMAIN_UPDATE_RULES = exports.name = exports.id = void 0;
|
|
4
|
-
const quadrature_1 = require("../../../xyz/quadrature");
|
|
5
4
|
const fftDirectDimension_1 = require("../../../xyz/util/fft2d/fftDirectDimension");
|
|
6
5
|
const ml_spectra_processing_1 = require("ml-spectra-processing");
|
|
7
6
|
exports.id = 'fftDimension1';
|
|
@@ -16,10 +15,15 @@ function apply(datum2D, options) {
|
|
|
16
15
|
}
|
|
17
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
17
|
const { data, info } = datum2D;
|
|
19
|
-
const { digitalFilterValue = 0 } = info;
|
|
20
|
-
const fnMode = info.fnMode[1];
|
|
18
|
+
const { digitalFilter: digitalFilterValue = 0 } = info;
|
|
19
|
+
const fnMode = info.fnMode[1].toLowerCase();
|
|
20
|
+
const orderedData = fnMode === 'echo-antiecho'
|
|
21
|
+
? echoQuadrature(data)
|
|
22
|
+
: {
|
|
23
|
+
re: data.re.z,
|
|
24
|
+
im: data.im.z,
|
|
25
|
+
};
|
|
21
26
|
const { zeroFilling = {} } = options;
|
|
22
|
-
const orderedData = (0, quadrature_1.quadrature)(data, { fnMode });
|
|
23
27
|
const nbColumns = orderedData.re[0].length;
|
|
24
28
|
const { factor = 1 } = zeroFilling;
|
|
25
29
|
const nbPoints = zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbColumns * factor));
|
|
@@ -46,4 +50,20 @@ function reduce() {
|
|
|
46
50
|
};
|
|
47
51
|
}
|
|
48
52
|
exports.reduce = reduce;
|
|
53
|
+
function echoQuadrature(data) {
|
|
54
|
+
const { re: { z: reMatrix }, im: { z: imMatrix }, } = data;
|
|
55
|
+
const newRe = [];
|
|
56
|
+
const newIm = [];
|
|
57
|
+
for (let i = 0; i < reMatrix.length; i += 2) {
|
|
58
|
+
const reCosine = reMatrix[i];
|
|
59
|
+
const imCosine = imMatrix[i];
|
|
60
|
+
const reSine = reMatrix[i + 1];
|
|
61
|
+
const imSine = imMatrix[i + 1];
|
|
62
|
+
newRe.push((0, ml_spectra_processing_1.xSubtract)((0, ml_spectra_processing_1.xMultiply)(imSine, -1), imCosine));
|
|
63
|
+
newRe.push((0, ml_spectra_processing_1.xSubtract)(reSine, reCosine));
|
|
64
|
+
newIm.push((0, ml_spectra_processing_1.xAdd)(reSine, reCosine));
|
|
65
|
+
newIm.push((0, ml_spectra_processing_1.xSubtract)(imSine, imCosine));
|
|
66
|
+
}
|
|
67
|
+
return { re: newRe, im: newIm };
|
|
68
|
+
}
|
|
49
69
|
//# sourceMappingURL=fftDimension1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fftDimension1.js","sourceRoot":"","sources":["../../../../src/datum/data2d/filter2d/fftDimension1.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"fftDimension1.js","sourceRoot":"","sources":["../../../../src/datum/data2d/filter2d/fftDimension1.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,26 +16,24 @@ function apply(datum2D, options) {
|
|
|
16
16
|
}
|
|
17
17
|
const { data, info } = datum2D;
|
|
18
18
|
const fnMode = info.fnMode[1];
|
|
19
|
+
const orderedData = {
|
|
20
|
+
re: data.re.z,
|
|
21
|
+
im: data.im.z,
|
|
22
|
+
};
|
|
19
23
|
const { zeroFilling = {} } = options;
|
|
20
|
-
const nbRows =
|
|
21
|
-
const { factor =
|
|
24
|
+
const nbRows = orderedData.re.length;
|
|
25
|
+
const { factor = 2 } = zeroFilling;
|
|
22
26
|
const nbPoints = zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbRows * factor));
|
|
23
27
|
const transformed = (0, fftIndirectDimension_1.fftIndirectDimension)({
|
|
24
|
-
re:
|
|
25
|
-
im:
|
|
28
|
+
re: orderedData.re,
|
|
29
|
+
im: orderedData.im,
|
|
26
30
|
}, {
|
|
27
31
|
fnMode,
|
|
28
32
|
...options,
|
|
29
33
|
zeroFilling: { nbPoints },
|
|
30
34
|
});
|
|
31
|
-
const minMaxXY = (0, getMinMaxXY_1.getMinMaxXY)(info);
|
|
32
35
|
datum2D.data = {
|
|
33
|
-
|
|
34
|
-
z: transformed.re.to2DArray().map(ml_spectra_processing_1.xEnsureFloat64),
|
|
35
|
-
maxZ: transformed.re.max(),
|
|
36
|
-
minZ: transformed.re.min(),
|
|
37
|
-
...minMaxXY,
|
|
38
|
-
},
|
|
36
|
+
...getQuadrants(transformed, info),
|
|
39
37
|
};
|
|
40
38
|
const { isFid, isComplex, ...resInfo } = info;
|
|
41
39
|
datum2D.info = {
|
|
@@ -44,6 +42,26 @@ function apply(datum2D, options) {
|
|
|
44
42
|
};
|
|
45
43
|
}
|
|
46
44
|
exports.apply = apply;
|
|
45
|
+
function getQuadrants(transformed, info) {
|
|
46
|
+
const quadrants = {};
|
|
47
|
+
const { fnMode } = info;
|
|
48
|
+
const minMaxXY = (0, getMinMaxXY_1.getMinMaxXY)(info);
|
|
49
|
+
const buildQuandrants = (keys) => {
|
|
50
|
+
for (const key of keys) {
|
|
51
|
+
quadrants[key] = {
|
|
52
|
+
z: transformed[key].to2DArray().map(ml_spectra_processing_1.xEnsureFloat64),
|
|
53
|
+
maxZ: transformed[key].max(),
|
|
54
|
+
minZ: transformed[key].min(),
|
|
55
|
+
...minMaxXY,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return quadrants;
|
|
59
|
+
};
|
|
60
|
+
if (fnMode[1] === 'QF') {
|
|
61
|
+
return buildQuandrants(['rr', 'ir']);
|
|
62
|
+
}
|
|
63
|
+
return buildQuandrants(['rr', 'ir', 'ri', 'ii']);
|
|
64
|
+
}
|
|
47
65
|
function isApplicable(datum2D) {
|
|
48
66
|
if (datum2D.info.isComplex && datum2D.info.isFid)
|
|
49
67
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fftDimension2.js","sourceRoot":"","sources":["../../../../src/datum/data2d/filter2d/fftDimension2.ts"],"names":[],"mappings":";;;AAGA,uFAGsD;AACtD,iEAAuD;AACvD,+DAA4D;
|
|
1
|
+
{"version":3,"file":"fftDimension2.js","sourceRoot":"","sources":["../../../../src/datum/data2d/filter2d/fftDimension2.ts"],"names":[],"mappings":"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"}
|
package/lib/xyz/quadrature.js
CHANGED
|
@@ -11,8 +11,6 @@ function quadrature(data, options) {
|
|
|
11
11
|
return ttpiQuadrature(data);
|
|
12
12
|
case 'states':
|
|
13
13
|
return shrQuadrature(data);
|
|
14
|
-
case 'echo-antiecho':
|
|
15
|
-
return echoQuadrature(data);
|
|
16
14
|
default:
|
|
17
15
|
return {
|
|
18
16
|
re: data.re.z,
|
|
@@ -21,22 +19,6 @@ function quadrature(data, options) {
|
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
21
|
exports.quadrature = quadrature;
|
|
24
|
-
function echoQuadrature(data) {
|
|
25
|
-
const { re: { z: reMatrix }, im: { z: imMatrix }, } = data;
|
|
26
|
-
const newRe = [];
|
|
27
|
-
const newIm = [];
|
|
28
|
-
for (let i = 0; i < reMatrix.length; i += 2) {
|
|
29
|
-
const reCosine = reMatrix[i];
|
|
30
|
-
const imCosine = imMatrix[i];
|
|
31
|
-
const reSine = reMatrix[i + 1];
|
|
32
|
-
const imSine = imMatrix[i + 1];
|
|
33
|
-
newRe.push((0, ml_spectra_processing_1.xSubtract)((0, ml_spectra_processing_1.xMultiply)(imSine, -1), imCosine));
|
|
34
|
-
newRe.push((0, ml_spectra_processing_1.xSubtract)(reSine, reCosine));
|
|
35
|
-
newIm.push((0, ml_spectra_processing_1.xAdd)(reSine, reCosine));
|
|
36
|
-
newIm.push((0, ml_spectra_processing_1.xSubtract)(imSine, imCosine));
|
|
37
|
-
}
|
|
38
|
-
return { re: newRe, im: newIm };
|
|
39
|
-
}
|
|
40
22
|
function shrQuadrature(data) {
|
|
41
23
|
const { re, im } = data;
|
|
42
24
|
return { re: re.z, im: im.z };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quadrature.js","sourceRoot":"","sources":["../../src/xyz/quadrature.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"quadrature.js","sourceRoot":"","sources":["../../src/xyz/quadrature.ts"],"names":[],"mappings":";;;AACA,iEAAkD;AAElD,gEAAgF;AAEhF,SAAgB,UAAU,CAAC,IAAe,EAAE,OAA2B;IACrE,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC;IAErB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE;QAC5B,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B;YACE,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;aACd,CAAC;KACL;AACH,CAAC;AAhBD,gCAgBC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,MAAM,EACJ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EACnB,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GACpB,GAAG,IAAI,CAAC;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAA,iCAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAA,iCAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KACtE;IAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -20,8 +20,7 @@ function fftDirectDimension(data, options = {}) {
|
|
|
20
20
|
const reFFT = new ml_matrix_1.default(nbRows, nbPointsF2);
|
|
21
21
|
const imFFT = new ml_matrix_1.default(nbRows, nbPointsF2);
|
|
22
22
|
const { apodization: apodizationF2, phaseCorrection = {} } = options;
|
|
23
|
-
|
|
24
|
-
const { mode: pcModeF2 = 'no' } = phaseCorrection;
|
|
23
|
+
const { ph0: ph0F2, ph1: ph1F2, mode: pcModeF2 = 'no' } = phaseCorrection;
|
|
25
24
|
for (let i = 0; i < nbRows; i++) {
|
|
26
25
|
const newData = (0, digitalFilter_1.digitalFilter)({ re: reData[i], im: imData[i] }, { digitalFilterValue });
|
|
27
26
|
Object.assign(newData, (0, removeDCOffset_1.removeDCOffset)(newData, { digitalFilterValue }));
|
|
@@ -35,14 +34,6 @@ function fftDirectDimension(data, options = {}) {
|
|
|
35
34
|
if (dfResidual > 0) {
|
|
36
35
|
Object.assign(newData, (0, ml_spectra_processing_1.reimPhaseCorrection)(newData, 0, -dfResidual));
|
|
37
36
|
}
|
|
38
|
-
if (i === 0 &&
|
|
39
|
-
pcModeF2 === 'pk' &&
|
|
40
|
-
ph0F2 === undefined &&
|
|
41
|
-
ph1F2 === undefined) {
|
|
42
|
-
const phased = (0, ml_spectra_processing_1.reimAutoPhaseCorrection)(newData, { magnitudeMode: false });
|
|
43
|
-
ph0F2 = phased.ph0;
|
|
44
|
-
ph1F2 = phased.ph1;
|
|
45
|
-
}
|
|
46
37
|
if (pcModeF2 === 'pk' && ph0F2 !== undefined && ph1F2 !== undefined) {
|
|
47
38
|
Object.assign(newData, (0, ml_spectra_processing_1.reimPhaseCorrection)(newData, (ph0F2 * Math.PI) / 180, (ph1F2 * Math.PI) / 180));
|
|
48
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fftDirectDimension.js","sourceRoot":"","sources":["../../../../src/xyz/util/fft2d/fftDirectDimension.ts"],"names":[],"mappings":";;;;;;AACA,0DAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"fftDirectDimension.js","sourceRoot":"","sources":["../../../../src/xyz/util/fft2d/fftDirectDimension.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ interface PhaseCorrection {
|
|
|
9
9
|
}
|
|
10
10
|
export interface IndirectDimensionOptions {
|
|
11
11
|
fnMode?: string;
|
|
12
|
+
reverse?: boolean;
|
|
12
13
|
zeroFilling?: ZeroFillingOptions;
|
|
13
14
|
apodization?: ApodizationFilterOptions;
|
|
14
15
|
phaseCorrection?: PhaseCorrection;
|
|
@@ -16,8 +17,5 @@ export interface IndirectDimensionOptions {
|
|
|
16
17
|
export declare function fftIndirectDimension(data: {
|
|
17
18
|
re: DoubleArray[] | Matrix;
|
|
18
19
|
im: DoubleArray[] | Matrix;
|
|
19
|
-
}, options: IndirectDimensionOptions):
|
|
20
|
-
re: Matrix;
|
|
21
|
-
im: Matrix;
|
|
22
|
-
};
|
|
20
|
+
}, options: IndirectDimensionOptions): Record<string, Matrix>;
|
|
23
21
|
export {};
|
|
@@ -9,64 +9,117 @@ const ml_spectra_processing_1 = require("ml-spectra-processing");
|
|
|
9
9
|
const apodization_1 = require("../../../apodization/apodization");
|
|
10
10
|
const zeroFilling_1 = require("./zeroFilling");
|
|
11
11
|
function fftIndirectDimension(data, options) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
12
|
+
const newData = {
|
|
13
|
+
re: ml_matrix_1.default.checkMatrix(data.re),
|
|
14
|
+
im: ml_matrix_1.default.checkMatrix(data.im),
|
|
15
|
+
};
|
|
16
|
+
const nbRows = newData.re.rows;
|
|
17
|
+
const nbColumns = newData.re.columns;
|
|
18
|
+
const { zeroFilling: zeroFillingF1, reverse } = options;
|
|
17
19
|
const { factor: f1Factor = 2 } = zeroFillingF1 || {};
|
|
18
|
-
const
|
|
19
|
-
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
20
|
+
const nbPoints = zeroFillingF1?.nbPoints || 2 ** Math.round(Math.log2(nbRows * f1Factor));
|
|
21
|
+
const { fnMode } = options;
|
|
22
|
+
const newOptions = {
|
|
23
|
+
...options,
|
|
24
|
+
zeroFilling: { ...zeroFillingF1, nbPoints },
|
|
25
|
+
};
|
|
26
|
+
const quadrants = {};
|
|
27
|
+
if (fnMode === 'QF') {
|
|
28
|
+
const reResult = new ml_matrix_1.default(nbPoints, nbColumns);
|
|
29
|
+
const imResult = new ml_matrix_1.default(nbPoints, nbColumns);
|
|
30
|
+
for (let i = 0; i < nbColumns; i++) {
|
|
31
|
+
const data = {
|
|
32
|
+
re: newData.re.getColumn(i),
|
|
33
|
+
im: reverse
|
|
34
|
+
? newData.im.getColumn(i)
|
|
35
|
+
: (0, ml_spectra_processing_1.xMultiply)(newData.im.getColumn(i), -1),
|
|
36
|
+
};
|
|
37
|
+
const { re, im } = applyFFT(data, newOptions);
|
|
38
|
+
reResult.setColumn(i, re);
|
|
39
|
+
imResult.setColumn(i, im);
|
|
36
40
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
quadrants.rr = reResult;
|
|
42
|
+
quadrants.ir = imResult;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// four quadrant processing
|
|
46
|
+
for (const current in newData) {
|
|
47
|
+
const reResult = new ml_matrix_1.default(nbPoints, nbColumns);
|
|
48
|
+
const imResult = new ml_matrix_1.default(nbPoints, nbColumns);
|
|
49
|
+
for (let i = 0; i < nbColumns; i++) {
|
|
50
|
+
const data = getColumnFrom(newData[current], { fnMode, index: i });
|
|
51
|
+
const { re, im } = applyFFT(data, newOptions);
|
|
52
|
+
reResult.setColumn(i, re);
|
|
53
|
+
imResult.setColumn(i, im);
|
|
41
54
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
im: newIm,
|
|
46
|
-
}, { digitalFilterValue: 0, nbPoints: nbPointsF1 }), { applyZeroShift: true });
|
|
47
|
-
let { re, im } = transformed;
|
|
48
|
-
if (options.phaseCorrection?.mode === 'mc') {
|
|
49
|
-
re = (0, ml_spectra_processing_1.reimAbsolute)({ re, im });
|
|
50
|
-
im = new Float64Array(im.length);
|
|
51
|
-
}
|
|
52
|
-
if (pcModeF1 === 'pk') {
|
|
53
|
-
if (i === 0 && ph0F1 === undefined && ph1F1 === undefined) {
|
|
54
|
-
//here we can improve it by checking if the experiment is phase sensitive.
|
|
55
|
-
const phased = (0, ml_spectra_processing_1.reimAutoPhaseCorrection)({ re, im }, { magnitudeMode: false });
|
|
56
|
-
ph0F1 = phased.ph0;
|
|
57
|
-
ph1F1 = phased.ph1;
|
|
55
|
+
if (current === 're') {
|
|
56
|
+
quadrants.rr = reResult;
|
|
57
|
+
quadrants.ir = imResult;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
else {
|
|
60
|
+
quadrants.ri = reResult;
|
|
61
|
+
quadrants.ii = imResult;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
reResult.setColumn(i, re);
|
|
64
|
-
imResult.setColumn(i, im);
|
|
65
64
|
}
|
|
66
|
-
return
|
|
67
|
-
re: reResult,
|
|
68
|
-
im: imResult,
|
|
69
|
-
};
|
|
65
|
+
return quadrants;
|
|
70
66
|
}
|
|
71
67
|
exports.fftIndirectDimension = fftIndirectDimension;
|
|
68
|
+
function applyFFT(data, options) {
|
|
69
|
+
const { fnMode, apodization: apodizationF1, zeroFilling: zeroFillingF1 = {}, phaseCorrection = {}, } = options;
|
|
70
|
+
const { re, im } = (0, apodization_1.apodization)(data, apodizationF1);
|
|
71
|
+
const { nbPoints = 0 } = zeroFillingF1;
|
|
72
|
+
const transformed = (0, ml_spectra_processing_1.reimFFT)((0, zeroFilling_1.zeroFilling)({ re, im }, { nbPoints }), {
|
|
73
|
+
applyZeroShift: !['SEQ', 'TPPI'].some((k) => fnMode === k),
|
|
74
|
+
});
|
|
75
|
+
if (options.phaseCorrection?.mode === 'mc') {
|
|
76
|
+
Object.assign(transformed, {
|
|
77
|
+
re: (0, ml_spectra_processing_1.reimAbsolute)(transformed),
|
|
78
|
+
im: new Float64Array(nbPoints),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const { mode: pcModeF1, ph0: ph0F1, ph1: ph1F1 } = phaseCorrection;
|
|
82
|
+
if (pcModeF1 === 'pk' && ph0F1 !== undefined && ph1F1 !== undefined) {
|
|
83
|
+
Object.assign(transformed, (0, ml_spectra_processing_1.reimPhaseCorrection)(transformed, (ph0F1 * Math.PI) / 180, (ph1F1 * Math.PI) / 180));
|
|
84
|
+
}
|
|
85
|
+
return transformed;
|
|
86
|
+
}
|
|
87
|
+
function getColumnFrom(data, info) {
|
|
88
|
+
const { fnMode, index } = info;
|
|
89
|
+
const reverse = info.reverse || fnMode === 'QF';
|
|
90
|
+
const nbPoints = data.rows / 2;
|
|
91
|
+
const re = new Float64Array(nbPoints);
|
|
92
|
+
const im = new Float64Array(nbPoints);
|
|
93
|
+
switch (fnMode?.toLocaleLowerCase()) {
|
|
94
|
+
// case 'states':
|
|
95
|
+
// case 'echo-antiecho':
|
|
96
|
+
case 'seq':
|
|
97
|
+
case 'tppi':
|
|
98
|
+
return {
|
|
99
|
+
re: data.getColumn(index),
|
|
100
|
+
im: new Float64Array(data.rows),
|
|
101
|
+
};
|
|
102
|
+
default:
|
|
103
|
+
if (reverse) {
|
|
104
|
+
for (let i = 0; i < nbPoints; i++) {
|
|
105
|
+
re[i] = data.get(2 * i, index);
|
|
106
|
+
im[i] = -data.get(2 * i + 1, index);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
for (let i = 0; i < nbPoints; i++) {
|
|
111
|
+
re[i] = data.get(2 * i, index);
|
|
112
|
+
im[i] = data.get(2 * i + 1, index);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (fnMode === 'states-ttpi') {
|
|
117
|
+
//it is to convert to the equivalent of states
|
|
118
|
+
for (let i = 0; i < nbPoints; i += 2) {
|
|
119
|
+
re[i] *= -1;
|
|
120
|
+
im[i] *= -1;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return { re, im };
|
|
124
|
+
}
|
|
72
125
|
//# sourceMappingURL=fftIndirectDimension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fftIndirectDimension.js","sourceRoot":"","sources":["../../../../src/xyz/util/fft2d/fftIndirectDimension.ts"],"names":[],"mappings":";;;;;;AACA,0DAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"fftIndirectDimension.js","sourceRoot":"","sources":["../../../../src/xyz/util/fft2d/fftIndirectDimension.ts"],"names":[],"mappings":";;;;;;AACA,0DAA+B;AAC/B,iEAM+B;AAE/B,kEAG0C;AAE1C,+CAAgE;AAgBhE,SAAgB,oBAAoB,CAClC,IAAgE,EAChE,OAAiC;IAEjC,MAAM,OAAO,GAA2B;QACtC,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;KAChC,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IAErC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAErD,MAAM,QAAQ,GACZ,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,MAAM,UAAU,GAA6B;QAC3C,GAAG,OAAO;QACV,WAAW,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE;KAC5C,CAAC;IACF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,mBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,mBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3B,EAAE,EAAE,OAAO;oBACT,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBACzB,CAAC,CAAC,IAAA,iCAAS,EAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C,CAAC;YACF,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3B;QACD,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;QACxB,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;KACzB;SAAM;QACL,2BAA2B;QAC3B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,mBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,mBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9C,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC3B;YACD,IAAI,OAAO,KAAK,IAAI,EAAE;gBACpB,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;gBACxB,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;aACzB;iBAAM;gBACL,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;gBACxB,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;aACzB;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AA7DD,oDA6DC;AAED,SAAS,QAAQ,CAAC,IAAc,EAAE,OAAiC;IACjE,MAAM,EACJ,MAAM,EACN,WAAW,EAAE,aAAa,EAC1B,WAAW,EAAE,aAAa,GAAG,EAAE,EAC/B,eAAe,GAAG,EAAE,GACrB,GAAG,OAAO,CAAC;IAEZ,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,WAAW,GAAG,IAAA,+BAAO,EAAC,IAAA,yBAAW,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;QACjE,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;KAC3D,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACzB,EAAE,EAAE,IAAA,oCAAY,EAAC,WAAW,CAAC;YAC7B,EAAE,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;IACnE,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;QACnE,MAAM,CAAC,MAAM,CACX,WAAW,EACX,IAAA,2CAAmB,EACjB,WAAW,EACX,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,EACvB,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CACxB,CACF,CAAC;KACH;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,IAA2D;IAE3D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,IAAI,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEtC,QAAQ,MAAM,EAAE,iBAAiB,EAAE,EAAE;QACnC,iBAAiB;QACjB,wBAAwB;QACxB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACzB,EAAE,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aAChC,CAAC;QACJ;YACE,IAAI,OAAO,EAAE;gBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACjC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;iBACrC;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACjC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;iBACpC;aACF;KACJ;IAED,IAAI,MAAM,KAAK,aAAa,EAAE;QAC5B,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;YACpC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACb;KACF;IAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -5,9 +5,9 @@ function getMinMaxXY(info) {
|
|
|
5
5
|
const min = [];
|
|
6
6
|
const max = [];
|
|
7
7
|
for (let i = 0; i < info.baseFrequency.length; i++) {
|
|
8
|
-
const baseFrequency =
|
|
9
|
-
const frequencyOffset =
|
|
10
|
-
const spectralWidth =
|
|
8
|
+
const baseFrequency = info.baseFrequency[i];
|
|
9
|
+
const frequencyOffset = info.frequencyOffset[i];
|
|
10
|
+
const spectralWidth = info.spectralWidth[i];
|
|
11
11
|
const offset = frequencyOffset / baseFrequency;
|
|
12
12
|
min.push(offset - spectralWidth * 0.5);
|
|
13
13
|
max.push(offset + spectralWidth * 0.5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMinMaxXY.js","sourceRoot":"","sources":["../../../src/xyz/util/getMinMaxXY.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"getMinMaxXY.js","sourceRoot":"","sources":["../../../src/xyz/util/getMinMaxXY.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,IAAyB;IACnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC;KACxC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;KACb,CAAC;AACJ,CAAC;AAlBD,kCAkBC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NmrData2DFt } from 'cheminfo-types';
|
|
2
|
+
import { PhaseCorrectionOptions } from '../../xyzPhaseCorrectionDirectDimension';
|
|
3
|
+
export declare function applyOverImag<T extends NmrData2DFt>(data: T, options: PhaseCorrectionOptions): T & {
|
|
4
|
+
ri: {
|
|
5
|
+
z: Float64Array[];
|
|
6
|
+
maxZ: number;
|
|
7
|
+
minZ: number;
|
|
8
|
+
minY: number;
|
|
9
|
+
maxY: number;
|
|
10
|
+
minX: number;
|
|
11
|
+
maxX: number;
|
|
12
|
+
};
|
|
13
|
+
ii: {
|
|
14
|
+
z: Float64Array[];
|
|
15
|
+
maxZ: number;
|
|
16
|
+
minZ: number;
|
|
17
|
+
minY: number;
|
|
18
|
+
maxY: number;
|
|
19
|
+
minX: number;
|
|
20
|
+
maxX: number;
|
|
21
|
+
};
|
|
22
|
+
rr: import("cheminfo-types").NmrData2DContent;
|
|
23
|
+
ir: import("cheminfo-types").NmrData2DContent;
|
|
24
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.applyOverImag = void 0;
|
|
7
|
+
const getZMinMax_1 = require("./getZMinMax");
|
|
8
|
+
const ml_matrix_1 = __importDefault(require("ml-matrix"));
|
|
9
|
+
const checkNmrData2DFourQuad_1 = require("./checkNmrData2DFourQuad");
|
|
10
|
+
function applyOverImag(data, options) {
|
|
11
|
+
(0, checkNmrData2DFourQuad_1.checkNmrData2DFourQuad)(data);
|
|
12
|
+
const { applyPhaseCorrection } = options;
|
|
13
|
+
const { re, im } = applyPhaseCorrection({ re: ml_matrix_1.default.checkMatrix(data.ri.z), im: ml_matrix_1.default.checkMatrix(data.ii.z) }, options);
|
|
14
|
+
return {
|
|
15
|
+
...data,
|
|
16
|
+
ri: {
|
|
17
|
+
...data.ri,
|
|
18
|
+
...(0, getZMinMax_1.getZMinMax)(re),
|
|
19
|
+
},
|
|
20
|
+
ii: {
|
|
21
|
+
...data.ii,
|
|
22
|
+
...(0, getZMinMax_1.getZMinMax)(im),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.applyOverImag = applyOverImag;
|
|
27
|
+
//# sourceMappingURL=applyOverImag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyOverImag.js","sourceRoot":"","sources":["../../../../src/xyz/util/phaseCorrection/applyOverImag.ts"],"names":[],"mappings":";;;;;;AAEA,6CAA0C;AAC1C,0DAA+B;AAC/B,qEAAkE;AAElE,SAAgB,aAAa,CAC3B,IAAO,EACP,OAA+B;IAE/B,IAAA,+CAAsB,EAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,oBAAoB,CACrC,EAAE,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACxE,OAAO,CACR,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,EAAE,EAAE;YACF,GAAG,IAAI,CAAC,EAAE;YACV,GAAG,IAAA,uBAAU,EAAC,EAAE,CAAC;SAClB;QACD,EAAE,EAAE;YACF,GAAG,IAAI,CAAC,EAAE;YACV,GAAG,IAAA,uBAAU,EAAC,EAAE,CAAC;SAClB;KACF,CAAC;AACJ,CAAC;AAtBD,sCAsBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NmrData2DFt } from 'cheminfo-types';
|
|
2
|
+
import { PhaseCorrectionOptions } from '../../xyzPhaseCorrectionDirectDimension';
|
|
3
|
+
export declare function applyOverReal<T extends NmrData2DFt>(data: T, options: PhaseCorrectionOptions): T & {
|
|
4
|
+
rr: {
|
|
5
|
+
z: Float64Array[];
|
|
6
|
+
maxZ: number;
|
|
7
|
+
minZ: number;
|
|
8
|
+
minY: number;
|
|
9
|
+
maxY: number;
|
|
10
|
+
minX: number;
|
|
11
|
+
maxX: number;
|
|
12
|
+
};
|
|
13
|
+
ir: {
|
|
14
|
+
z: Float64Array[];
|
|
15
|
+
maxZ: number;
|
|
16
|
+
minZ: number;
|
|
17
|
+
minY: number;
|
|
18
|
+
maxY: number;
|
|
19
|
+
minX: number;
|
|
20
|
+
maxX: number;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.applyOverReal = void 0;
|
|
7
|
+
const checkNmrData2DTwoQuad_1 = require("./checkNmrData2DTwoQuad");
|
|
8
|
+
const ml_matrix_1 = __importDefault(require("ml-matrix"));
|
|
9
|
+
const getZMinMax_1 = require("./getZMinMax");
|
|
10
|
+
function applyOverReal(data, options) {
|
|
11
|
+
const { applyPhaseCorrection } = options;
|
|
12
|
+
(0, checkNmrData2DTwoQuad_1.checkNmrData2DTwoQuad)(data);
|
|
13
|
+
const { re, im } = applyPhaseCorrection({ re: ml_matrix_1.default.checkMatrix(data.rr.z), im: ml_matrix_1.default.checkMatrix(data.ir.z) }, options);
|
|
14
|
+
return {
|
|
15
|
+
...data,
|
|
16
|
+
rr: {
|
|
17
|
+
...data.rr,
|
|
18
|
+
...(0, getZMinMax_1.getZMinMax)(re),
|
|
19
|
+
},
|
|
20
|
+
ir: {
|
|
21
|
+
...data.ir,
|
|
22
|
+
...(0, getZMinMax_1.getZMinMax)(im),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.applyOverReal = applyOverReal;
|
|
27
|
+
//# sourceMappingURL=applyOverReal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyOverReal.js","sourceRoot":"","sources":["../../../../src/xyz/util/phaseCorrection/applyOverReal.ts"],"names":[],"mappings":";;;;;;AACA,mEAAgE;AAChE,0DAA+B;AAC/B,6CAA0C;AAG1C,SAAgB,aAAa,CAC3B,IAAO,EACP,OAA+B;IAE/B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACzC,IAAA,6CAAqB,EAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,oBAAoB,CACrC,EAAE,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACxE,OAAO,CACR,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,EAAE,EAAE;YACF,GAAG,IAAI,CAAC,EAAE;YACV,GAAG,IAAA,uBAAU,EAAC,EAAE,CAAC;SAClB;QACD,EAAE,EAAE;YACF,GAAG,IAAI,CAAC,EAAE;YACV,GAAG,IAAA,uBAAU,EAAC,EAAE,CAAC;SAClB;KACF,CAAC;AACJ,CAAC;AAtBD,sCAsBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkNmrData2DFourQuad = void 0;
|
|
4
|
+
function checkNmrData2DFourQuad(data) {
|
|
5
|
+
if (!('ir' in data)) {
|
|
6
|
+
throw new Error('four quadrants should has ir, ri and ii quadrants');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.checkNmrData2DFourQuad = checkNmrData2DFourQuad;
|
|
10
|
+
//# sourceMappingURL=checkNmrData2DFourQuad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkNmrData2DFourQuad.js","sourceRoot":"","sources":["../../../../src/xyz/util/phaseCorrection/checkNmrData2DFourQuad.ts"],"names":[],"mappings":";;;AAKA,SAAgB,sBAAsB,CACpC,IAAiB;IAEjB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;AACH,CAAC;AAND,wDAMC"}
|