nmr-processing 8.7.2 → 9.0.2

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 (78) hide show
  1. package/lib/peaks/peakToXY.d.ts +3 -3
  2. package/lib/peaks/peakToXY.js +1 -1
  3. package/lib/peaks/peakToXY.js.map +1 -1
  4. package/lib/peaks/peaksToRanges.d.ts +1 -1
  5. package/lib/peaks/peaksToRanges.js +14 -16
  6. package/lib/peaks/peaksToRanges.js.map +1 -1
  7. package/lib/peaks/peaksToXY.d.ts +21 -2
  8. package/lib/peaks/peaksToXY.js +22 -5
  9. package/lib/peaks/peaksToXY.js.map +1 -1
  10. package/lib/peaks/util/convertWidth.d.ts +14 -0
  11. package/lib/peaks/util/convertWidth.js +34 -0
  12. package/lib/peaks/util/convertWidth.js.map +1 -0
  13. package/lib/peaks/util/convertWidthToHz.d.ts +4 -0
  14. package/lib/peaks/util/convertWidthToHz.js +9 -0
  15. package/lib/peaks/util/convertWidthToHz.js.map +1 -0
  16. package/lib/peaks/util/convertWidthToPPM.d.ts +3 -0
  17. package/lib/peaks/util/convertWidthToPPM.js +9 -0
  18. package/lib/peaks/util/convertWidthToPPM.js.map +1 -0
  19. package/lib/{peaks/util → ranges/utils}/joinRanges.d.ts +0 -0
  20. package/lib/{peaks/util → ranges/utils}/joinRanges.js +0 -0
  21. package/lib/ranges/utils/joinRanges.js.map +1 -0
  22. package/lib/{peaks/util → signals/utils}/jAnalyzer.d.ts +1 -1
  23. package/lib/{peaks/util → signals/utils}/jAnalyzer.js +2 -1
  24. package/lib/signals/utils/jAnalyzer.js.map +1 -0
  25. package/lib/xy/xyAutoPeaksPicking.d.ts +9 -1
  26. package/lib/xy/xyAutoPeaksPicking.js +9 -8
  27. package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
  28. package/lib/xy/xyAutoRangesPicking.d.ts +2 -2
  29. package/lib/xy/xyAutoRangesPicking.js +1 -1
  30. package/lib/xy/xyAutoRangesPicking.js.map +1 -1
  31. package/lib/xy/xyPeaksOptimization.d.ts +7 -1
  32. package/lib/xy/xyPeaksOptimization.js +9 -1
  33. package/lib/xy/xyPeaksOptimization.js.map +1 -1
  34. package/lib/xyz/xyzJResAnalyzer.d.ts +1 -1
  35. package/lib/xyz/xyzJResAnalyzer.js +3 -2
  36. package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
  37. package/lib-esm/peaks/peakToXY.js +1 -1
  38. package/lib-esm/peaks/peakToXY.js.map +1 -1
  39. package/lib-esm/peaks/peaksToRanges.js +14 -16
  40. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  41. package/lib-esm/peaks/peaksToXY.js +22 -5
  42. package/lib-esm/peaks/peaksToXY.js.map +1 -1
  43. package/lib-esm/peaks/util/convertWidth.js +30 -0
  44. package/lib-esm/peaks/util/convertWidth.js.map +1 -0
  45. package/lib-esm/peaks/util/convertWidthToHz.js +5 -0
  46. package/lib-esm/peaks/util/convertWidthToHz.js.map +1 -0
  47. package/lib-esm/peaks/util/convertWidthToPPM.js +5 -0
  48. package/lib-esm/peaks/util/convertWidthToPPM.js.map +1 -0
  49. package/lib-esm/{peaks/util → ranges/utils}/joinRanges.js +0 -0
  50. package/lib-esm/ranges/utils/joinRanges.js.map +1 -0
  51. package/lib-esm/{peaks/util → signals/utils}/jAnalyzer.js +2 -1
  52. package/lib-esm/signals/utils/jAnalyzer.js.map +1 -0
  53. package/lib-esm/xy/xyAutoPeaksPicking.js +9 -8
  54. package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
  55. package/lib-esm/xy/xyAutoRangesPicking.js +1 -1
  56. package/lib-esm/xy/xyAutoRangesPicking.js.map +1 -1
  57. package/lib-esm/xy/xyPeaksOptimization.js +9 -1
  58. package/lib-esm/xy/xyPeaksOptimization.js.map +1 -1
  59. package/lib-esm/xyz/xyzJResAnalyzer.js +3 -2
  60. package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/peaks/peakToXY.ts +3 -5
  63. package/src/peaks/peaksToRanges.ts +15 -19
  64. package/src/peaks/peaksToXY.ts +53 -6
  65. package/src/peaks/util/convertWidth.ts +47 -0
  66. package/src/peaks/util/convertWidthToHz.ts +9 -0
  67. package/src/peaks/util/convertWidthToPPM.ts +8 -0
  68. package/src/ranges/markSolventSignal.ts +1 -1
  69. package/src/{peaks/util → ranges/utils}/joinRanges.ts +0 -0
  70. package/src/{peaks/util → signals/utils}/jAnalyzer.ts +3 -2
  71. package/src/xy/xyAutoPeaksPicking.ts +23 -10
  72. package/src/xy/xyAutoRangesPicking.ts +2 -2
  73. package/src/xy/xyPeaksOptimization.ts +17 -2
  74. package/src/xyz/xyzJResAnalyzer.ts +4 -3
  75. package/lib/peaks/util/jAnalyzer.js.map +0 -1
  76. package/lib/peaks/util/joinRanges.js.map +0 -1
  77. package/lib-esm/peaks/util/jAnalyzer.js.map +0 -1
  78. package/lib-esm/peaks/util/joinRanges.js.map +0 -1
@@ -1,3 +1,3 @@
1
- import { PeakXYWidth } from 'cheminfo-types';
2
- import { OptionsSG1D } from 'spectrum-generator';
3
- export declare function peakToXY(peak: PeakXYWidth, options?: OptionsSG1D): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
1
+ import { NMRPeak1D } from './NMRPeak1D';
2
+ import { PeaksToXYOptions } from './peaksToXY';
3
+ export declare function peakToXY(peak: NMRPeak1D, options: PeaksToXYOptions): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.peakToXY = void 0;
4
4
  const peaksToXY_1 = require("./peaksToXY");
5
- function peakToXY(peak, options = {}) {
5
+ function peakToXY(peak, options) {
6
6
  return (0, peaksToXY_1.peaksToXY)([peak], options);
7
7
  }
8
8
  exports.peakToXY = peakToXY;
@@ -1 +1 @@
1
- {"version":3,"file":"peakToXY.js","sourceRoot":"","sources":["../../src/peaks/peakToXY.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,SAAgB,QAAQ,CAAC,IAAiB,EAAE,UAAuB,EAAE;IACnE,OAAO,IAAA,qBAAS,EAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"peakToXY.js","sourceRoot":"","sources":["../../src/peaks/peakToXY.ts"],"names":[],"mappings":";;;AACA,2CAA0D;AAE1D,SAAgB,QAAQ,CAAC,IAAe,EAAE,OAAyB;IACjE,OAAO,IAAA,qBAAS,EAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAFD,4BAEC"}
@@ -1,7 +1,7 @@
1
1
  import type { DataXY } from 'cheminfo-types';
2
+ import type { SignalIntern } from '../signals/utils/jAnalyzer';
2
3
  import type { NMRRange } from '../xy/NMRRange';
3
4
  import type { NMRPeak1D } from './NMRPeak1D';
4
- import type { SignalIntern } from './util/jAnalyzer';
5
5
  export interface OptionsPeaksToRanges {
6
6
  /**
7
7
  * Number of hydrogens or some number to normalize the integration data. If it's zero return the absolute integration value
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.detectSignals = exports.peaksToRanges = void 0;
7
7
  const ml_spectra_processing_1 = require("ml-spectra-processing");
8
- const jAnalyzer_1 = __importDefault(require("./util/jAnalyzer"));
9
- const joinRanges_1 = require("./util/joinRanges");
8
+ const joinRanges_1 = require("../ranges/utils/joinRanges");
9
+ const jAnalyzer_1 = __importDefault(require("../signals/utils/jAnalyzer"));
10
10
  function checkSignalAfterCompilePattern(signal) {
11
11
  // if (!signal.symRank)
12
12
  // throw new Error('Internal error, symRank was not calculated');
@@ -23,13 +23,13 @@ const assignSignal = (peak, frequency, nucleus) => {
23
23
  delta: NaN,
24
24
  nbPeaks: 1,
25
25
  kind: 'signal',
26
- startX: peak.x - peak.width,
27
- stopX: peak.x + peak.width,
26
+ startX: peak.x - peak.width / frequency,
27
+ stopX: peak.x + peak.width / frequency,
28
28
  observe: frequency,
29
29
  nucleus,
30
30
  integralData: {
31
- from: peak.x - peak.width * 3,
32
- to: peak.x + peak.width * 3,
31
+ from: peak.x - (peak.width * 3) / frequency,
32
+ to: peak.x + (peak.width * 3) / frequency,
33
33
  value: 0,
34
34
  },
35
35
  peaks: [
@@ -81,7 +81,7 @@ function peaksToRanges(data, peakList, options = {}) {
81
81
  sum = 0;
82
82
  let peaksO = [];
83
83
  for (let j = signal.maskPattern.length - 1; j >= 0; j--) {
84
- sum += computeArea(signal.peaks[j]);
84
+ sum += computeArea(signal.peaks[j], frequency);
85
85
  if (!signal.maskPattern[j]) {
86
86
  let peakR = signal.peaks.splice(j, 1)[0];
87
87
  peaksO.push({
@@ -93,7 +93,7 @@ function peaksToRanges(data, peakList, options = {}) {
93
93
  signal.mask2.splice(j, 1);
94
94
  signal.maskPattern.splice(j, 1);
95
95
  signal.nbPeaks--;
96
- nHi += computeArea(peakR);
96
+ nHi += computeArea(peakR, frequency);
97
97
  }
98
98
  }
99
99
  if (peaksO.length > 0) {
@@ -199,7 +199,7 @@ function detectSignals(data, peakList, options = {}) {
199
199
  signals.push(signal1D);
200
200
  }
201
201
  else {
202
- let tmp = peak.x + peak.width;
202
+ let tmp = peak.x + peak.width / frequency;
203
203
  signal1D.stopX = Math.max(signal1D.stopX, tmp);
204
204
  signal1D.startX = Math.min(signal1D.startX, tmp);
205
205
  signal1D.nbPeaks++;
@@ -208,8 +208,8 @@ function detectSignals(data, peakList, options = {}) {
208
208
  intensity: peak.y,
209
209
  width: peak.width,
210
210
  });
211
- signal1D.integralData.from = Math.min(signal1D.integralData.from, peak.x - peak.width * 3);
212
- signal1D.integralData.to = Math.max(signal1D.integralData.to, peak.x + peak.width * 3);
211
+ signal1D.integralData.from = Math.min(signal1D.integralData.from, peak.x - (peak.width * 3) / frequency);
212
+ signal1D.integralData.to = Math.max(signal1D.integralData.to, peak.x + (peak.width * 3) / frequency);
213
213
  if (peak.kind)
214
214
  signal1D.kind = peak.kind;
215
215
  }
@@ -221,7 +221,7 @@ function detectSignals(data, peakList, options = {}) {
221
221
  let chemicalShift = 0;
222
222
  let integralPeaks = 0;
223
223
  for (const peak of peaks) {
224
- let area = computeArea(peak);
224
+ let area = computeArea(peak, frequency);
225
225
  chemicalShift += peak.x * area;
226
226
  integralPeaks += area;
227
227
  }
@@ -249,11 +249,9 @@ function detectSignals(data, peakList, options = {}) {
249
249
  exports.detectSignals = detectSignals;
250
250
  /**
251
251
  * Return the area of a Lorentzian function
252
- * @param {object} peak - object with peak information
253
- * @return {Number}
254
252
  * @private
255
253
  */
256
- function computeArea(peak) {
257
- return Math.abs(peak.intensity * peak.width * 1.57); // todo add an option with this value: 1.772453851
254
+ function computeArea(peak, frequency) {
255
+ return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
258
256
  }
259
257
  //# sourceMappingURL=peaksToRanges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":";;;;;;AACA,iEAAsD;AAOtD,iEAAyC;AAEzC,kDAA+C;AAgE/C,SAAS,8BAA8B,CACrC,MAAoB;IAEpB,uBAAuB;IACvB,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CACnB,IAAqB,EACrB,SAAiB,EACjB,OAAe,EACD,EAAE;IAChB,OAAO;QACL,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QAC3B,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QAC1B,OAAO,EAAE,SAAS;QAClB,OAAO;QACP,YAAY,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAC7B,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAC3B,KAAK,EAAE,CAAC;SACT;QACD,KAAK,EAAE;YACL;gBACE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AACF;;GAEG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,iBAAiB,GAAG,IAAI,EACxB,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,IAAI,EACd,YAAY,GAAG,KAAK,EACpB,SAAS,GAAG,GAAG,EACf,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,aAAa,GAAG;QAClB,cAAc;QACd,YAAY;QACZ,gBAAgB;QAChB,SAAS;QACT,OAAO;KACR,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3B;IAED,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE3D,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IAED,IAAI,OAAO,EAAE;QACX,IAAI,GAAG,EAAE,GAAG,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IACE,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,YAAY,KAAK,GAAG;gBAC3B,MAAM,CAAC,YAAY,KAAK,EAAE,EAC1B;gBACA,8BAA8B,CAAC,MAAM,CAAC,CAAC;gBACvC,6CAA6C;gBAC7C,GAAG,GAAG,CAAC,CAAC;gBACR,GAAG,GAAG,CAAC,CAAC;gBACR,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvD,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;wBAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,SAAS;4BAClB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;qBAC3B;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;oBAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,CAAC;oBACjC,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxB;oBACD,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACrB;iBACF;aACF;SACF;QACD,qCAAqC;QACrC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,WAAW,KAAK,cAAc,EAAE;YAClC,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,WAAW,CAAC;aAC1C;SACF;KACF;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IAED,IAAI,MAAM,GAAe,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAa;YACtB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;YAC9B,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;YAC1B,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;SACvC,CAAC;QACF,MAAM,YAAY,GAAgB;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;SACvC,CAAC;QACF,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAQ;oBACrB,CAAC,EAAE,IAAI,CAAC,SAAS;oBACjB,GAAG,IAAI;iBACR,CAAC;gBACF,OAAO,SAAS,CAAC,SAAS,CAAC;gBAC3B,OAAO,SAAsB,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;SAChC;QAED,KAAK,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;KACnB;IAED,IAAI,iBAAiB;QAAE,MAAM,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AArJD,sCAqJC;AAED;;;;;;;;;;;;;GAaG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,YAAY,GAAG,KAAK,EACpB,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,GAAG,EACf,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,QAAQ,GAAiB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC;IACV,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,gBAAgB,IAAI,SAAS,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;YACpD,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CACnC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CACxB,CAAC;YACF,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,EACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CACxB,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC1C;QACD,QAAQ,GAAG,IAAI,CAAC;KACjB;IACD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;QAC1B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7B,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/B,aAAa,IAAI,IAAI,CAAC;SACvB;QACD,MAAM,CAAC,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;QAE7C,IAAI,YAAY,KAAK,KAAK,EAAE;YAC1B,WAAW,CAAC,KAAK,GAAG,IAAA,qCAAa,EAAC,IAAI,EAAE;gBACtC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,EAAE,EAAE,WAAW,CAAC,EAAE;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC;SACnC;QACD,gBAAgB,IAAI,WAAW,CAAC,KAAK,CAAC;KACvC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE;QACtB,IAAI,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC;QACvD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YACtC,WAAW,CAAC,KAAK,IAAI,cAAc,CAAC;SACrC;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA/ED,sCA+EC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAkB;IACrC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,kDAAkD;AACzG,CAAC"}
1
+ {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":";;;;;;AACA,iEAAsD;AAEtD,2DAAwD;AAExD,2EAAmD;AAqEnD,SAAS,8BAA8B,CACrC,MAAoB;IAEpB,uBAAuB;IACvB,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CACnB,IAAqB,EACrB,SAAiB,EACjB,OAAe,EACD,EAAE;IAChB,OAAO;QACL,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS;QACvC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS;QACtC,OAAO,EAAE,SAAS;QAClB,OAAO;QACP,YAAY,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS;YAC3C,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS;YACzC,KAAK,EAAE,CAAC;SACT;QACD,KAAK,EAAE;YACL;gBACE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AACF;;GAEG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,iBAAiB,GAAG,IAAI,EACxB,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,IAAI,EACd,YAAY,GAAG,KAAK,EACpB,SAAS,GAAG,GAAG,EACf,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,aAAa,GAAG;QAClB,cAAc;QACd,YAAY;QACZ,gBAAgB;QAChB,SAAS;QACT,OAAO;KACR,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3B;IAED,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IAED,IAAI,OAAO,EAAE;QACX,IAAI,GAAG,EAAE,GAAG,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IACE,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,YAAY,KAAK,GAAG;gBAC3B,MAAM,CAAC,YAAY,KAAK,EAAE,EAC1B;gBACA,8BAA8B,CAAC,MAAM,CAAC,CAAC;gBACvC,6CAA6C;gBAC7C,GAAG,GAAG,CAAC,CAAC;gBACR,GAAG,GAAG,CAAC,CAAC;gBACR,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvD,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;wBAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,SAAS;4BAClB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;qBACtC;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;oBAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,CAAC;oBACjC,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxB;oBACD,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACrB;iBACF;aACF;SACF;QACD,qCAAqC;QACrC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,WAAW,KAAK,cAAc,EAAE;YAClC,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,WAAW,CAAC;aAC1C;SACF;KACF;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IACD,IAAI,MAAM,GAAe,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAa;YACtB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;YAC9B,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;YAC1B,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;SACvC,CAAC;QACF,MAAM,YAAY,GAAgB;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;SACvC,CAAC;QACF,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAQ;oBACrB,CAAC,EAAE,IAAI,CAAC,SAAS;oBACjB,GAAG,IAAI;iBACR,CAAC;gBACF,OAAO,SAAS,CAAC,SAAS,CAAC;gBAC3B,OAAO,SAAsB,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;SAChC;QAED,KAAK,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;KACnB;IAED,IAAI,iBAAiB;QAAE,MAAM,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAnJD,sCAmJC;AAED;;;;;;;;;;;;;GAaG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,YAAY,GAAG,KAAK,EACpB,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,GAAG,EACf,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,QAAQ,GAAiB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC;IACV,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,gBAAgB,IAAI,SAAS,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;YACpD,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1C,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CACnC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CACtC,CAAC;YACF,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,EACxB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CACtC,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC1C;QACD,QAAQ,GAAG,IAAI,CAAC;KACjB;IACD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;QAC1B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxC,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/B,aAAa,IAAI,IAAI,CAAC;SACvB;QACD,MAAM,CAAC,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;QAE7C,IAAI,YAAY,KAAK,KAAK,EAAE;YAC1B,WAAW,CAAC,KAAK,GAAG,IAAA,qCAAa,EAAC,IAAI,EAAE;gBACtC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,EAAE,EAAE,WAAW,CAAC,EAAE;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC;SACnC;QACD,gBAAgB,IAAI,WAAW,CAAC,KAAK,CAAC;KACvC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE;QACtB,IAAI,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC;QACvD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YACtC,WAAW,CAAC,KAAK,IAAI,cAAc,CAAC;SACrC;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA/ED,sCA+EC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAkB,EAAE,SAAiB;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,kDAAkD;AACzH,CAAC"}
@@ -1,3 +1,22 @@
1
- import { PeakXYWidth } from 'cheminfo-types';
2
1
  import { OptionsSG1D } from 'spectrum-generator';
3
- export declare function peaksToXY(peaks: PeakXYWidth[], options?: OptionsSG1D): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
2
+ import { NMRPeak1D } from './NMRPeak1D';
3
+ /**
4
+ * Convert an array of peaks assuming that width/fwhm is in Hz
5
+ */
6
+ export interface PeaksToXYOptions extends OptionsSG1D {
7
+ /**
8
+ * First x value (inclusive).
9
+ * @default `firstPeak.x + firstPeak.width * 3`
10
+ */
11
+ from?: number;
12
+ /**
13
+ * Last x value (inclusive).
14
+ * @default `lastPeak.x + lastPeak.width * 3`
15
+ */
16
+ to?: number;
17
+ /**
18
+ * frequency of the spectrum
19
+ */
20
+ frequency: number;
21
+ }
22
+ export declare function peaksToXY(peaks: NMRPeak1D[], options: PeaksToXYOptions): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
@@ -2,16 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.peaksToXY = void 0;
4
4
  const spectrum_generator_1 = require("spectrum-generator");
5
- function peaksToXY(peaks, options = {}) {
6
- const { from, to, nbPoints = 1024, shape } = options;
7
- return (0, spectrum_generator_1.generateSpectrum)(peaks, {
5
+ const convertWidthToPPM_1 = require("./util/convertWidthToPPM");
6
+ function peaksToXY(peaks, options) {
7
+ const { frequency, nbPoints = 1024, shape } = options;
8
+ const newPeaks = (0, convertWidthToPPM_1.convertWidthToPPM)(peaks, { frequency });
9
+ return (0, spectrum_generator_1.generateSpectrum)(newPeaks, {
8
10
  generator: {
9
- from,
10
- to,
11
+ ...getFromTo(newPeaks, options),
11
12
  nbPoints,
12
13
  shape,
13
14
  },
14
15
  });
15
16
  }
16
17
  exports.peaksToXY = peaksToXY;
18
+ function getFromTo(newPeaks, options) {
19
+ if ('to' in options && 'from' in options) {
20
+ return {
21
+ from: options.from,
22
+ to: options.to,
23
+ };
24
+ }
25
+ newPeaks.sort((a, b) => a.x - b.x);
26
+ const firstPeak = newPeaks[0];
27
+ const lastPeak = newPeaks[newPeaks.length - 1];
28
+ const { from = firstPeak.x - firstPeak.width * 2, to = lastPeak.x + lastPeak.width * 2, } = options;
29
+ return {
30
+ from,
31
+ to,
32
+ };
33
+ }
17
34
  //# sourceMappingURL=peaksToXY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peaksToXY.js","sourceRoot":"","sources":["../../src/peaks/peaksToXY.ts"],"names":[],"mappings":";;;AACA,2DAAmE;AAEnE,SAAgB,SAAS,CAAC,KAAoB,EAAE,UAAuB,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACrD,OAAO,IAAA,qCAAgB,EAAC,KAAK,EAAE;QAC7B,SAAS,EAAE;YACT,IAAI;YACJ,EAAE;YACF,QAAQ;YACR,KAAK;SACN;KACF,CAAC,CAAC;AACL,CAAC;AAVD,8BAUC"}
1
+ {"version":3,"file":"peaksToXY.js","sourceRoot":"","sources":["../../src/peaks/peaksToXY.ts"],"names":[],"mappings":";;;AAAA,2DAAmE;AAGnE,gEAA6D;AAuB7D,SAAgB,SAAS,CAAC,KAAkB,EAAE,OAAyB;IACrE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAA,qCAAgB,EAAC,QAAQ,EAAE;QAChC,SAAS,EAAE;YACT,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC/B,QAAQ;YACR,KAAK;SACN;KACF,CAAC,CAAC;AACL,CAAC;AAXD,8BAWC;AAED,SAAS,SAAS,CAAC,QAAqB,EAAE,OAAyB;IACjE,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,EAAE;QACxC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,CAAC;KACH;IAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,EACJ,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,EACxC,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,GACrC,GAAG,OAAO,CAAC;IAEZ,OAAO;QACL,IAAI;QACJ,EAAE;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { MakeMandatory } from '../../utilities/MakeMandatory';
2
+ import { NMRPeak1D } from '../NMRPeak1D';
3
+ export declare type NMRPeak1DWithShape = MakeMandatory<NMRPeak1D, 'shape'>;
4
+ export interface ConvertWidthOptions {
5
+ convertTo: string & {
6
+ _kind?: 'hz' | 'ppm';
7
+ };
8
+ frequency: number;
9
+ output?: NMRPeak1D[];
10
+ }
11
+ /**
12
+ * convert width and fwhm to ppm
13
+ */
14
+ export declare function convertWidth(peaks: NMRPeak1D[], options: ConvertWidthOptions): any;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertWidth = void 0;
4
+ /**
5
+ * convert width and fwhm to ppm
6
+ */
7
+ function convertWidth(peaks, options) {
8
+ const { frequency, convertTo, output = JSON.parse(JSON.stringify(peaks)), } = options;
9
+ const convert = getConverter(convertTo, frequency);
10
+ for (const peak of output) {
11
+ peak.width = convert(peak.width);
12
+ if (hasShape(peak)) {
13
+ if (peak.shape.fwhm) {
14
+ peak.shape.fwhm = convert(peak.shape.fwhm);
15
+ }
16
+ }
17
+ }
18
+ return output;
19
+ }
20
+ exports.convertWidth = convertWidth;
21
+ function hasShape(peak) {
22
+ return 'shape' in peak;
23
+ }
24
+ function getConverter(convertTo, frequency) {
25
+ switch (convertTo) {
26
+ case 'ppm':
27
+ return (x) => x / frequency;
28
+ case 'hz':
29
+ return (x) => x * frequency;
30
+ default:
31
+ throw new Error(`Does not support convert to ${convertTo}`);
32
+ }
33
+ }
34
+ //# sourceMappingURL=convertWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertWidth.js","sourceRoot":"","sources":["../../../src/peaks/util/convertWidth.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAkB,EAAE,OAA4B;IAC3E,MAAM,EACJ,SAAS,EACT,SAAS,EACT,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAC3C,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5C;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAlBD,oCAkBC;AAED,SAAS,QAAQ,CAAC,IAAe;IAC/B,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,SAAiB;IACxD,QAAQ,SAAS,EAAE;QACjB,KAAK,KAAK;YACR,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;QACtC,KAAK,IAAI;YACP,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;QACtC;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { NMRPeak1D } from '../NMRPeak1D';
2
+ import { ConvertWidthOptions } from './convertWidth';
3
+ export declare type ConvertWidthTo = Omit<ConvertWidthOptions, 'convertTo'>;
4
+ export declare function convertWidthToHz(peaks: NMRPeak1D[], options: ConvertWidthTo): any;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertWidthToHz = void 0;
4
+ const convertWidth_1 = require("./convertWidth");
5
+ function convertWidthToHz(peaks, options) {
6
+ return (0, convertWidth_1.convertWidth)(peaks, { ...options, convertTo: 'hz' });
7
+ }
8
+ exports.convertWidthToHz = convertWidthToHz;
9
+ //# sourceMappingURL=convertWidthToHz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertWidthToHz.js","sourceRoot":"","sources":["../../../src/peaks/util/convertWidthToHz.ts"],"names":[],"mappings":";;;AAEA,iDAAmE;AAInE,SAAgB,gBAAgB,CAAC,KAAkB,EAAE,OAAuB;IAC1E,OAAO,IAAA,2BAAY,EAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,3 @@
1
+ import { NMRPeak1D } from '../NMRPeak1D';
2
+ import { ConvertWidthTo } from './convertWidthToHz';
3
+ export declare function convertWidthToPPM(peaks: NMRPeak1D[], options: ConvertWidthTo): any;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertWidthToPPM = void 0;
4
+ const convertWidth_1 = require("./convertWidth");
5
+ function convertWidthToPPM(peaks, options) {
6
+ return (0, convertWidth_1.convertWidth)(peaks, { ...options, convertTo: 'ppm' });
7
+ }
8
+ exports.convertWidthToPPM = convertWidthToPPM;
9
+ //# sourceMappingURL=convertWidthToPPM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertWidthToPPM.js","sourceRoot":"","sources":["../../../src/peaks/util/convertWidthToPPM.ts"],"names":[],"mappings":";;;AAEA,iDAA8C;AAG9C,SAAgB,iBAAiB,CAAC,KAAkB,EAAE,OAAuB;IAC3E,OAAO,IAAA,2BAAY,EAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAFD,8CAEC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinRanges.js","sourceRoot":"","sources":["../../../src/ranges/utils/joinRanges.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,MAAkB;IAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;YACpC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE;gBAC7C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACvE;YACD,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC1C,YAAY,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;aACxD;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;SACL;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,gCAqBC"}
@@ -1,5 +1,5 @@
1
+ import type { NMRPeak1D } from '../../peaks/NMRPeak1D';
1
2
  import type { MakeMandatory } from '../../utilities/MakeMandatory';
2
- import type { NMRPeak1D } from '../NMRPeak1D';
3
3
  export interface JAxisKeys {
4
4
  [key: string]: string;
5
5
  jAxis: string;
@@ -139,6 +139,7 @@ exports.default = {
139
139
  // Before to return, change the units of peaksComp from Hz to PPM again
140
140
  for (let peakComp of signal.peaksComp) {
141
141
  peakComp.x /= signal.observe;
142
+ peakComp.width *= signal.observe;
142
143
  }
143
144
  return signal;
144
145
  },
@@ -377,7 +378,7 @@ function symmetrize(signalInput, maxError, iteration, key) {
377
378
  peaks[i] = {
378
379
  x: peak[jAxis] * newSignal.observe,
379
380
  intensity: peak[intensity],
380
- width: peak.width,
381
+ width: peak.width / newSignal.observe,
381
382
  };
382
383
  }
383
384
  // Join the peaks that are closer than 0.25 Hz
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jAnalyzer.js","sourceRoot":"","sources":["../../../src/signals/utils/jAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export interface GetPeakListOptions extends GSDOptions, OptimizePeaksOptions, Jo
7
7
  * @default false
8
8
  */
9
9
  optimize: boolean;
10
+ /**
11
+ * frequency used to convert width and fwhm to Hz
12
+ */
13
+ frequency: number;
10
14
  }
11
15
  export interface OptionsXYAutoPeaksPicking extends Partial<GetPeakListOptions> {
12
16
  /**
@@ -32,5 +36,9 @@ export interface OptionsXYAutoPeaksPicking extends Partial<GetPeakListOptions> {
32
36
  * @default false
33
37
  */
34
38
  useSanPlot?: boolean;
39
+ /**
40
+ * frequency used to convert width and fwhm to Hz
41
+ */
42
+ frequency: number;
35
43
  }
36
- export declare function xyAutoPeaksPicking(data: DataXY, options?: OptionsXYAutoPeaksPicking): NMRPeak1D[];
44
+ export declare function xyAutoPeaksPicking(data: DataXY, options: OptionsXYAutoPeaksPicking): NMRPeak1D[];
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.xyAutoPeaksPicking = void 0;
4
4
  const ml_gsd_1 = require("ml-gsd");
5
5
  const ml_spectra_processing_1 = require("ml-spectra-processing");
6
- function xyAutoPeaksPicking(data, options = {}) {
7
- const { from, to, noiseLevel, thresholdFactor = 3, minMaxRatio = 0.05, broadRatio = 0.00025, useSanPlot = false, smoothY = true, optimize = false, factorLimits = 4, realTopDetection = true, shape = { kind: 'gaussian' }, optimization = { kind: 'lm' }, broadWidth = 0.25, sgOptions = {}, direction = 'positive', } = options;
6
+ const convertWidthToHz_1 = require("../peaks/util/convertWidthToHz");
7
+ function xyAutoPeaksPicking(data, options) {
8
+ const { from, to, frequency, noiseLevel, thresholdFactor = 3, minMaxRatio = 0.05, broadRatio = 0.00025, useSanPlot = false, smoothY = true, optimize = false, factorLimits = 4, realTopDetection = true, shape = { kind: 'gaussian' }, optimization = { kind: 'lm' }, broadWidth = 0.25, sgOptions = {}, direction = 'positive', } = options;
8
9
  const { windowSize = 9, polynomial = 3 } = sgOptions;
9
10
  if (data.x.length < windowSize)
10
11
  return [];
@@ -14,6 +15,7 @@ function xyAutoPeaksPicking(data, options = {}) {
14
15
  const cutOff = getCutOff(data.y, { noiseLevel, useSanPlot, thresholdFactor });
15
16
  let getPeakOptions = {
16
17
  shape,
18
+ frequency,
17
19
  broadWidth,
18
20
  optimize,
19
21
  factorLimits,
@@ -53,7 +55,7 @@ function getNegativePeaks(data, cutOff, getPeakOptions) {
53
55
  return getPeakList(data, getPeakOptions);
54
56
  }
55
57
  function getPeakList(data, options) {
56
- const { shape, broadWidth, optimize, maxCriteria, factorLimits, sgOptions, minMaxRatio, broadRatio, noiseLevel, smoothY, optimization, realTopDetection, } = options;
58
+ const { shape, frequency, broadWidth, optimize, maxCriteria, factorLimits, sgOptions, minMaxRatio, broadRatio, noiseLevel, smoothY, optimization, realTopDetection, } = options;
57
59
  let peakList = (0, ml_gsd_1.gsd)(data, {
58
60
  shape,
59
61
  sgOptions,
@@ -71,14 +73,13 @@ function getPeakList(data, options) {
71
73
  optimization,
72
74
  });
73
75
  }
74
- if (optimize) {
75
- return (0, ml_gsd_1.optimizePeaks)(data, peakList, {
76
+ return (0, convertWidthToHz_1.convertWidthToHz)(optimize
77
+ ? (0, ml_gsd_1.optimizePeaks)(data, peakList, {
76
78
  shape,
77
79
  factorLimits,
78
80
  optimization,
79
- });
80
- }
81
- return peakList;
81
+ })
82
+ : peakList, { frequency });
82
83
  }
83
84
  function getCutOff(data, options) {
84
85
  const { noiseLevel, useSanPlot, thresholdFactor } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@ import type { OptionsPeaksFilterImpurities } from '../peaks/peaksFilterImpuritie
3
3
  import { OptionsPeaksToRanges } from '../peaks/peaksToRanges';
4
4
  import type { OptionsXYAutoPeaksPicking } from './xyAutoPeaksPicking';
5
5
  interface OptionsXYAutoRangesPicking {
6
- peakPicking?: OptionsXYAutoPeaksPicking;
6
+ peakPicking: OptionsXYAutoPeaksPicking;
7
7
  impurities?: OptionsPeaksFilterImpurities;
8
8
  ranges?: OptionsPeaksToRanges;
9
9
  }
10
10
  /**
11
11
  * Detect peaks, optimize parameters and compile multiplicity if required.
12
12
  */
13
- export declare function xyAutoRangesPicking(data: DataXY, options?: OptionsXYAutoRangesPicking): import("./NMRRange").NMRRange[];
13
+ export declare function xyAutoRangesPicking(data: DataXY, options: OptionsXYAutoRangesPicking): import("./NMRRange").NMRRange[];
14
14
  export {};
@@ -7,7 +7,7 @@ const xyAutoPeaksPicking_1 = require("./xyAutoPeaksPicking");
7
7
  /**
8
8
  * Detect peaks, optimize parameters and compile multiplicity if required.
9
9
  */
10
- function xyAutoRangesPicking(data, options = {}) {
10
+ function xyAutoRangesPicking(data, options) {
11
11
  let peaks = (0, xyAutoPeaksPicking_1.xyAutoPeaksPicking)(data, options.peakPicking);
12
12
  peaks = (0, peaksFilterImpurities_1.peaksFilterImpurities)(peaks, options.impurities);
13
13
  return (0, peaksToRanges_1.peaksToRanges)(data, peaks, options.ranges);
@@ -1 +1 @@
1
- {"version":3,"file":"xyAutoRangesPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoRangesPicking.ts"],"names":[],"mappings":";;;AAEA,0EAAuE;AAEvE,0DAA6E;AAE7E,6DAA0D;AAS1D;;GAEG;AACH,SAAgB,mBAAmB,CACjC,IAAY,EACZ,UAAsC,EAAE;IAExC,IAAI,KAAK,GAAG,IAAA,uCAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,KAAK,GAAG,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,IAAA,6BAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAPD,kDAOC"}
1
+ {"version":3,"file":"xyAutoRangesPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoRangesPicking.ts"],"names":[],"mappings":";;;AAEA,0EAAuE;AAEvE,0DAA6E;AAE7E,6DAA0D;AAS1D;;GAEG;AACH,SAAgB,mBAAmB,CACjC,IAAY,EACZ,OAAmC;IAEnC,IAAI,KAAK,GAAG,IAAA,uCAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,KAAK,GAAG,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,IAAA,6BAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAPD,kDAOC"}
@@ -1,3 +1,9 @@
1
1
  import { DataXY, PeakXYWidth } from 'cheminfo-types';
2
2
  import { OptimizePeaksOptions } from 'ml-gsd';
3
- export declare function xyPeaksOptimization(data: DataXY, peaks: PeakXYWidth[], options: OptimizePeaksOptions): import("ml-gsd").GSDPeakOptimized[];
3
+ export interface XYPeaksOptimizationOptions extends OptimizePeaksOptions {
4
+ /**
5
+ * frequency to convert width and fwhm to ppm.
6
+ */
7
+ frequency: number;
8
+ }
9
+ export declare function xyPeaksOptimization(data: DataXY, peaks: PeakXYWidth[], options: XYPeaksOptimizationOptions): any;
@@ -2,8 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.xyPeaksOptimization = void 0;
4
4
  const ml_gsd_1 = require("ml-gsd");
5
+ const convertWidthToHz_1 = require("../peaks/util/convertWidthToHz");
6
+ const convertWidthToPPM_1 = require("../peaks/util/convertWidthToPPM");
5
7
  function xyPeaksOptimization(data, peaks, options) {
6
- return (0, ml_gsd_1.optimizePeaks)(data, peaks, options);
8
+ const { frequency } = options;
9
+ const newPeaks = (0, convertWidthToPPM_1.convertWidthToPPM)(peaks, { frequency });
10
+ const optimizedPeaks = (0, ml_gsd_1.optimizePeaks)(data, newPeaks, options);
11
+ return (0, convertWidthToHz_1.convertWidthToHz)(optimizedPeaks, {
12
+ frequency,
13
+ output: optimizedPeaks,
14
+ });
7
15
  }
8
16
  exports.xyPeaksOptimization = xyPeaksOptimization;
9
17
  //# sourceMappingURL=xyPeaksOptimization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xyPeaksOptimization.js","sourceRoot":"","sources":["../../src/xy/xyPeaksOptimization.ts"],"names":[],"mappings":";;;AACA,mCAA6D;AAE7D,SAAgB,mBAAmB,CACjC,IAAY,EACZ,KAAoB,EACpB,OAA6B;IAE7B,OAAO,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAND,kDAMC"}
1
+ {"version":3,"file":"xyPeaksOptimization.js","sourceRoot":"","sources":["../../src/xy/xyPeaksOptimization.ts"],"names":[],"mappings":";;;AACA,mCAA6D;AAE7D,qEAAkE;AAClE,uEAAoE;AAQpE,SAAgB,mBAAmB,CACjC,IAAY,EACZ,KAAoB,EACpB,OAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAA,sBAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,IAAA,mCAAgB,EAAC,cAAc,EAAE;QACtC,SAAS;QACT,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAZD,kDAYC"}
@@ -1,4 +1,4 @@
1
- import type { JAxisKeys } from '../peaks/util/jAnalyzer';
1
+ import type { JAxisKeys } from '../signals/utils/jAnalyzer';
2
2
  import type { NMRSignal2D } from './NMRSignal2D';
3
3
  interface CompilePatternOptions {
4
4
  observedFrequencies?: number[] | Float64Array;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.xyzJResAnalyzer = void 0;
7
7
  const ml_simple_clustering_1 = __importDefault(require("ml-simple-clustering"));
8
- const jAnalyzer_1 = __importDefault(require("../peaks/util/jAnalyzer"));
8
+ const jAnalyzer_1 = __importDefault(require("../signals/utils/jAnalyzer"));
9
9
  const formatZone_1 = require("./util/formatZone");
10
10
  function xyzJResAnalyzer(signals, options = {}) {
11
11
  let { reference = 0, getZones = false, referenceMaxShiftError = 0.08, tolerances = [10, 100], nuclei = ['1H', '1H'], observedFrequencies = [400, 400], jAnalyzer = {
@@ -37,6 +37,7 @@ function compilePattern(signals, options) {
37
37
  dx: signals[0].x.resolution,
38
38
  dy: signals[0].y.resolution,
39
39
  };
40
+ const defaultWidth = 0.02 * observedFrequencies[0];
40
41
  const newSignals = JSON.parse(JSON.stringify(signals));
41
42
  //adapt to 1D jAnalyzer
42
43
  for (const signal of newSignals) {
@@ -52,7 +53,7 @@ function compilePattern(signals, options) {
52
53
  };
53
54
  for (const peak of peaks) {
54
55
  if (!peak.width)
55
- peak.width = 0.02;
56
+ peak.width = defaultWidth;
56
57
  }
57
58
  peaks.sort((a, b) => a.y - b.y);
58
59
  }