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.
Files changed (81) hide show
  1. package/lib/constants/degreeToRadians.d.ts +1 -0
  2. package/lib/constants/degreeToRadians.js +5 -0
  3. package/lib/constants/degreeToRadians.js.map +1 -0
  4. package/lib/datum/data2d/filter2d/fftDimension1.js +24 -4
  5. package/lib/datum/data2d/filter2d/fftDimension1.js.map +1 -1
  6. package/lib/datum/data2d/filter2d/fftDimension2.js +29 -11
  7. package/lib/datum/data2d/filter2d/fftDimension2.js.map +1 -1
  8. package/lib/xyz/quadrature.js +0 -18
  9. package/lib/xyz/quadrature.js.map +1 -1
  10. package/lib/xyz/util/fft2d/fftDirectDimension.js +1 -10
  11. package/lib/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  12. package/lib/xyz/util/fft2d/fftIndirectDimension.d.ts +2 -4
  13. package/lib/xyz/util/fft2d/fftIndirectDimension.js +104 -51
  14. package/lib/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
  15. package/lib/xyz/util/getMinMaxXY.d.ts +1 -1
  16. package/lib/xyz/util/getMinMaxXY.js +3 -3
  17. package/lib/xyz/util/getMinMaxXY.js.map +1 -1
  18. package/lib/xyz/util/phaseCorrection/applyOverImag.d.ts +24 -0
  19. package/lib/xyz/util/phaseCorrection/applyOverImag.js +27 -0
  20. package/lib/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
  21. package/lib/xyz/util/phaseCorrection/applyOverReal.d.ts +22 -0
  22. package/lib/xyz/util/phaseCorrection/applyOverReal.js +27 -0
  23. package/lib/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
  24. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.d.ts +3 -0
  25. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +10 -0
  26. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
  27. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.d.ts +3 -0
  28. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +10 -0
  29. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
  30. package/lib/xyz/util/phaseCorrection/getZMinMax.d.ts +6 -0
  31. package/lib/xyz/util/phaseCorrection/getZMinMax.js +13 -0
  32. package/lib/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
  33. package/lib/xyz/xyzPhaseCorrectionDirectDimension.d.ts +16 -0
  34. package/lib/xyz/xyzPhaseCorrectionDirectDimension.js +30 -0
  35. package/lib/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
  36. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.d.ts +25 -0
  37. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js +32 -0
  38. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
  39. package/lib-esm/constants/degreeToRadians.js +2 -0
  40. package/lib-esm/constants/degreeToRadians.js.map +1 -0
  41. package/lib-esm/datum/data2d/filter2d/fftDimension1.js +25 -5
  42. package/lib-esm/datum/data2d/filter2d/fftDimension1.js.map +1 -1
  43. package/lib-esm/datum/data2d/filter2d/fftDimension2.js +29 -11
  44. package/lib-esm/datum/data2d/filter2d/fftDimension2.js.map +1 -1
  45. package/lib-esm/xyz/quadrature.js +1 -19
  46. package/lib-esm/xyz/quadrature.js.map +1 -1
  47. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js +2 -11
  48. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  49. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js +104 -51
  50. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
  51. package/lib-esm/xyz/util/getMinMaxXY.js +3 -3
  52. package/lib-esm/xyz/util/getMinMaxXY.js.map +1 -1
  53. package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js +20 -0
  54. package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
  55. package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js +20 -0
  56. package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
  57. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +6 -0
  58. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
  59. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +6 -0
  60. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
  61. package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js +9 -0
  62. package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
  63. package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js +26 -0
  64. package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
  65. package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js +28 -0
  66. package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
  67. package/package.json +1 -1
  68. package/src/constants/degreeToRadians.ts +1 -0
  69. package/src/datum/data2d/filter2d/fftDimension1.ts +40 -8
  70. package/src/datum/data2d/filter2d/fftDimension2.ts +36 -14
  71. package/src/xyz/quadrature.ts +1 -26
  72. package/src/xyz/util/fft2d/fftDirectDimension.ts +2 -18
  73. package/src/xyz/util/fft2d/fftIndirectDimension.ts +123 -71
  74. package/src/xyz/util/getMinMaxXY.ts +4 -4
  75. package/src/xyz/util/phaseCorrection/applyOverImag.ts +29 -0
  76. package/src/xyz/util/phaseCorrection/applyOverReal.ts +29 -0
  77. package/src/xyz/util/phaseCorrection/checkNmrData2DFourQuad.ts +12 -0
  78. package/src/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.ts +11 -0
  79. package/src/xyz/util/phaseCorrection/getZMinMax.ts +10 -0
  80. package/src/xyz/xyzPhaseCorrectionDirectDimension.ts +52 -0
  81. package/src/xyz/xyzPhaseCorrectionIndirectDimension.ts +45 -0
@@ -0,0 +1 @@
1
+ export declare const degreeToRadians: number;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.degreeToRadians = void 0;
4
+ exports.degreeToRadians = Math.PI / 180;
5
+ //# sourceMappingURL=degreeToRadians.js.map
@@ -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,wDAAqD;AACrD,mFAGoD;AACpD,iEAAuD;AAE1C,QAAA,EAAE,GAAG,eAAe,CAAC;AACrB,QAAA,IAAI,GAAG,iBAAiB,CAAC;AAEzB,QAAA,mBAAmB,GAAsC;IACpE,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,SAAgB,KAAK,CAAC,OAAgB,EAAE,OAA+B;IACrE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IAED,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAExC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,WAAW,GAAG,IAAA,uBAAU,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3C,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;IACnC,MAAM,QAAQ,GACZ,WAAW,EAAE,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,WAAW,EAAE;QAClD,MAAM;QACN,GAAG,OAAO;QACV,kBAAkB;QAClB,WAAW,EAAE,EAAE,QAAQ,EAAE;KAC1B,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,sCAAc,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,sCAAc,CAAC,CAAC;AACrE,CAAC;AA5BD,sBA4BC;AAED,SAAgB,YAAY,CAC1B,OAAgB;IAEhB,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AALD,oCAKC;AAED,SAAgB,MAAM;IACpB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AALD,wBAKC"}
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 = data.re.z.length;
21
- const { factor = 1 } = zeroFilling;
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: data.re.z,
25
- im: data.im.z,
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
- rr: {
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;AAE/C,QAAA,EAAE,GAAG,eAAe,CAAC;AACrB,QAAA,IAAI,GAAG,iBAAiB,CAAC;AAEzB,QAAA,mBAAmB,GAAsC;IACpE,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,SAAgB,KAAK,CAAC,OAAgB,EAAE,OAAiC;IACvE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;IACnC,MAAM,QAAQ,GACZ,WAAW,EAAE,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,IAAA,2CAAoB,EACtC;QACE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KACd,EACD;QACE,MAAM;QACN,GAAG,OAAO;QACV,WAAW,EAAE,EAAE,QAAQ,EAAE;KAC1B,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC;IAElC,OAAO,CAAC,IAAoB,GAAG;QAC9B,EAAE,EAAE;YACF,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,sCAAc,CAAC;YACjD,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;YAC1B,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;YAC1B,GAAG,QAAQ;SACZ;KACF,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,IAAI,GAAG;QACb,GAAG,OAAO;QACV,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAvCD,sBAuCC;AAED,SAAgB,YAAY,CAC1B,OAAgB;IAEhB,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AALD,oCAKC;AAED,SAAgB,MAAM;IACpB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AALD,wBAKC"}
1
+ {"version":3,"file":"fftDimension2.js","sourceRoot":"","sources":["../../../../src/datum/data2d/filter2d/fftDimension2.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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
- let { ph0: ph0F2, ph1: ph1F2 } = phaseCorrection;
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":"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"}
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 reData = ml_matrix_1.default.checkMatrix(data.re);
13
- const imData = ml_matrix_1.default.checkMatrix(data.im);
14
- const nbRows = reData.rows;
15
- const nbColumns = reData.columns;
16
- const { zeroFilling: zeroFillingF1 } = options;
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 nbPointsF1 = zeroFillingF1?.nbPoints || 2 ** Math.round(Math.log2(nbRows * f1Factor));
19
- const { apodization: apodizationF1, phaseCorrection = {} } = options;
20
- let { ph0: ph0F1, ph1: ph1F1 } = phaseCorrection;
21
- const pcModeF1 = phaseCorrection.mode;
22
- const reResult = new ml_matrix_1.default(nbPointsF1, nbColumns);
23
- const imResult = new ml_matrix_1.default(nbPointsF1, nbColumns);
24
- for (let i = 0; i < nbColumns; i++) {
25
- const { re: aRe, im: aIm } = (0, apodization_1.apodization)({
26
- re: reData.getColumn(i),
27
- im: imData.getColumn(i),
28
- }, apodizationF1);
29
- const newRe = [];
30
- const newIm = [];
31
- if (options.fnMode?.toLowerCase() === 'echo-antiecho') {
32
- for (let j = 0; j < aRe.length; j += 2) {
33
- newRe.push(aRe[j]);
34
- newIm.push(aRe[j + 1]);
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
- else {
38
- for (let j = 0; j < aRe.length; j++) {
39
- newRe.push(aRe[j]);
40
- newIm.push(-aIm[j]);
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
- const transformed = (0, ml_spectra_processing_1.reimFFT)((0, zeroFilling_1.zeroFilling)({
44
- re: newRe,
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
- if (ph0F1 !== undefined && ph1F1 !== undefined) {
60
- Object.assign(transformed, (0, ml_spectra_processing_1.reimPhaseCorrection)(transformed, (ph0F1 * Math.PI) / 180, (ph1F1 * Math.PI) / 180));
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":"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"}
1
+ {"version":3,"file":"fftIndirectDimension.js","sourceRoot":"","sources":["../../../../src/xyz/util/fft2d/fftIndirectDimension.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare function getMinMaxXY(info: any): {
1
+ export declare function getMinMaxXY(info: Record<string, any>): {
2
2
  minX: number;
3
3
  maxX: number;
4
4
  minY: number;
@@ -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 = Number.parseFloat(info.baseFrequency[i]);
9
- const frequencyOffset = Number.parseFloat(info.frequencyOffset[i]);
10
- const spectralWidth = Number.parseFloat(info.spectralWidth[i]);
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,IAAS;IACnC,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,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,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"}
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,3 @@
1
+ import { NmrData2DFt } from 'cheminfo-types';
2
+ export type NmrData2DFourQuadrant = Required<Pick<NmrData2DFt, 'rr' | 'ir' | 'ri' | 'ii'>>;
3
+ export declare function checkNmrData2DFourQuad(data: NmrData2DFt): asserts data is NmrData2DFourQuadrant;
@@ -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"}
@@ -0,0 +1,3 @@
1
+ import { NmrData2DFt } from 'cheminfo-types';
2
+ export type NmrData2DTwoQuadrant = Required<Pick<NmrData2DFt, 'rr' | 'ir'>>;
3
+ export declare function checkNmrData2DTwoQuad(data: NmrData2DFt): asserts data is NmrData2DTwoQuadrant;