nmr-processing 9.7.8 → 9.8.0

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 (583) hide show
  1. package/lib/apodization/compose.js +1 -1
  2. package/lib/apodization/compose.js.map +1 -1
  3. package/lib/assignment/get13CAssignments.d.ts +1 -1
  4. package/lib/assignment/get13CAssignments.js +3 -3
  5. package/lib/assignment/get13CAssignments.js.map +1 -1
  6. package/lib/assignment/get1HAssignments.d.ts +2 -4
  7. package/lib/assignment/get1HAssignments.js +3 -3
  8. package/lib/assignment/get1HAssignments.js.map +1 -1
  9. package/lib/assignment/getAssignments.d.ts +3 -5
  10. package/lib/assignment/getAssignments.js +5 -5
  11. package/lib/assignment/getAssignments.js.map +1 -1
  12. package/lib/assignment/nmrAssigment.d.ts +2 -2
  13. package/lib/assignment/utils/addSolution.d.ts +13 -0
  14. package/lib/assignment/utils/addSolution.js +29 -0
  15. package/lib/assignment/utils/addSolution.js.map +1 -0
  16. package/lib/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.d.ts +13 -27
  17. package/lib/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.js +15 -15
  18. package/lib/assignment/utils/generalAssignment/buildAssignments.js.map +1 -0
  19. package/lib/assignment/utils/{getAssignment → generalAssignment}/checkIDs.js +6 -6
  20. package/lib/assignment/utils/generalAssignment/checkIDs.js.map +1 -0
  21. package/lib/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.d.ts +3 -7
  22. package/lib/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.js +7 -7
  23. package/lib/assignment/utils/generalAssignment/createMapPossibleAssignment.js.map +1 -0
  24. package/lib/assignment/utils/{getAssignment → generalAssignment}/exploreTree.d.ts +1 -1
  25. package/lib/assignment/utils/{getAssignment → generalAssignment}/exploreTree.js +6 -7
  26. package/lib/assignment/utils/generalAssignment/exploreTree.js.map +1 -0
  27. package/lib/assignment/utils/{getAssignment → generalAssignment}/formatData.js +5 -5
  28. package/lib/assignment/utils/generalAssignment/formatData.js.map +1 -0
  29. package/lib/assignment/utils/generalAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
  30. package/lib/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.d.ts +2 -4
  31. package/lib/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.js +1 -1
  32. package/lib/assignment/utils/generalAssignment/getTargetsAndCorrelations.js.map +1 -0
  33. package/lib/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.d.ts +1 -1
  34. package/lib/assignment/utils/generalAssignment/getWorkFlow.js.map +1 -0
  35. package/lib/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.js +8 -8
  36. package/lib/assignment/utils/generalAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
  37. package/lib/assignment/utils/generalAssignment/isSpectraData1D.js.map +1 -0
  38. package/lib/assignment/utils/{getAssignment → generalAssignment}/partialScore.d.ts +1 -3
  39. package/lib/assignment/utils/{getAssignment → generalAssignment}/partialScore.js +20 -20
  40. package/lib/assignment/utils/generalAssignment/partialScore.js.map +1 -0
  41. package/lib/assignment/utils/generalAssignment/searchIndices.js.map +1 -0
  42. package/lib/assignment/utils/{buildAssignments.d.ts → oneDimensionalAssignment/buildAssignments.d.ts} +2 -4
  43. package/lib/assignment/utils/{buildAssignments.js → oneDimensionalAssignment/buildAssignments.js} +4 -4
  44. package/lib/assignment/utils/oneDimensionalAssignment/buildAssignments.js.map +1 -0
  45. package/lib/assignment/utils/{createMapPossibleAssignments.d.ts → oneDimensionalAssignment/createMapPossibleAssignments.d.ts} +3 -5
  46. package/lib/assignment/utils/{createMapPossibleAssignments.js → oneDimensionalAssignment/createMapPossibleAssignments.js} +4 -4
  47. package/lib/assignment/utils/oneDimensionalAssignment/createMapPossibleAssignments.js.map +1 -0
  48. package/lib/assignment/utils/{exploreTreeRec.d.ts → oneDimensionalAssignment/exploreTreeRec.d.ts} +1 -1
  49. package/lib/assignment/utils/{exploreTreeRec.js → oneDimensionalAssignment/exploreTreeRec.js} +7 -8
  50. package/lib/assignment/utils/oneDimensionalAssignment/exploreTreeRec.js.map +1 -0
  51. package/lib/assignment/utils/{partialScore.d.ts → oneDimensionalAssignment/partialScore.d.ts} +1 -1
  52. package/lib/assignment/utils/{partialScore.js → oneDimensionalAssignment/partialScore.js} +9 -9
  53. package/lib/assignment/utils/oneDimensionalAssignment/partialScore.js.map +1 -0
  54. package/lib/constants/SignalsKinds.d.ts +2 -2
  55. package/lib/constants/SignalsKinds.js.map +1 -1
  56. package/lib/constants/couplingValues.d.ts +1 -3
  57. package/lib/constants/couplingValues.js.map +1 -1
  58. package/lib/constants/degreeToRadians.d.ts +1 -0
  59. package/lib/constants/degreeToRadians.js +5 -0
  60. package/lib/constants/degreeToRadians.js.map +1 -0
  61. package/lib/constants/impurities.d.ts +1509 -6
  62. package/lib/constants/impurities.js +2 -1
  63. package/lib/constants/impurities.js.map +1 -1
  64. package/lib/databases/getDatabase.js +1 -1
  65. package/lib/databases/getDatabase.js.map +1 -1
  66. package/lib/datum/Filters.js +4 -0
  67. package/lib/datum/Filters.js.map +1 -1
  68. package/lib/datum/FiltersManager.d.ts +1 -1
  69. package/lib/datum/FiltersManager.js +2 -2
  70. package/lib/datum/FiltersManager.js.map +1 -1
  71. package/lib/datum/MatrixOptions.d.ts +2 -2
  72. package/lib/datum/data1d/Entry1D.d.ts +1 -1
  73. package/lib/datum/data1d/filter1d/baselineCorrection.js +4 -4
  74. package/lib/datum/data1d/filter1d/baselineCorrection.js.map +1 -1
  75. package/lib/datum/data1d/filter1d/digitalFilter.js +2 -2
  76. package/lib/datum/data1d/filter1d/digitalFilter.js.map +1 -1
  77. package/lib/datum/data1d/filter1d/fft.js +7 -7
  78. package/lib/datum/data1d/filter1d/fft.js.map +1 -1
  79. package/lib/datum/data1d/filter1d/phaseCorrection.js +3 -3
  80. package/lib/datum/data1d/filter1d/phaseCorrection.js.map +1 -1
  81. package/lib/datum/data1d/filter1d/signalProcessing.js +1 -1
  82. package/lib/datum/data1d/filter1d/signalProcessing.js.map +1 -1
  83. package/lib/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js +2 -2
  84. package/lib/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js.map +1 -1
  85. package/lib/datum/data1d/filter1d/zeroFilling.js +8 -8
  86. package/lib/datum/data1d/filter1d/zeroFilling.js.map +1 -1
  87. package/lib/datum/data1d/utils/mapPeaks.js +1 -1
  88. package/lib/datum/data1d/utils/mapPeaks.js.map +1 -1
  89. package/lib/datum/data2d/Entry2D.d.ts +1 -1
  90. package/lib/datum/data2d/filter2d/fftDimension1.d.ts +15 -0
  91. package/lib/datum/data2d/filter2d/fftDimension1.js +69 -0
  92. package/lib/datum/data2d/filter2d/fftDimension1.js.map +1 -0
  93. package/lib/datum/data2d/filter2d/fftDimension2.d.ts +15 -0
  94. package/lib/datum/data2d/filter2d/fftDimension2.js +78 -0
  95. package/lib/datum/data2d/filter2d/fftDimension2.js.map +1 -0
  96. package/lib/datum/data2d/utils/getShift.js +1 -1
  97. package/lib/datum/data2d/utils/getShift.js.map +1 -1
  98. package/lib/multiplicity/splitPatterns.js +1 -1
  99. package/lib/multiplicity/splitPatterns.js.map +1 -1
  100. package/lib/peaks/peaksFilterImpurities.js +7 -6
  101. package/lib/peaks/peaksFilterImpurities.js.map +1 -1
  102. package/lib/peaks/peaksToRanges.js +17 -17
  103. package/lib/peaks/peaksToRanges.js.map +1 -1
  104. package/lib/peaks/solventSuppression.js +11 -11
  105. package/lib/peaks/solventSuppression.js.map +1 -1
  106. package/lib/peaks/util/addMissingIDs.js.map +1 -1
  107. package/lib/peaks/util/determineRealTop.js +32 -32
  108. package/lib/peaks/util/determineRealTop.js.map +1 -1
  109. package/lib/peaks/util/getKernel.js +4 -4
  110. package/lib/peaks/util/getKernel.js.map +1 -1
  111. package/lib/peaks/util/peakOptimizer.js +17 -17
  112. package/lib/peaks/util/peakOptimizer.js.map +1 -1
  113. package/lib/peaks/util/setIDs.js.map +1 -1
  114. package/lib/prediction/dataStructure.d.ts +1 -3
  115. package/lib/prediction/predictAll.js +2 -1
  116. package/lib/prediction/predictAll.js.map +1 -1
  117. package/lib/prediction/predictCOSY.js +1 -1
  118. package/lib/prediction/predictCOSY.js.map +1 -1
  119. package/lib/prediction/predictCarbon.js +6 -6
  120. package/lib/prediction/predictCarbon.js.map +1 -1
  121. package/lib/prediction/predictHMBC.js +1 -1
  122. package/lib/prediction/predictHMBC.js.map +1 -1
  123. package/lib/prediction/predictHSQC.js +1 -1
  124. package/lib/prediction/predictHSQC.js.map +1 -1
  125. package/lib/prediction/predictProton.js +9 -9
  126. package/lib/prediction/predictProton.js.map +1 -1
  127. package/lib/prediction/utils/getFilteredIDiaIDs.js +3 -3
  128. package/lib/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  129. package/lib/prediction/utils/getNuclei.d.ts +1 -3
  130. package/lib/prediction/utils/getNuclei.js.map +1 -1
  131. package/lib/prediction/utils/predict2D.d.ts +1 -3
  132. package/lib/prediction/utils/predict2D.js +17 -17
  133. package/lib/prediction/utils/predict2D.js.map +1 -1
  134. package/lib/prediction/utils/queryByHOSE.js +1 -1
  135. package/lib/prediction/utils/queryByHOSE.js.map +1 -1
  136. package/lib/ranges/markSolventSignal.js +8 -8
  137. package/lib/ranges/markSolventSignal.js.map +1 -1
  138. package/lib/ranges/rangesToACS.js +6 -6
  139. package/lib/ranges/rangesToACS.js.map +1 -1
  140. package/lib/ranges/rangesToXY.js +6 -6
  141. package/lib/ranges/rangesToXY.js.map +1 -1
  142. package/lib/signal/signalJoinCouplings.js +9 -9
  143. package/lib/signal/signalJoinCouplings.js.map +1 -1
  144. package/lib/signal/signalMultiplicityPattern.js +2 -2
  145. package/lib/signal/signalMultiplicityPattern.js.map +1 -1
  146. package/lib/signals/addDummySignals.js +4 -4
  147. package/lib/signals/addDummySignals.js.map +1 -1
  148. package/lib/signals/hackSignalsToXY.js +1 -1
  149. package/lib/signals/hackSignalsToXY.js.map +1 -1
  150. package/lib/signals/optimization/getInternalSignals.js +6 -6
  151. package/lib/signals/optimization/getInternalSignals.js.map +1 -1
  152. package/lib/signals/optimization/getSumOfShapes.js +1 -1
  153. package/lib/signals/optimization/getSumOfShapes.js.map +1 -1
  154. package/lib/signals/optimizeSignals.js +3 -3
  155. package/lib/signals/optimizeSignals.js.map +1 -1
  156. package/lib/signals/signals2DToZ.js +3 -2
  157. package/lib/signals/signals2DToZ.js.map +1 -1
  158. package/lib/signals/signalsJoin.js +5 -5
  159. package/lib/signals/signalsJoin.js.map +1 -1
  160. package/lib/signals/signalsToFID.js +1 -1
  161. package/lib/signals/signalsToFID.js.map +1 -1
  162. package/lib/signals/signalsToRanges.js +3 -3
  163. package/lib/signals/signalsToRanges.js.map +1 -1
  164. package/lib/signals/signalsToXY.js +3 -3
  165. package/lib/signals/signalsToXY.js.map +1 -1
  166. package/lib/signals/simulation/signalsToSpinSystem.js +2 -2
  167. package/lib/signals/simulation/signalsToSpinSystem.js.map +1 -1
  168. package/lib/signals/simulation/simulate1D.js +2 -2
  169. package/lib/signals/simulation/simulate1D.js.map +1 -1
  170. package/lib/signals/simulation/simulateXYPeaks.js +15 -17
  171. package/lib/signals/simulation/simulateXYPeaks.js.map +1 -1
  172. package/lib/signals/simulation/splitSpinSystem.js +26 -23
  173. package/lib/signals/simulation/splitSpinSystem.js.map +1 -1
  174. package/lib/signals/utils/jAnalyzer.js +38 -38
  175. package/lib/signals/utils/jAnalyzer.js.map +1 -1
  176. package/lib/types/Integrals.d.ts +1 -1
  177. package/lib/types/Peaks/Peaks.d.ts +1 -1
  178. package/lib/types/Ranges/Ranges.d.ts +1 -1
  179. package/lib/types/Zones/Zone.d.ts +1 -1
  180. package/lib/types/Zones/Zones.d.ts +1 -1
  181. package/lib/utilities/getFrequency.js +1 -1
  182. package/lib/utilities/getFrequency.js.map +1 -1
  183. package/lib/utilities/resurrectRange.js +1 -1
  184. package/lib/utilities/resurrectRange.js.map +1 -1
  185. package/lib/xy/xyAutoPeaksPicking.js +3 -3
  186. package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
  187. package/lib/xyz/quadrature.js +1 -19
  188. package/lib/xyz/quadrature.js.map +1 -1
  189. package/lib/xyz/util/fft2d/digitalFilter.js +3 -3
  190. package/lib/xyz/util/fft2d/digitalFilter.js.map +1 -1
  191. package/lib/xyz/util/fft2d/fftDirectDimension.d.ts +1 -1
  192. package/lib/xyz/util/fft2d/fftDirectDimension.js +3 -11
  193. package/lib/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  194. package/lib/xyz/util/fft2d/fftIndirectDimension.d.ts +2 -4
  195. package/lib/xyz/util/fft2d/fftIndirectDimension.js +104 -50
  196. package/lib/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
  197. package/lib/xyz/util/fft2d/removeDCOffset.js +1 -1
  198. package/lib/xyz/util/fft2d/removeDCOffset.js.map +1 -1
  199. package/lib/xyz/util/fft2d/zeroFilling.js +4 -6
  200. package/lib/xyz/util/fft2d/zeroFilling.js.map +1 -1
  201. package/lib/xyz/util/formatZone.js +3 -3
  202. package/lib/xyz/util/formatZone.js.map +1 -1
  203. package/lib/xyz/util/getMinMaxXY.d.ts +6 -0
  204. package/lib/xyz/util/getMinMaxXY.js +23 -0
  205. package/lib/xyz/util/getMinMaxXY.js.map +1 -0
  206. package/lib/xyz/util/padData.js +7 -7
  207. package/lib/xyz/util/padData.js.map +1 -1
  208. package/lib/xyz/util/phaseCorrection/applyOverImag.d.ts +24 -0
  209. package/lib/xyz/util/phaseCorrection/applyOverImag.js +27 -0
  210. package/lib/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
  211. package/lib/xyz/util/phaseCorrection/applyOverReal.d.ts +22 -0
  212. package/lib/xyz/util/phaseCorrection/applyOverReal.js +27 -0
  213. package/lib/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
  214. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.d.ts +3 -0
  215. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +10 -0
  216. package/lib/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
  217. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.d.ts +3 -0
  218. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +10 -0
  219. package/lib/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
  220. package/lib/xyz/util/phaseCorrection/getZMinMax.d.ts +6 -0
  221. package/lib/xyz/util/phaseCorrection/getZMinMax.js +13 -0
  222. package/lib/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
  223. package/lib/xyz/xyzAutoSignalsPicking.js +19 -18
  224. package/lib/xyz/xyzAutoSignalsPicking.js.map +1 -1
  225. package/lib/xyz/xyzBidimensionalFFT.js +2 -19
  226. package/lib/xyz/xyzBidimensionalFFT.js.map +1 -1
  227. package/lib/xyz/xyzJResAnalyzer.js +21 -21
  228. package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
  229. package/lib/xyz/xyzPhaseCorrectionDirectDimension.d.ts +16 -0
  230. package/lib/xyz/xyzPhaseCorrectionDirectDimension.js +30 -0
  231. package/lib/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
  232. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.d.ts +25 -0
  233. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js +32 -0
  234. package/lib/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
  235. package/lib-esm/apodization/compose.js +1 -1
  236. package/lib-esm/apodization/compose.js.map +1 -1
  237. package/lib-esm/assignment/get13CAssignments.js +3 -3
  238. package/lib-esm/assignment/get13CAssignments.js.map +1 -1
  239. package/lib-esm/assignment/get1HAssignments.js +3 -3
  240. package/lib-esm/assignment/get1HAssignments.js.map +1 -1
  241. package/lib-esm/assignment/getAssignments.js +5 -5
  242. package/lib-esm/assignment/getAssignments.js.map +1 -1
  243. package/lib-esm/assignment/utils/addSolution.js +25 -0
  244. package/lib-esm/assignment/utils/addSolution.js.map +1 -0
  245. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.js +15 -15
  246. package/lib-esm/assignment/utils/generalAssignment/buildAssignments.js.map +1 -0
  247. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/checkIDs.js +6 -6
  248. package/lib-esm/assignment/utils/generalAssignment/checkIDs.js.map +1 -0
  249. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.js +7 -7
  250. package/lib-esm/assignment/utils/generalAssignment/createMapPossibleAssignment.js.map +1 -0
  251. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/exploreTree.js +6 -7
  252. package/lib-esm/assignment/utils/generalAssignment/exploreTree.js.map +1 -0
  253. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/formatData.js +5 -5
  254. package/lib-esm/assignment/utils/generalAssignment/formatData.js.map +1 -0
  255. package/lib-esm/assignment/utils/generalAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
  256. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.js +1 -1
  257. package/lib-esm/assignment/utils/generalAssignment/getTargetsAndCorrelations.js.map +1 -0
  258. package/lib-esm/assignment/utils/generalAssignment/getWorkFlow.js.map +1 -0
  259. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.js +8 -8
  260. package/lib-esm/assignment/utils/generalAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
  261. package/lib-esm/assignment/utils/generalAssignment/isSpectraData1D.js.map +1 -0
  262. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/partialScore.js +20 -20
  263. package/lib-esm/assignment/utils/generalAssignment/partialScore.js.map +1 -0
  264. package/lib-esm/assignment/utils/generalAssignment/searchIndices.js.map +1 -0
  265. package/lib-esm/assignment/utils/{buildAssignments.js → oneDimensionalAssignment/buildAssignments.js} +4 -4
  266. package/lib-esm/assignment/utils/oneDimensionalAssignment/buildAssignments.js.map +1 -0
  267. package/lib-esm/assignment/utils/{createMapPossibleAssignments.js → oneDimensionalAssignment/createMapPossibleAssignments.js} +4 -4
  268. package/lib-esm/assignment/utils/oneDimensionalAssignment/createMapPossibleAssignments.js.map +1 -0
  269. package/lib-esm/assignment/utils/{exploreTreeRec.js → oneDimensionalAssignment/exploreTreeRec.js} +7 -8
  270. package/lib-esm/assignment/utils/oneDimensionalAssignment/exploreTreeRec.js.map +1 -0
  271. package/lib-esm/assignment/utils/{partialScore.js → oneDimensionalAssignment/partialScore.js} +9 -9
  272. package/lib-esm/assignment/utils/oneDimensionalAssignment/partialScore.js.map +1 -0
  273. package/lib-esm/constants/SignalsKinds.js.map +1 -1
  274. package/lib-esm/constants/couplingValues.js.map +1 -1
  275. package/lib-esm/constants/degreeToRadians.js +2 -0
  276. package/lib-esm/constants/degreeToRadians.js.map +1 -0
  277. package/lib-esm/constants/impurities.js +2 -1
  278. package/lib-esm/constants/impurities.js.map +1 -1
  279. package/lib-esm/databases/getDatabase.js +1 -1
  280. package/lib-esm/databases/getDatabase.js.map +1 -1
  281. package/lib-esm/datum/Filters.js +4 -0
  282. package/lib-esm/datum/Filters.js.map +1 -1
  283. package/lib-esm/datum/FiltersManager.js +2 -2
  284. package/lib-esm/datum/FiltersManager.js.map +1 -1
  285. package/lib-esm/datum/data1d/filter1d/baselineCorrection.js +4 -4
  286. package/lib-esm/datum/data1d/filter1d/baselineCorrection.js.map +1 -1
  287. package/lib-esm/datum/data1d/filter1d/digitalFilter.js +2 -2
  288. package/lib-esm/datum/data1d/filter1d/digitalFilter.js.map +1 -1
  289. package/lib-esm/datum/data1d/filter1d/fft.js +7 -7
  290. package/lib-esm/datum/data1d/filter1d/fft.js.map +1 -1
  291. package/lib-esm/datum/data1d/filter1d/phaseCorrection.js +3 -3
  292. package/lib-esm/datum/data1d/filter1d/phaseCorrection.js.map +1 -1
  293. package/lib-esm/datum/data1d/filter1d/signalProcessing.js +1 -1
  294. package/lib-esm/datum/data1d/filter1d/signalProcessing.js.map +1 -1
  295. package/lib-esm/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js +2 -2
  296. package/lib-esm/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js.map +1 -1
  297. package/lib-esm/datum/data1d/filter1d/zeroFilling.js +8 -8
  298. package/lib-esm/datum/data1d/filter1d/zeroFilling.js.map +1 -1
  299. package/lib-esm/datum/data1d/utils/mapPeaks.js +1 -1
  300. package/lib-esm/datum/data1d/utils/mapPeaks.js.map +1 -1
  301. package/lib-esm/datum/data2d/filter2d/fftDimension1.js +63 -0
  302. package/lib-esm/datum/data2d/filter2d/fftDimension1.js.map +1 -0
  303. package/lib-esm/datum/data2d/filter2d/fftDimension2.js +72 -0
  304. package/lib-esm/datum/data2d/filter2d/fftDimension2.js.map +1 -0
  305. package/lib-esm/datum/data2d/utils/getShift.js +1 -1
  306. package/lib-esm/datum/data2d/utils/getShift.js.map +1 -1
  307. package/lib-esm/multiplicity/splitPatterns.js +1 -1
  308. package/lib-esm/multiplicity/splitPatterns.js.map +1 -1
  309. package/lib-esm/peaks/peaksFilterImpurities.js +7 -6
  310. package/lib-esm/peaks/peaksFilterImpurities.js.map +1 -1
  311. package/lib-esm/peaks/peaksToRanges.js +17 -17
  312. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  313. package/lib-esm/peaks/solventSuppression.js +11 -11
  314. package/lib-esm/peaks/solventSuppression.js.map +1 -1
  315. package/lib-esm/peaks/util/addMissingIDs.js.map +1 -1
  316. package/lib-esm/peaks/util/determineRealTop.js +32 -32
  317. package/lib-esm/peaks/util/determineRealTop.js.map +1 -1
  318. package/lib-esm/peaks/util/getKernel.js +4 -4
  319. package/lib-esm/peaks/util/getKernel.js.map +1 -1
  320. package/lib-esm/peaks/util/peakOptimizer.js +17 -17
  321. package/lib-esm/peaks/util/peakOptimizer.js.map +1 -1
  322. package/lib-esm/peaks/util/setIDs.js.map +1 -1
  323. package/lib-esm/prediction/predictAll.js +2 -1
  324. package/lib-esm/prediction/predictAll.js.map +1 -1
  325. package/lib-esm/prediction/predictCOSY.js +1 -1
  326. package/lib-esm/prediction/predictCOSY.js.map +1 -1
  327. package/lib-esm/prediction/predictCarbon.js +6 -6
  328. package/lib-esm/prediction/predictCarbon.js.map +1 -1
  329. package/lib-esm/prediction/predictHMBC.js +1 -1
  330. package/lib-esm/prediction/predictHMBC.js.map +1 -1
  331. package/lib-esm/prediction/predictHSQC.js +1 -1
  332. package/lib-esm/prediction/predictHSQC.js.map +1 -1
  333. package/lib-esm/prediction/predictProton.js +9 -9
  334. package/lib-esm/prediction/predictProton.js.map +1 -1
  335. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js +3 -3
  336. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  337. package/lib-esm/prediction/utils/getNuclei.js.map +1 -1
  338. package/lib-esm/prediction/utils/predict2D.js +17 -17
  339. package/lib-esm/prediction/utils/predict2D.js.map +1 -1
  340. package/lib-esm/prediction/utils/queryByHOSE.js +1 -1
  341. package/lib-esm/prediction/utils/queryByHOSE.js.map +1 -1
  342. package/lib-esm/ranges/markSolventSignal.js +8 -8
  343. package/lib-esm/ranges/markSolventSignal.js.map +1 -1
  344. package/lib-esm/ranges/rangesToACS.js +6 -6
  345. package/lib-esm/ranges/rangesToACS.js.map +1 -1
  346. package/lib-esm/ranges/rangesToXY.js +6 -6
  347. package/lib-esm/ranges/rangesToXY.js.map +1 -1
  348. package/lib-esm/signal/signalJoinCouplings.js +9 -9
  349. package/lib-esm/signal/signalJoinCouplings.js.map +1 -1
  350. package/lib-esm/signal/signalMultiplicityPattern.js +2 -2
  351. package/lib-esm/signal/signalMultiplicityPattern.js.map +1 -1
  352. package/lib-esm/signals/addDummySignals.js +4 -4
  353. package/lib-esm/signals/addDummySignals.js.map +1 -1
  354. package/lib-esm/signals/hackSignalsToXY.js +1 -1
  355. package/lib-esm/signals/hackSignalsToXY.js.map +1 -1
  356. package/lib-esm/signals/optimization/getInternalSignals.js +6 -6
  357. package/lib-esm/signals/optimization/getInternalSignals.js.map +1 -1
  358. package/lib-esm/signals/optimization/getSumOfShapes.js +1 -1
  359. package/lib-esm/signals/optimization/getSumOfShapes.js.map +1 -1
  360. package/lib-esm/signals/optimizeSignals.js +3 -3
  361. package/lib-esm/signals/optimizeSignals.js.map +1 -1
  362. package/lib-esm/signals/signals2DToZ.js +3 -2
  363. package/lib-esm/signals/signals2DToZ.js.map +1 -1
  364. package/lib-esm/signals/signalsJoin.js +5 -5
  365. package/lib-esm/signals/signalsJoin.js.map +1 -1
  366. package/lib-esm/signals/signalsToFID.js +1 -1
  367. package/lib-esm/signals/signalsToFID.js.map +1 -1
  368. package/lib-esm/signals/signalsToRanges.js +3 -3
  369. package/lib-esm/signals/signalsToRanges.js.map +1 -1
  370. package/lib-esm/signals/signalsToXY.js +3 -3
  371. package/lib-esm/signals/signalsToXY.js.map +1 -1
  372. package/lib-esm/signals/simulation/signalsToSpinSystem.js +2 -2
  373. package/lib-esm/signals/simulation/signalsToSpinSystem.js.map +1 -1
  374. package/lib-esm/signals/simulation/simulate1D.js +2 -2
  375. package/lib-esm/signals/simulation/simulate1D.js.map +1 -1
  376. package/lib-esm/signals/simulation/simulateXYPeaks.js +15 -17
  377. package/lib-esm/signals/simulation/simulateXYPeaks.js.map +1 -1
  378. package/lib-esm/signals/simulation/splitSpinSystem.js +26 -23
  379. package/lib-esm/signals/simulation/splitSpinSystem.js.map +1 -1
  380. package/lib-esm/signals/utils/jAnalyzer.js +38 -38
  381. package/lib-esm/signals/utils/jAnalyzer.js.map +1 -1
  382. package/lib-esm/utilities/getFrequency.js +1 -1
  383. package/lib-esm/utilities/getFrequency.js.map +1 -1
  384. package/lib-esm/utilities/resurrectRange.js +1 -1
  385. package/lib-esm/utilities/resurrectRange.js.map +1 -1
  386. package/lib-esm/xy/xyAutoPeaksPicking.js +3 -3
  387. package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
  388. package/lib-esm/xyz/quadrature.js +2 -20
  389. package/lib-esm/xyz/quadrature.js.map +1 -1
  390. package/lib-esm/xyz/util/fft2d/digitalFilter.js +3 -3
  391. package/lib-esm/xyz/util/fft2d/digitalFilter.js.map +1 -1
  392. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js +4 -12
  393. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  394. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js +104 -50
  395. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
  396. package/lib-esm/xyz/util/fft2d/removeDCOffset.js +1 -1
  397. package/lib-esm/xyz/util/fft2d/removeDCOffset.js.map +1 -1
  398. package/lib-esm/xyz/util/fft2d/zeroFilling.js +4 -6
  399. package/lib-esm/xyz/util/fft2d/zeroFilling.js.map +1 -1
  400. package/lib-esm/xyz/util/formatZone.js +3 -3
  401. package/lib-esm/xyz/util/formatZone.js.map +1 -1
  402. package/lib-esm/xyz/util/getMinMaxXY.js +19 -0
  403. package/lib-esm/xyz/util/getMinMaxXY.js.map +1 -0
  404. package/lib-esm/xyz/util/padData.js +7 -7
  405. package/lib-esm/xyz/util/padData.js.map +1 -1
  406. package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js +20 -0
  407. package/lib-esm/xyz/util/phaseCorrection/applyOverImag.js.map +1 -0
  408. package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js +20 -0
  409. package/lib-esm/xyz/util/phaseCorrection/applyOverReal.js.map +1 -0
  410. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js +6 -0
  411. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DFourQuad.js.map +1 -0
  412. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js +6 -0
  413. package/lib-esm/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.js.map +1 -0
  414. package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js +9 -0
  415. package/lib-esm/xyz/util/phaseCorrection/getZMinMax.js.map +1 -0
  416. package/lib-esm/xyz/xyzAutoSignalsPicking.js +19 -18
  417. package/lib-esm/xyz/xyzAutoSignalsPicking.js.map +1 -1
  418. package/lib-esm/xyz/xyzBidimensionalFFT.js +1 -18
  419. package/lib-esm/xyz/xyzBidimensionalFFT.js.map +1 -1
  420. package/lib-esm/xyz/xyzJResAnalyzer.js +21 -21
  421. package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
  422. package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js +26 -0
  423. package/lib-esm/xyz/xyzPhaseCorrectionDirectDimension.js.map +1 -0
  424. package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js +28 -0
  425. package/lib-esm/xyz/xyzPhaseCorrectionIndirectDimension.js.map +1 -0
  426. package/package.json +4 -4
  427. package/src/apodization/compose.ts +1 -1
  428. package/src/assignment/get13CAssignments.ts +6 -3
  429. package/src/assignment/get1HAssignments.ts +7 -6
  430. package/src/assignment/getAssignments.ts +7 -7
  431. package/src/assignment/nmrAssigment.ts +2 -2
  432. package/src/assignment/utils/addSolution.ts +45 -0
  433. package/src/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.ts +29 -36
  434. package/src/assignment/utils/{getAssignment → generalAssignment}/checkIDs.ts +6 -6
  435. package/src/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.ts +10 -14
  436. package/src/assignment/utils/{getAssignment → generalAssignment}/exploreTree.ts +7 -8
  437. package/src/assignment/utils/{getAssignment → generalAssignment}/formatData.ts +5 -5
  438. package/src/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.ts +3 -5
  439. package/src/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.ts +2 -5
  440. package/src/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.ts +8 -8
  441. package/src/assignment/utils/{getAssignment → generalAssignment}/partialScore.ts +25 -29
  442. package/src/assignment/utils/{buildAssignments.ts → oneDimensionalAssignment/buildAssignments.ts} +6 -8
  443. package/src/assignment/utils/{createMapPossibleAssignments.ts → oneDimensionalAssignment/createMapPossibleAssignments.ts} +9 -9
  444. package/src/assignment/utils/{exploreTreeRec.ts → oneDimensionalAssignment/exploreTreeRec.ts} +8 -9
  445. package/src/assignment/utils/{partialScore.ts → oneDimensionalAssignment/partialScore.ts} +10 -12
  446. package/src/constants/SignalsKinds.ts +1 -1
  447. package/src/constants/couplingValues.ts +1 -1
  448. package/src/constants/degreeToRadians.ts +1 -0
  449. package/src/constants/impurities.ts +14 -15
  450. package/src/databases/getDatabase.ts +1 -1
  451. package/src/datum/Filters.ts +4 -0
  452. package/src/datum/FiltersManager.ts +3 -3
  453. package/src/datum/MatrixOptions.ts +1 -1
  454. package/src/datum/data1d/Entry1D.ts +1 -1
  455. package/src/datum/data1d/filter1d/baselineCorrection.ts +4 -4
  456. package/src/datum/data1d/filter1d/digitalFilter.ts +2 -2
  457. package/src/datum/data1d/filter1d/fft.ts +7 -7
  458. package/src/datum/data1d/filter1d/phaseCorrection.ts +3 -3
  459. package/src/datum/data1d/filter1d/signalProcessing.ts +1 -1
  460. package/src/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.ts +2 -2
  461. package/src/datum/data1d/filter1d/zeroFilling.ts +10 -9
  462. package/src/datum/data1d/utils/mapPeaks.ts +1 -1
  463. package/src/datum/data2d/Entry2D.ts +1 -1
  464. package/src/datum/data2d/filter2d/fftDimension1.ts +93 -0
  465. package/src/datum/data2d/filter2d/fftDimension2.ts +94 -0
  466. package/src/datum/data2d/utils/getShift.ts +1 -1
  467. package/src/ml-tree-set.d.ts +1 -1
  468. package/src/multiplicity/splitPatterns.ts +1 -1
  469. package/src/peaks/peaksFilterImpurities.ts +7 -6
  470. package/src/peaks/peaksToRanges.ts +19 -18
  471. package/src/peaks/solventSuppression.ts +11 -11
  472. package/src/peaks/util/addMissingIDs.ts +1 -1
  473. package/src/peaks/util/determineRealTop.ts +32 -32
  474. package/src/peaks/util/getKernel.ts +4 -4
  475. package/src/peaks/util/peakOptimizer.ts +17 -17
  476. package/src/peaks/util/setIDs.ts +6 -4
  477. package/src/prediction/dataStructure.ts +1 -3
  478. package/src/prediction/predictAll.ts +3 -2
  479. package/src/prediction/predictCOSY.ts +1 -1
  480. package/src/prediction/predictCarbon.ts +6 -6
  481. package/src/prediction/predictHMBC.ts +1 -1
  482. package/src/prediction/predictHSQC.ts +1 -1
  483. package/src/prediction/predictProton.ts +9 -9
  484. package/src/prediction/utils/getFilteredIDiaIDs.ts +3 -3
  485. package/src/prediction/utils/getNuclei.ts +2 -2
  486. package/src/prediction/utils/predict2D.ts +21 -25
  487. package/src/prediction/utils/queryByHOSE.ts +1 -1
  488. package/src/ranges/markSolventSignal.ts +8 -8
  489. package/src/ranges/rangesToACS.ts +6 -6
  490. package/src/ranges/rangesToXY.ts +6 -6
  491. package/src/signal/signalJoinCouplings.ts +9 -9
  492. package/src/signal/signalMultiplicityPattern.ts +2 -2
  493. package/src/signals/addDummySignals.ts +4 -4
  494. package/src/signals/hackSignalsToXY.ts +1 -1
  495. package/src/signals/optimization/getInternalSignals.ts +6 -6
  496. package/src/signals/optimization/getSumOfShapes.ts +1 -1
  497. package/src/signals/optimizeSignals.ts +3 -3
  498. package/src/signals/signals2DToZ.ts +4 -8
  499. package/src/signals/signalsJoin.ts +5 -5
  500. package/src/signals/signalsToFID.ts +1 -1
  501. package/src/signals/signalsToRanges.ts +3 -3
  502. package/src/signals/signalsToXY.ts +3 -3
  503. package/src/signals/simulation/signalsToSpinSystem.ts +3 -5
  504. package/src/signals/simulation/simulate1D.ts +2 -2
  505. package/src/signals/simulation/simulateXYPeaks.ts +16 -17
  506. package/src/signals/simulation/splitSpinSystem.ts +28 -25
  507. package/src/signals/utils/jAnalyzer.ts +38 -38
  508. package/src/types/Integrals.ts +1 -1
  509. package/src/types/Peaks/Peaks.ts +1 -1
  510. package/src/types/Ranges/Ranges.ts +1 -1
  511. package/src/types/Zones/Zone.ts +1 -1
  512. package/src/types/Zones/Zones.ts +1 -1
  513. package/src/utilities/getFrequency.ts +1 -1
  514. package/src/utilities/resurrectRange.ts +1 -1
  515. package/src/xy/xyAutoPeaksPicking.ts +3 -3
  516. package/src/xyz/quadrature.ts +2 -27
  517. package/src/xyz/util/fft2d/digitalFilter.ts +3 -3
  518. package/src/xyz/util/fft2d/fftDirectDimension.ts +4 -23
  519. package/src/xyz/util/fft2d/fftIndirectDimension.ts +123 -73
  520. package/src/xyz/util/fft2d/removeDCOffset.ts +1 -1
  521. package/src/xyz/util/fft2d/zeroFilling.ts +5 -6
  522. package/src/xyz/util/formatZone.ts +3 -3
  523. package/src/xyz/util/getMinMaxXY.ts +19 -0
  524. package/src/xyz/util/padData.ts +7 -7
  525. package/src/xyz/util/phaseCorrection/applyOverImag.ts +29 -0
  526. package/src/xyz/util/phaseCorrection/applyOverReal.ts +29 -0
  527. package/src/xyz/util/phaseCorrection/checkNmrData2DFourQuad.ts +12 -0
  528. package/src/xyz/util/phaseCorrection/checkNmrData2DTwoQuad.ts +11 -0
  529. package/src/xyz/util/phaseCorrection/getZMinMax.ts +10 -0
  530. package/src/xyz/xyzAutoSignalsPicking.ts +20 -19
  531. package/src/xyz/xyzBidimensionalFFT.ts +1 -20
  532. package/src/xyz/xyzJResAnalyzer.ts +21 -21
  533. package/src/xyz/xyzPhaseCorrectionDirectDimension.ts +52 -0
  534. package/src/xyz/xyzPhaseCorrectionIndirectDimension.ts +45 -0
  535. package/lib/assignment/utils/buildAssignments.js.map +0 -1
  536. package/lib/assignment/utils/createMapPossibleAssignments.js.map +0 -1
  537. package/lib/assignment/utils/exploreTreeRec.js.map +0 -1
  538. package/lib/assignment/utils/getAssignment/buildAssignments.js.map +0 -1
  539. package/lib/assignment/utils/getAssignment/checkIDs.js.map +0 -1
  540. package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +0 -1
  541. package/lib/assignment/utils/getAssignment/exploreTree.js.map +0 -1
  542. package/lib/assignment/utils/getAssignment/formatData.js.map +0 -1
  543. package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +0 -1
  544. package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +0 -1
  545. package/lib/assignment/utils/getAssignment/getWorkFlow.js.map +0 -1
  546. package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +0 -1
  547. package/lib/assignment/utils/getAssignment/isSpectraData1D.js.map +0 -1
  548. package/lib/assignment/utils/getAssignment/partialScore.js.map +0 -1
  549. package/lib/assignment/utils/getAssignment/searchIndices.js.map +0 -1
  550. package/lib/assignment/utils/partialScore.js.map +0 -1
  551. package/lib-esm/assignment/utils/buildAssignments.js.map +0 -1
  552. package/lib-esm/assignment/utils/createMapPossibleAssignments.js.map +0 -1
  553. package/lib-esm/assignment/utils/exploreTreeRec.js.map +0 -1
  554. package/lib-esm/assignment/utils/getAssignment/buildAssignments.js.map +0 -1
  555. package/lib-esm/assignment/utils/getAssignment/checkIDs.js.map +0 -1
  556. package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +0 -1
  557. package/lib-esm/assignment/utils/getAssignment/exploreTree.js.map +0 -1
  558. package/lib-esm/assignment/utils/getAssignment/formatData.js.map +0 -1
  559. package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +0 -1
  560. package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +0 -1
  561. package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js.map +0 -1
  562. package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +0 -1
  563. package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js.map +0 -1
  564. package/lib-esm/assignment/utils/getAssignment/partialScore.js.map +0 -1
  565. package/lib-esm/assignment/utils/getAssignment/searchIndices.js.map +0 -1
  566. package/lib-esm/assignment/utils/partialScore.js.map +0 -1
  567. /package/lib/assignment/utils/{getAssignment → generalAssignment}/checkIDs.d.ts +0 -0
  568. /package/lib/assignment/utils/{getAssignment → generalAssignment}/formatData.d.ts +0 -0
  569. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.d.ts +0 -0
  570. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.js +0 -0
  571. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.js +0 -0
  572. /package/lib/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.d.ts +0 -0
  573. /package/lib/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.d.ts +0 -0
  574. /package/lib/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.js +0 -0
  575. /package/lib/assignment/utils/{getAssignment → generalAssignment}/searchIndices.d.ts +0 -0
  576. /package/lib/assignment/utils/{getAssignment → generalAssignment}/searchIndices.js +0 -0
  577. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.js +0 -0
  578. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.js +0 -0
  579. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.js +0 -0
  580. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/searchIndices.js +0 -0
  581. /package/src/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.ts +0 -0
  582. /package/src/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.ts +0 -0
  583. /package/src/assignment/utils/{getAssignment → generalAssignment}/searchIndices.ts +0 -0
@@ -43,7 +43,7 @@ function updateData(datum: Entry1D | Entry2D) {
43
43
 
44
44
  interface ApplyFilterOptions {
45
45
  forceReapply?: boolean;
46
- filterIndex?: number | -1;
46
+ filterIndex?: number;
47
47
  }
48
48
 
49
49
  interface FilterOption {
@@ -62,7 +62,7 @@ export function applyFilter(
62
62
  ) {
63
63
  const { forceReapply = false, filterIndex } = options;
64
64
  let isReduced = false;
65
- for (let filter of filters) {
65
+ for (const filter of filters) {
66
66
  const filterOption = {
67
67
  name: filter.name,
68
68
  label: Filters[filter.name].name,
@@ -99,7 +99,7 @@ export function applyFilter(
99
99
  reapplyFilters(datum);
100
100
  }
101
101
  } else {
102
- for (let filter of filters) {
102
+ for (const filter of filters) {
103
103
  Filters[filter.name].apply(datum, filter.value);
104
104
  }
105
105
  }
@@ -7,7 +7,7 @@ export interface MatrixOptions {
7
7
  * @default []
8
8
  *
9
9
  */
10
- filters: (MatrixFilter & { options: object })[];
10
+ filters: Array<MatrixFilter & { options: object }>;
11
11
  /**
12
12
  * Exclusion zones
13
13
  * @default []
@@ -15,5 +15,5 @@ export interface Entry1D {
15
15
  ranges: Ranges;
16
16
  info: Info1D;
17
17
  originalInfo?: Info1D;
18
- filters: Array<Filter>;
18
+ filters: Filter[];
19
19
  }
@@ -40,7 +40,7 @@ export function apply(datum1D: Entry1D, options: BaselineCorrectionOptions) {
40
40
  throw new Error('baselineCorrection not applicable on this data');
41
41
  }
42
42
  const { algorithm } = options;
43
- let { x, re } = datum1D.data;
43
+ const { x, re } = datum1D.data;
44
44
 
45
45
  let corrected;
46
46
  switch (algorithm) {
@@ -50,14 +50,14 @@ export function apply(datum1D: Entry1D, options: BaselineCorrectionOptions) {
50
50
  case 'polynomial':
51
51
  {
52
52
  const { degree, zones } = options;
53
- let reduced = xyEquallySpaced(
53
+ const reduced = xyEquallySpaced(
54
54
  { x, y: re },
55
55
  { numberOfPoints: 4096, zones },
56
56
  );
57
- let result = baselineRegression(reduced.x, reduced.y, {
57
+ const result = baselineRegression(reduced.x, reduced.y, {
58
58
  regressionOptions: degree,
59
59
  });
60
- let { regression } = result;
60
+ const { regression } = result;
61
61
  corrected = new Float64Array(x.length);
62
62
  for (let i = 0; i < re.length; i++) {
63
63
  corrected[i] = re[i] - regression.predict(x[i]);
@@ -33,8 +33,8 @@ export function apply(spectrum: Entry1DDigitalFilter, options: any = {}) {
33
33
  }
34
34
  }
35
35
 
36
- let re = new Float64Array(spectrum.data.re);
37
- let im = new Float64Array(spectrum.data.im);
36
+ const re = new Float64Array(spectrum.data.re);
37
+ const im = new Float64Array(spectrum.data.im);
38
38
 
39
39
  let pointsToShift = Math.floor(digitalFilterValue);
40
40
 
@@ -29,7 +29,7 @@ export function apply(datum1D: Entry1DFt) {
29
29
 
30
30
  checkSameLength(datum1D);
31
31
 
32
- let digitalFilterApplied = datum1D.filters.some(
32
+ const digitalFilterApplied = datum1D.filters.some(
33
33
  (e) => e.name === 'digitalFilter' && e.flag,
34
34
  );
35
35
 
@@ -58,8 +58,8 @@ export function apply(datum1D: Entry1DFt) {
58
58
  );
59
59
 
60
60
  if (digitalFilterApplied) {
61
- let { digitalFilter = 0 } = info;
62
- let ph1 = (digitalFilter - Math.floor(digitalFilter)) * Math.PI * 2;
61
+ const { digitalFilter = 0 } = info;
62
+ const ph1 = (digitalFilter - Math.floor(digitalFilter)) * Math.PI * 2;
63
63
  Object.assign(
64
64
  data,
65
65
  reimPhaseCorrection(data as DataReIm, 0, -ph1, { reverse: true }),
@@ -90,10 +90,10 @@ function generateXAxis(datum1D: Entry1DFt) {
90
90
  const frequencyOffset = Number(info.frequencyOffset);
91
91
  const spectralWidth = Number(info.spectralWidth);
92
92
  const offset = frequencyOffset / baseFrequency;
93
- let spectralHalfWidth = 0.5 * spectralWidth;
94
- let nbPoints = datum1D.data.x.length;
93
+ const spectralHalfWidth = 0.5 * spectralWidth;
94
+ const nbPoints = datum1D.data.x.length;
95
95
  let firstPoint = offset - spectralHalfWidth;
96
- let dx = spectralWidth / (nbPoints - 1);
96
+ const dx = spectralWidth / (nbPoints - 1);
97
97
  const xAxis = new Float64Array(nbPoints);
98
98
  for (let i = 0; i < nbPoints; i++) {
99
99
  xAxis[i] = firstPoint;
@@ -110,7 +110,7 @@ function removeDCOffset(
110
110
  spectrum: Partial<Entry1DFt> & { data: Required<NmrData1D> },
111
111
  digitalFilterApplied: boolean,
112
112
  ) {
113
- let { digitalFilter = 0 } =
113
+ const { digitalFilter = 0 } =
114
114
  digitalFilterApplied && spectrum.info ? spectrum.info : {};
115
115
  const data = spectrum.data;
116
116
  const nbPoints = data.re.length;
@@ -45,13 +45,13 @@ export function apply(datum1D: Entry1D, options: any = {}) {
45
45
  filter.value = { ...filter.value, ph0: 0, ph1: 0, absolute };
46
46
  }
47
47
  } else if ('ph0' in options && 'ph1' in options) {
48
- let { ph0, ph1 } = options;
48
+ const { ph0, ph1 } = options;
49
49
  phaseCorrection(datum1D, { ph0, ph1 });
50
50
  if (filter) {
51
51
  filter.value = { ...filter.value, absolute };
52
52
  }
53
53
  } else {
54
- let { ph0, ph1 } = autoPhaseCorrection(datum1D);
54
+ const { ph0, ph1 } = autoPhaseCorrection(datum1D);
55
55
  phaseCorrection(datum1D, { ph0, ph1 });
56
56
  if (filter) {
57
57
  filter.value = { ...filter.value, absolute, ph0, ph1 };
@@ -63,7 +63,7 @@ function phaseCorrection(
63
63
  spectrum: Entry1D & { data: Required<NmrData1D> },
64
64
  phaseValues: { ph0: number; ph1: number },
65
65
  ) {
66
- let { ph0, ph1 } = phaseValues;
66
+ const { ph0, ph1 } = phaseValues;
67
67
  const { re, im } = spectrum.data;
68
68
  const phased = reimPhaseCorrection(
69
69
  { re, im },
@@ -33,7 +33,7 @@ export function reduce(previousValue: any, newValue: any) {
33
33
 
34
34
  export function filterXY(spectrum: Entry1D, options: MatrixOptions) {
35
35
  let x = spectrum.data.x.slice(0);
36
- let cloneX = spectrum.data.x.slice(0);
36
+ const cloneX = spectrum.data.x.slice(0);
37
37
  let re = spectrum.data.re.slice(0);
38
38
  let im = spectrum.data.im?.slice(0);
39
39
 
@@ -14,8 +14,8 @@ export function padDataToNextPowerOfTwo(
14
14
  const { x, re, im } = datum1D.data;
15
15
  const size = nextPowerOfTwo(x.length);
16
16
 
17
- let newRE = new Float64Array(size);
18
- let newIM = new Float64Array(size);
17
+ const newRE = new Float64Array(size);
18
+ const newIM = new Float64Array(size);
19
19
 
20
20
  const grpdly = datum1D.info?.digitalFilter || 0;
21
21
  const pointsToShift = grpdly > 0 ? Math.floor(grpdly) : 0;
@@ -27,17 +27,18 @@ export function apply(
27
27
  throw new Error('zeroFilling not applicable on this data');
28
28
  }
29
29
 
30
- let { nbPoints, factor = 2 } = options;
31
-
32
- if (!nbPoints) {
33
- nbPoints = 2 ** Math.round(Math.log2(datum1D.data.x.length * factor));
30
+ const { factor = 2 } = options;
31
+ const {
32
+ nbPoints = 2 ** Math.round(Math.log2(datum1D.data.x.length * factor)),
33
+ } = options;
34
+ if (!options.nbPoints) {
34
35
  const filter = datum1D.filters.find((filter) => filter.name === id);
35
36
  if (filter) {
36
37
  filter.value = { nbPoints };
37
38
  }
38
39
  }
39
40
 
40
- let digitalFilterApplied = datum1D.filters.some(
41
+ const digitalFilterApplied = datum1D.filters.some(
41
42
  (e) => e.name === 'digitalFilter' && e.flag,
42
43
  );
43
44
 
@@ -47,9 +48,9 @@ export function apply(
47
48
 
48
49
  const { re, im, x } = datum1D.data;
49
50
 
50
- let newRE = new Float64Array(nbPoints);
51
- let newIM = new Float64Array(nbPoints);
52
- let newX = new Float64Array(nbPoints);
51
+ const newRE = new Float64Array(nbPoints);
52
+ const newIM = new Float64Array(nbPoints);
53
+ const newX = new Float64Array(nbPoints);
53
54
 
54
55
  const length = Math.min(nbPoints, re.length);
55
56
 
@@ -57,7 +58,7 @@ export function apply(
57
58
  newIM.set(im.slice(0, length - pointsToShift));
58
59
  newX.set(x.slice(0, length - pointsToShift));
59
60
 
60
- let diff = x[1] - x[0];
61
+ const diff = x[1] - x[0];
61
62
  let currentX = x[length - pointsToShift - 1];
62
63
  for (let i = length - pointsToShift; i < nbPoints; i++) {
63
64
  currentX += diff;
@@ -41,7 +41,7 @@ export function mapPeaks(
41
41
  const shiftX = getShiftX(spectrum);
42
42
  const error = getSpectrumErrorValue(spectrum);
43
43
 
44
- let newPeaks: Peak1D[] = [];
44
+ const newPeaks: Peak1D[] = [];
45
45
 
46
46
  for (const peak of peaks) {
47
47
  const peakDelta = getPeakDelta(peak, shiftTarget, shiftX);
@@ -10,5 +10,5 @@ export interface Entry2D {
10
10
  originalInfo?: Record<string, any>;
11
11
  data: NmrData2D;
12
12
  originalData?: NmrData2D;
13
- filters: Array<Filter>;
13
+ filters: Filter[];
14
14
  }
@@ -0,0 +1,93 @@
1
+ import { DoubleArray, NmrData2DFid } from 'cheminfo-types';
2
+ import { FilterDomainUpdateRules } from '../../FiltersManager';
3
+ import { Entry2D } from '../Entry2D';
4
+ import {
5
+ DirectDimensionOptions,
6
+ fftDirectDimension,
7
+ } from '../../../xyz/util/fft2d/fftDirectDimension';
8
+ import {
9
+ xAdd,
10
+ xEnsureFloat64,
11
+ xMultiply,
12
+ xSubtract,
13
+ } from 'ml-spectra-processing';
14
+ import { Data2DFidComplete } from '../../../utilities/checkData2DFid';
15
+
16
+ export const id = 'fftDimension1';
17
+ export const name = 'FFT Dimension 1';
18
+
19
+ export const DOMAIN_UPDATE_RULES: Readonly<FilterDomainUpdateRules> = {
20
+ updateXDomain: true,
21
+ updateYDomain: true,
22
+ };
23
+
24
+ export function apply(datum2D: Entry2D, options: DirectDimensionOptions) {
25
+ if (!isApplicable(datum2D)) {
26
+ throw new Error('fft dimension 1 not applicable on this data');
27
+ }
28
+
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ const { data, info } = datum2D;
31
+ const { digitalFilter: digitalFilterValue = 0 } = info;
32
+
33
+ const fnMode = info.fnMode[1].toLowerCase();
34
+ const orderedData =
35
+ fnMode === 'echo-antiecho'
36
+ ? echoQuadrature(data)
37
+ : {
38
+ re: data.re.z,
39
+ im: data.im.z,
40
+ };
41
+
42
+ const { zeroFilling = {} } = options;
43
+
44
+ const nbColumns = orderedData.re[0].length;
45
+
46
+ const { factor = 1 } = zeroFilling;
47
+ const nbPoints =
48
+ zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbColumns * factor));
49
+ const transformed = fftDirectDimension(orderedData, {
50
+ fnMode,
51
+ ...options,
52
+ digitalFilterValue,
53
+ zeroFilling: { nbPoints },
54
+ });
55
+ datum2D.data.re.z = transformed.re.to2DArray().map(xEnsureFloat64);
56
+ datum2D.data.im.z = transformed.im.to2DArray().map(xEnsureFloat64);
57
+ }
58
+
59
+ export function isApplicable(
60
+ datum2D: Entry2D,
61
+ ): datum2D is Entry2D & { data: Required<NmrData2DFid> } {
62
+ if (datum2D.info.isComplex && datum2D.info.isFid) return true;
63
+ return false;
64
+ }
65
+
66
+ export function reduce() {
67
+ return {
68
+ once: true,
69
+ reduce: undefined,
70
+ };
71
+ }
72
+
73
+ function echoQuadrature(data: Data2DFidComplete) {
74
+ const {
75
+ re: { z: reMatrix },
76
+ im: { z: imMatrix },
77
+ } = data;
78
+ const newRe: DoubleArray[] = [];
79
+ const newIm: DoubleArray[] = [];
80
+ for (let i = 0; i < reMatrix.length; i += 2) {
81
+ const reCosine = reMatrix[i];
82
+ const imCosine = imMatrix[i];
83
+ const reSine = reMatrix[i + 1];
84
+ const imSine = imMatrix[i + 1];
85
+
86
+ newRe.push(xSubtract(xMultiply(imSine, -1), imCosine));
87
+ newRe.push(xSubtract(reSine, reCosine));
88
+ newIm.push(xAdd(reSine, reCosine));
89
+ newIm.push(xSubtract(imSine, imCosine));
90
+ }
91
+
92
+ return { re: newRe, im: newIm };
93
+ }
@@ -0,0 +1,94 @@
1
+ import { NmrData2DFid, NmrData2DFt } from 'cheminfo-types';
2
+ import { FilterDomainUpdateRules } from '../../FiltersManager';
3
+ import { Entry2D } from '../Entry2D';
4
+ import {
5
+ IndirectDimensionOptions,
6
+ fftIndirectDimension,
7
+ } from '../../../xyz/util/fft2d/fftIndirectDimension';
8
+ import { xEnsureFloat64 } from 'ml-spectra-processing';
9
+ import { getMinMaxXY } from '../../../xyz/util/getMinMaxXY';
10
+ import Matrix from 'ml-matrix';
11
+
12
+ export const id = 'fftDimension2';
13
+ export const name = 'FFT Dimension 2';
14
+
15
+ export const DOMAIN_UPDATE_RULES: Readonly<FilterDomainUpdateRules> = {
16
+ updateXDomain: true,
17
+ updateYDomain: true,
18
+ };
19
+
20
+ export function apply(datum2D: Entry2D, options: IndirectDimensionOptions) {
21
+ if (!isApplicable(datum2D)) {
22
+ throw new Error('fft dimension 2 not applicable on this data');
23
+ }
24
+ const { data, info } = datum2D;
25
+ const fnMode = info.fnMode[1];
26
+
27
+ const orderedData = {
28
+ re: data.re.z,
29
+ im: data.im.z,
30
+ };
31
+
32
+ const { zeroFilling = {} } = options;
33
+ const nbRows = orderedData.re.length;
34
+ const { factor = 2 } = zeroFilling;
35
+ const nbPoints =
36
+ zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbRows * factor));
37
+ const transformed = fftIndirectDimension(
38
+ {
39
+ re: orderedData.re,
40
+ im: orderedData.im,
41
+ },
42
+ {
43
+ fnMode,
44
+ ...options,
45
+ zeroFilling: { nbPoints },
46
+ },
47
+ );
48
+ (datum2D.data as NmrData2DFt) = {
49
+ ...getQuadrants(transformed, info),
50
+ };
51
+ const { isFid, isComplex, ...resInfo } = info;
52
+ datum2D.info = {
53
+ ...resInfo,
54
+ isFt: true,
55
+ };
56
+ }
57
+ function getQuadrants(
58
+ transformed: Record<string, Matrix>,
59
+ info: Record<string, any>,
60
+ ): NmrData2DFt {
61
+ const quadrants: Partial<NmrData2DFt> = {};
62
+ const { fnMode } = info;
63
+ const minMaxXY = getMinMaxXY(info);
64
+ const buildQuandrants = (keys: Array<'rr' | 'ir' | 'ri' | 'ii'>) => {
65
+ for (const key of keys) {
66
+ quadrants[key] = {
67
+ z: transformed[key].to2DArray().map(xEnsureFloat64),
68
+ maxZ: transformed[key].max(),
69
+ minZ: transformed[key].min(),
70
+ ...minMaxXY,
71
+ };
72
+ }
73
+ return quadrants as NmrData2DFt;
74
+ };
75
+
76
+ if (fnMode === 'QF') {
77
+ return buildQuandrants(['rr', 'ir']);
78
+ }
79
+
80
+ return buildQuandrants(['rr', 'ir', 'ri', 'ii']);
81
+ }
82
+ export function isApplicable(
83
+ datum2D: Entry2D,
84
+ ): datum2D is Entry2D & { data: Required<NmrData2DFid> } {
85
+ if (datum2D.info.isComplex && datum2D.info.isFid) return true;
86
+ return false;
87
+ }
88
+
89
+ export function reduce() {
90
+ return {
91
+ once: true,
92
+ reduce: undefined,
93
+ };
94
+ }
@@ -7,7 +7,7 @@ export interface Shift2D {
7
7
  }
8
8
 
9
9
  export function getShift(spectrum: Entry2D): Shift2D {
10
- let shift = { x: 0, y: 0 };
10
+ const shift = { x: 0, y: 0 };
11
11
  if (spectrum?.filters) {
12
12
  for (const filter of spectrum.filters) {
13
13
  if (filter.name === Filters.shift2DX.id) {
@@ -3,7 +3,7 @@ declare module 'ml-tree-set' {
3
3
  type Elements = any;
4
4
  export default class TreeSet {
5
5
  public length: number;
6
- public elements: Array<w>;
6
+ public elements: w[];
7
7
 
8
8
  public constructor(comparator: Comparator);
9
9
 
@@ -15,7 +15,7 @@ possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
15
15
  export function splitPatterns(multiplet: string) {
16
16
  if (/^\s*$/.exec(multiplet)) return [];
17
17
  const regexp = new RegExp(possiblePatterns.join('|'), 'g');
18
- let result = multiplet.match(regexp);
18
+ const result = multiplet.match(regexp);
19
19
  if (result) return result.map((entry) => entry.trim());
20
20
  return [multiplet];
21
21
  }
@@ -38,14 +38,15 @@ export function peaksFilterImpurities<T extends NMRPeak1D>(
38
38
  peakList: T[],
39
39
  options: OptionsPeaksFilterImpurities = {},
40
40
  ) {
41
- let { solvent, error = 0.025, remove = false } = options;
41
+ const { error = 0.025, remove = false } = options;
42
42
 
43
- if (solvent) {
43
+ if (options.solvent) {
44
+ let { solvent } = options;
44
45
  if (solvent === '(cd3)2so') solvent = 'dmso';
45
46
  if (solvent === 'meod') solvent = 'cd3od';
46
- let solventImpurities = impurities[solvent];
47
- for (let impurity of toCheck) {
48
- let impurityShifts = solventImpurities[impurity];
47
+ const solventImpurities = impurities[solvent];
48
+ for (const impurity of toCheck) {
49
+ const impurityShifts = solventImpurities[impurity];
49
50
  checkImpurity(peakList, impurityShifts, {
50
51
  error,
51
52
  remove,
@@ -61,7 +62,7 @@ function checkImpurity<T extends NMRPeak1D>(
61
62
  impurity: ImpuritySignal[],
62
63
  options: OptionsCheckImpurity,
63
64
  ) {
64
- let { name, error, remove } = options;
65
+ const { name, error, remove } = options;
65
66
  let j, tolerance, difference;
66
67
  let i = impurity.length;
67
68
  while (i--) {
@@ -122,7 +122,7 @@ export function peaksToRanges(
122
122
  peakList: NMRPeak1DIntern[],
123
123
  options: OptionsPeaksToRanges = {},
124
124
  ): NMRRange[] {
125
- let {
125
+ const {
126
126
  integrationSum = 100,
127
127
  joinOverlapRanges = true,
128
128
  clean = 0.4,
@@ -134,7 +134,7 @@ export function peaksToRanges(
134
134
  nucleus = '1H',
135
135
  } = options;
136
136
 
137
- let signalOptions = {
137
+ const signalOptions = {
138
138
  integrationSum,
139
139
  integralType,
140
140
  frequencyCluster,
@@ -149,7 +149,7 @@ export function peaksToRanges(
149
149
  data.y = data.y.reverse();
150
150
  }
151
151
 
152
- let signals = detectSignals(data, peakList, signalOptions);
152
+ const signals = detectSignals(data, peakList, signalOptions);
153
153
  if (clean) {
154
154
  for (let i = 0; i < signals.length; i++) {
155
155
  if (Math.abs(signals[i].integralData.value) < clean) {
@@ -162,7 +162,7 @@ export function peaksToRanges(
162
162
  let nHi, sum;
163
163
  for (let i = 0; i < signals.length; i++) {
164
164
  signals[i] = jAnalyzer.compilePattern(signals[i]);
165
- let signal = signals[i];
165
+ const signal = signals[i];
166
166
  if (
167
167
  signal.maskPattern &&
168
168
  signal.multiplicity !== 'm' &&
@@ -172,11 +172,11 @@ export function peaksToRanges(
172
172
  // Create a new signal with the removed peaks
173
173
  nHi = 0;
174
174
  sum = 0;
175
- let peaksO = [];
175
+ const peaksO = [];
176
176
  for (let j = signal.maskPattern.length - 1; j >= 0; j--) {
177
177
  sum += computeArea(signal.peaks[j], frequency);
178
178
  if (!signal.maskPattern[j]) {
179
- let peakR = signal.peaks.splice(j, 1)[0];
179
+ const peakR = signal.peaks.splice(j, 1)[0];
180
180
  peaksO.push({
181
181
  x: peakR.x,
182
182
  y: peakR.intensity,
@@ -192,12 +192,12 @@ export function peaksToRanges(
192
192
  if (peaksO.length > 0) {
193
193
  nHi = (nHi * signal.integralData.value) / sum;
194
194
  signal.integralData.value -= nHi;
195
- let peaks1 = [];
195
+ const peaks1 = [];
196
196
  for (let j = peaksO.length - 1; j >= 0; j--) {
197
197
  peaks1.push(peaksO[j]);
198
198
  }
199
199
  signalOptions.integrationSum = Math.abs(nHi);
200
- let ranges = detectSignals(data, peaks1, signalOptions);
200
+ const ranges = detectSignals(data, peaks1, signalOptions);
201
201
 
202
202
  for (const range of ranges) {
203
203
  signals.push(range);
@@ -223,7 +223,7 @@ export function peaksToRanges(
223
223
 
224
224
  let ranges: NMRRange[] = [];
225
225
  for (let i = 0; i < signals.length; i++) {
226
- let signal = signals[i];
226
+ const signal = signals[i];
227
227
  const range: NMRRange = {
228
228
  id: generateID(),
229
229
  from: signal.integralData.from,
@@ -277,27 +277,28 @@ export function detectSignals(
277
277
  peakList: NMRPeak1DIntern[],
278
278
  options: OptionsDetectSignals = {},
279
279
  ): SignalIntern[] {
280
- let {
280
+ const {
281
+ frequencyCluster = 16,
281
282
  integrationSum = 100,
282
283
  integralType = 'sum',
283
- frequencyCluster = 16,
284
284
  frequency = 400,
285
285
  nucleus = '1H',
286
286
  } = options;
287
287
 
288
288
  let signal1D: SignalIntern = assignSignal(peakList[0], frequency, nucleus);
289
289
  let peaks;
290
- let signals = [];
290
+ const signals = [];
291
291
  let prevPeak = { x: Number.MIN_SAFE_INTEGER };
292
292
 
293
- frequencyCluster /= frequency;
293
+ const distantToClustering = frequencyCluster / frequency;
294
+
294
295
  for (const peak of peakList) {
295
- if (Math.abs(peak.x - prevPeak.x) > frequencyCluster) {
296
+ if (Math.abs(peak.x - prevPeak.x) > distantToClustering) {
296
297
  signal1D = assignSignal(peak, frequency, nucleus);
297
298
  if (peak.kind) signal1D.kind = peak.kind;
298
299
  signals.push(signal1D);
299
300
  } else {
300
- let tmp = peak.x + peak.width / frequency;
301
+ const tmp = peak.x + peak.width / frequency;
301
302
  signal1D.stopX = Math.max(signal1D.stopX, tmp);
302
303
  signal1D.startX = Math.min(signal1D.startX, tmp);
303
304
  signal1D.nbPeaks++;
@@ -318,14 +319,14 @@ export function detectSignals(
318
319
  }
319
320
  prevPeak = peak;
320
321
  }
321
- for (let signal of signals) {
322
+ for (const signal of signals) {
322
323
  peaks = signal.peaks;
323
- let integration = signal.integralData;
324
+ const integration = signal.integralData;
324
325
  let chemicalShift = 0;
325
326
  let integralPeaks = 0;
326
327
 
327
328
  for (const peak of peaks) {
328
- let area = computeArea(peak, frequency);
329
+ const area = computeArea(peak, frequency);
329
330
  chemicalShift += peak.x * area;
330
331
  integralPeaks += area;
331
332
  }