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
@@ -35,7 +35,7 @@ export function queryByHose(
35
35
  }
36
36
 
37
37
  for (const atomNumber of element.atoms) {
38
- let atom = {
38
+ const atom = {
39
39
  diaIDs: [element.oclID],
40
40
  delta: res ? res[0] : null,
41
41
  atoms: [atomNumber],
@@ -1,7 +1,7 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
2
 
3
3
  import { NMRRangeWithIds, NMRSignal1DWithId } from '../assignment/nmrAssigment';
4
- import { addIDs } from '../assignment/utils/getAssignment/checkIDs';
4
+ import { addIDs } from '../assignment/utils/generalAssignment/checkIDs';
5
5
  import { NMRPeak1D } from '../peaks/NMRPeak1D';
6
6
  import { detectSignals } from '../peaks/peaksToRanges';
7
7
  import { solventSuppression } from '../peaks/solventSuppression';
@@ -23,12 +23,12 @@ export function markSolventPeaks<T extends NMRRange>(
23
23
  const { frequency = 400 } = options;
24
24
  const ranges = addIDs(cloneArray(input)) as NMRRangeWithIds[];
25
25
 
26
- let peakList: NMRPeak1DWithSignalID[] = [];
26
+ const peakList: NMRPeak1DWithSignalID[] = [];
27
27
  for (const range of ranges) {
28
28
  const rangeID = range.id;
29
29
  for (const signal of range.signals || []) {
30
30
  const signalID = signal.id;
31
- for (let peak of signal.peaks || []) {
31
+ for (const peak of signal.peaks || []) {
32
32
  peakList.push({
33
33
  ...peak,
34
34
  rangeID,
@@ -43,13 +43,13 @@ export function markSolventPeaks<T extends NMRRange>(
43
43
  });
44
44
 
45
45
  const signalsWithSolvent = getSignalIDsWithSolvent(peaks);
46
- for (let range of ranges) {
46
+ for (const range of ranges) {
47
47
  if (!range.signals) continue;
48
- for (let signal of range.signals) {
48
+ for (const signal of range.signals) {
49
49
  if (!signalsWithSolvent.includes(signal.id)) continue;
50
50
  const signalPeaks = [];
51
51
  const solventSignalPeaks = [];
52
- for (let peak of peaks) {
52
+ for (const peak of peaks) {
53
53
  if (peak.signalID === signal.id) {
54
54
  const { signalID, rangeID, ...newPeak } = peak;
55
55
  if (peak.kind === 'solvent') {
@@ -91,7 +91,7 @@ export function markSolventPeaks<T extends NMRRange>(
91
91
 
92
92
  function getSignalIDsWithSolvent(solventPeaks: NMRPeak1DWithSignalID[]) {
93
93
  const uniqueSignalID = new Set();
94
- for (let peak of solventPeaks) {
94
+ for (const peak of solventPeaks) {
95
95
  if (peak.kind !== 'solvent') continue;
96
96
  uniqueSignalID.add(peak.signalID);
97
97
  }
@@ -100,7 +100,7 @@ function getSignalIDsWithSolvent(solventPeaks: NMRPeak1DWithSignalID[]) {
100
100
 
101
101
  function adaptSignals(signals: SignalIntern[]) {
102
102
  const newSignals = [];
103
- for (let signal of signals) {
103
+ for (const signal of signals) {
104
104
  const signalResult: NMRSignal1DWithId = {
105
105
  id: generateID(),
106
106
  delta: signal.delta,
@@ -138,7 +138,7 @@ function pushDelta(range: NMRRange, acsRanges: string[], options: any) {
138
138
  }
139
139
 
140
140
  if (range.signals && range.signals.length > 0) {
141
- let signals = range.signals;
141
+ const signals = range.signals;
142
142
  if (signals.length > 1) {
143
143
  if (options.ascending === true) {
144
144
  signals.sort((a, b) => {
@@ -156,7 +156,7 @@ function pushDelta(range: NMRRange, acsRanges: string[], options: any) {
156
156
  signal.multiplicity || (signal.js && signal.js.length > 0),
157
157
  )
158
158
  ) {
159
- for (let signal of signals) {
159
+ for (const signal of signals) {
160
160
  parenthesis = [];
161
161
  if (signal.delta !== undefined) {
162
162
  strings = appendSeparator(strings);
@@ -208,7 +208,7 @@ function getIntegral(range: NMRRange, options: { nucleus: string[] }) {
208
208
  }
209
209
 
210
210
  function pushIntegral(range: NMRRange, parenthesis: string[], options: any) {
211
- let integration = getIntegral(range, options);
211
+ const integration = getIntegral(range, options);
212
212
  if (integration.length > 0) parenthesis.push(integration);
213
213
  }
214
214
 
@@ -218,7 +218,7 @@ function pushmultiplicityFromSignal(
218
218
  ) {
219
219
  let multiplicity = signal.multiplicity;
220
220
  if (!multiplicity) {
221
- let joinedCouplings = signalJoinCouplings(signal, {
221
+ const joinedCouplings = signalJoinCouplings(signal, {
222
222
  acsFormat: true,
223
223
  tolerance: 0.05,
224
224
  ignoreDiaIDs: true,
@@ -285,8 +285,8 @@ function pushCoupling(
285
285
  return b.coupling - a.coupling;
286
286
  });
287
287
 
288
- let values = [];
289
- for (let j of signal.js) {
288
+ const values = [];
289
+ for (const j of signal.js) {
290
290
  if (j.coupling !== undefined) {
291
291
  values.push(j.coupling.toFixed(options.nbDecimalJ));
292
292
  }
@@ -44,7 +44,7 @@ export interface RangeToXYOptions {
44
44
  function checkForSignals(
45
45
  ranges: NMRRange[],
46
46
  ): asserts ranges is RangeWithSignal[] {
47
- for (let range of ranges) {
47
+ for (const range of ranges) {
48
48
  if (!range.signals) throw new Error('range has not signals');
49
49
  }
50
50
  }
@@ -63,7 +63,7 @@ export function rangesToXY(
63
63
  options: any = {},
64
64
  ): { x: DoubleArray; y: Float64Array } {
65
65
  checkForSignals(ranges);
66
- let {
66
+ const {
67
67
  frequency = 400,
68
68
  lineWidth = 1,
69
69
  nbPoints = 16 * 1024,
@@ -86,7 +86,7 @@ export function rangesToXY(
86
86
  frequency,
87
87
  };
88
88
 
89
- let spectrum: DoubleArray = new Float64Array(nbPoints);
89
+ const spectrum: DoubleArray = new Float64Array(nbPoints);
90
90
  for (const range of ranges) {
91
91
  const { integration, signals = [] } = range;
92
92
  const { multiplicity: rangeMulplicity = '' } = range;
@@ -97,10 +97,10 @@ export function rangesToXY(
97
97
  multiplicity: 'm',
98
98
  });
99
99
  }
100
- let rangeSpectrum: DoubleArray = new Float64Array(nbPoints);
100
+ const rangeSpectrum: DoubleArray = new Float64Array(nbPoints);
101
101
  for (const signal of signals) {
102
102
  const { multiplicity } = signal;
103
- let signalSpectrum =
103
+ const signalSpectrum =
104
104
  multiplicity === 'm' || multiplicity === 'b' || multiplicity === 'br s'
105
105
  ? broadPeakOrMultipletSpectrum([signal], spectrumOptions).y
106
106
  : hackSignalsToXY([signal], spectrumOptions).y;
@@ -127,7 +127,7 @@ function broadPeakOrMultipletSpectrum(
127
127
  const spectrumGenerator = new SpectrumGenerator(options);
128
128
 
129
129
  const broadWidth = (lineWidth * 3) / frequency;
130
- for (let signal of signals) {
130
+ for (const signal of signals) {
131
131
  const { multiplicity, delta, integration = 1 } = signal;
132
132
  if (multiplicity === 'b' || multiplicity === 'br s') {
133
133
  spectrumGenerator.addPeak({
@@ -79,9 +79,9 @@ function groupJCouplings(
79
79
  signal.js.sort((a, b) => b.coupling - a.coupling);
80
80
 
81
81
  let currentGroup = [signal.js[0]];
82
- let groups = [currentGroup];
82
+ const groups = [currentGroup];
83
83
  for (let i = 1; i < signal.js.length; i++) {
84
- let currentJ = signal.js[i];
84
+ const currentJ = signal.js[i];
85
85
  if (
86
86
  comparator(currentGroup[currentGroup.length - 1], currentJ, tolerance)
87
87
  ) {
@@ -93,7 +93,7 @@ function groupJCouplings(
93
93
  }
94
94
 
95
95
  signal.js = [];
96
- for (let group of groups) {
96
+ for (const group of groups) {
97
97
  let multiplicity = '';
98
98
  try {
99
99
  multiplicity = joinPatterns(
@@ -107,33 +107,33 @@ function groupJCouplings(
107
107
  continue;
108
108
  }
109
109
 
110
- let coupling = xSum(group.map((group) => group.coupling)) / group.length;
111
- let atoms = distinctValues(
110
+ const coupling = xSum(group.map((group) => group.coupling)) / group.length;
111
+ const atoms = distinctValues(
112
112
  group
113
113
  .filter((group) => group.atoms)
114
114
  .map((group) => group.atoms)
115
115
  .flat() as number[],
116
116
  ) as number[];
117
117
 
118
- let assignment = distinctValues(
118
+ const assignment = distinctValues(
119
119
  group
120
120
  .filter((group) => group.assignment)
121
121
  .map((group) => group.assignment)
122
122
  .flat() as string[],
123
123
  ).join(' ');
124
124
 
125
- let diaIDs = distinctValues(
125
+ const diaIDs = distinctValues(
126
126
  group
127
127
  .filter((group) => group.diaIDs)
128
128
  .map((group) => group.diaIDs)
129
129
  .flat() as string[],
130
130
  ) as string[];
131
131
 
132
- let distances = distinctValues(
132
+ const distances = distinctValues(
133
133
  group.map((group) => group.pathLength) as number[],
134
134
  ) as number[];
135
135
 
136
- let newJ: Jcoupling = {
136
+ const newJ: Jcoupling = {
137
137
  coupling,
138
138
  multiplicity,
139
139
  };
@@ -9,10 +9,10 @@ export function signalMultiplicityPattern(
9
9
  signal: NMRSignal1D,
10
10
  options?: { acsFormat?: boolean },
11
11
  ) {
12
- let js = signal.js;
12
+ const js = signal.js;
13
13
  let pattern = '';
14
14
  if (js && js.length > 0) {
15
- for (let coupling of js) {
15
+ for (const coupling of js) {
16
16
  const { multiplicity = '' } = coupling;
17
17
  pattern += options?.acsFormat
18
18
  ? selectACSPattern(multiplicity)
@@ -4,7 +4,7 @@ import type { Jcoupling } from './Jcoupling';
4
4
  import { NMRSignal1D } from './NMRSignal1D';
5
5
 
6
6
  export function addDummySignals(signals: NMRSignal1D[]) {
7
- let newSignals: NMRSignal1D[] = JSON.parse(JSON.stringify(signals));
7
+ const newSignals: NMRSignal1D[] = JSON.parse(JSON.stringify(signals));
8
8
 
9
9
  let nextAtomToAssign =
10
10
  signals.reduce((nextAtomToAssign, signal) => {
@@ -18,7 +18,7 @@ export function addDummySignals(signals: NMRSignal1D[]) {
18
18
  js: jCouplings = [],
19
19
  atoms: signalAssignment = [nextAtomToAssign++],
20
20
  } = signal;
21
- let { newCouplings, tempSignals } = checkCouplings(
21
+ const { newCouplings, tempSignals } = checkCouplings(
22
22
  jCouplings,
23
23
  signalAssignment,
24
24
  nextAtomToAssign + signals.length,
@@ -38,13 +38,13 @@ function checkCouplings(
38
38
  signalAssignment: number[],
39
39
  nextAtomToAssign: number,
40
40
  ) {
41
- let tempSignals: NMRSignal1D[] = [];
41
+ const tempSignals: NMRSignal1D[] = [];
42
42
  const newCouplings = jCouplings.reduce<Jcoupling[]>(
43
43
  (newCouplings, jCoupling) => {
44
44
  const { atoms = [], multiplicity, coupling } = jCoupling;
45
45
  if (atoms.length === 0) {
46
46
  if (coupling && multiplicity) {
47
- let tempCouplings: Jcoupling[] = [];
47
+ const tempCouplings: Jcoupling[] = [];
48
48
  const nbLinks = couplingPatterns.indexOf(multiplicity);
49
49
  for (let i = 0; i < nbLinks; i++) {
50
50
  nextAtomToAssign++;
@@ -11,6 +11,6 @@ export function hackSignalsToXY(
11
11
  signals: NMRSignal1D[],
12
12
  options: OptionsSignalsToXY = {},
13
13
  ) {
14
- let newSignals = addDummySignals(signals);
14
+ const newSignals = addDummySignals(signals);
15
15
  return signalsToXY(newSignals, options);
16
16
  }
@@ -60,7 +60,7 @@ export function getInternalSignals(
60
60
  options: GetInternalSignalsOptions,
61
61
  ) {
62
62
  let index = 0;
63
- let internalSignals = [];
63
+ const internalSignals = [];
64
64
  const {
65
65
  shape: shapeAsOption = { kind: 'gaussian' },
66
66
  baseline: shiftValue = minMaxY.min,
@@ -117,7 +117,7 @@ export function getInternalSignals(
117
117
  for (const jCoupling of signal.js || []) {
118
118
  for (const property of properties) {
119
119
  const parameter = 'coupling' as Parameter;
120
- let generalParameterValue =
120
+ const generalParameterValue =
121
121
  options?.parameters?.[parameter]?.[property];
122
122
  if (generalParameterValue) {
123
123
  if (typeof generalParameterValue === 'number') {
@@ -132,7 +132,7 @@ export function getInternalSignals(
132
132
  ),
133
133
  );
134
134
  } else {
135
- let value = generalParameterValue({ jCoupling });
135
+ const value = generalParameterValue({ jCoupling });
136
136
  propertiesValues[property].push(
137
137
  getNormalizedValue(
138
138
  value,
@@ -218,7 +218,7 @@ function getPropertyValue(options: {
218
218
  const { signal, frequency, parameter, property, minMaxY, shapeFct } = options;
219
219
 
220
220
  // check if the property is specified in the signal
221
- let propertyValue = signal?.parameters?.[parameter]?.[property];
221
+ const propertyValue = signal?.parameters?.[parameter]?.[property];
222
222
  if (propertyValue) {
223
223
  return getNormalizedValue(
224
224
  propertyValue,
@@ -232,7 +232,7 @@ function getPropertyValue(options: {
232
232
 
233
233
  // check if there are some global option, it could be a number or a callback
234
234
 
235
- let generalParameterValue = options?.parameters?.[parameter]?.[property];
235
+ const generalParameterValue = options?.parameters?.[parameter]?.[property];
236
236
  if (generalParameterValue) {
237
237
  if (typeof generalParameterValue === 'number') {
238
238
  return getNormalizedValue(
@@ -244,7 +244,7 @@ function getPropertyValue(options: {
244
244
  options.baseline,
245
245
  );
246
246
  } else {
247
- let value = generalParameterValue(signal);
247
+ const value = generalParameterValue(signal);
248
248
  return getNormalizedValue(
249
249
  value,
250
250
  parameter,
@@ -44,7 +44,7 @@ export function getSumOfShapes(
44
44
  }
45
45
  return (currentX: number) => {
46
46
  let totalY = 0;
47
- for (let peak of peaks) {
47
+ for (const peak of peaks) {
48
48
  const { x, y, intensity, shape } = peak;
49
49
  totalY += y * intensity * shape.fct(currentX - x);
50
50
  }
@@ -66,7 +66,7 @@ export function optimizeSignals(
66
66
  simulation: simulationOptions,
67
67
  ...restOptions
68
68
  } = options;
69
- let temp = xMinMaxValues(data.y);
69
+ const temp = xMinMaxValues(data.y);
70
70
  const minMaxY = { ...temp, range: temp.max - temp.min };
71
71
 
72
72
  const internalSignals = getInternalSignals(data, signals, minMaxY, {
@@ -74,7 +74,7 @@ export function optimizeSignals(
74
74
  ...restOptions,
75
75
  });
76
76
  const { baseline: shiftValue = minMaxY.min } = options;
77
- let normalizedY = new Float64Array(data.y.length);
77
+ const normalizedY = new Float64Array(data.y.length);
78
78
  for (let i = 0; i < data.y.length; i++) {
79
79
  normalizedY[i] = (data.y[i] - shiftValue) / minMaxY.range;
80
80
  }
@@ -115,7 +115,7 @@ export function optimizeSignals(
115
115
  ? [directOptimization, defaultDirectOptimizationOptions]
116
116
  : [levenbergMarquardt, defaultLMOptimizationOptions];
117
117
 
118
- let fitted = algorithm({ x: data.x, y: normalizedY }, sumOfShapes, {
118
+ const fitted = algorithm({ x: data.x, y: normalizedY }, sumOfShapes, {
119
119
  minValues,
120
120
  maxValues,
121
121
  initialValues,
@@ -39,13 +39,9 @@ export function signals2DToZ(
39
39
  signals: NMRSignal2D[],
40
40
  options: Signals2DToZOptions = {},
41
41
  ) {
42
- let {
43
- from = -1,
44
- to = 12,
45
- nbPoints = 512,
46
- width = 0.02,
47
- factor = 3,
48
- } = options;
42
+ const { from = -1, to = 12, nbPoints = 512, factor = 3 } = options;
43
+
44
+ let { width = 0.02 } = options;
49
45
 
50
46
  const peaks = signals.reduce<Peak2DSeries>(
51
47
  (acc, { x, y }) => {
@@ -77,7 +73,7 @@ function ensureXYNumber(input: number | XYNumber) {
77
73
  }
78
74
 
79
75
  function mergeClosePeaks(peaksIn: Peak2DSeries) {
80
- let peaks = JSON.parse(JSON.stringify(peaksIn));
76
+ const peaks = JSON.parse(JSON.stringify(peaksIn));
81
77
  for (let i = 0; i < peaks.x.length; i++) {
82
78
  for (let j = i + 1; j < peaks.x.length; j++) {
83
79
  if (peaks.x[i] === peaks.x[j] && peaks.y[i] === peaks.y[j]) {
@@ -64,10 +64,10 @@ export function signalsJoin(
64
64
 
65
65
  const groupedSignals: Record<string, Signal1DWidthJsAndDiaID[]> = {};
66
66
 
67
- for (let signal of copySignals) {
67
+ for (const signal of copySignals) {
68
68
  signal.js = signal.js.sort(localeCompareJcouplingKeys);
69
69
  const keyDiaIDs = signal.diaIDs.join(' ');
70
- let id = `${keyDiaIDs} ${signal.js
70
+ const id = `${keyDiaIDs} ${signal.js
71
71
  .map(
72
72
  (j: JcouplingFromPrediction) => `${j.diaIDs.join(' ')} ${j.pathLength}`,
73
73
  )
@@ -82,7 +82,7 @@ export function signalsJoin(
82
82
  let newSignals: Signal1DWidthJsAndDiaID[] = [];
83
83
  Object.values(groupedSignals).forEach((group) => {
84
84
  // joining couplings only if diaID and pathLength are equal
85
- let js: JcouplingFromPrediction[] = [];
85
+ const js: JcouplingFromPrediction[] = [];
86
86
  for (let i = 0; i < group[0].js.length; i++) {
87
87
  const coupling = group[0].js[i];
88
88
  js.push({
@@ -92,7 +92,7 @@ export function signalsJoin(
92
92
  coupling: xMean(group.map((item) => item.js[i].coupling)),
93
93
  });
94
94
  }
95
- let signal: Signal1DWidthJsAndDiaID = {
95
+ const signal: Signal1DWidthJsAndDiaID = {
96
96
  id: generateID(),
97
97
  nbAtoms: xSum(group.map((item) => item.nbAtoms || 0)),
98
98
  delta: xMean(group.map((item) => item.delta)),
@@ -113,7 +113,7 @@ export function signalsJoin(
113
113
 
114
114
  newSignals = newSignals
115
115
  .map((signal) => {
116
- let newSignal = signalJoinCouplings(signal, {
116
+ const newSignal = signalJoinCouplings(signal, {
117
117
  tolerance,
118
118
  ignoreDiaIDs,
119
119
  }) as Signal1DWidthJsAndDiaID;
@@ -60,7 +60,7 @@ export function signalsToFID(
60
60
  maxClusterSize = 8,
61
61
  } = options;
62
62
 
63
- let spinSystem = signalsToSpinSystem(signals);
63
+ const spinSystem = signalsToSpinSystem(signals);
64
64
 
65
65
  spinSystem.clusters = splitSpinSystem(spinSystem, {
66
66
  frequency,
@@ -31,7 +31,7 @@ interface WrappedSignal {
31
31
  function checkNbAtoms(
32
32
  signals: NMRSignal1D[],
33
33
  ): asserts signals is Signals1DWithNbAtoms[] {
34
- for (let signal of signals) {
34
+ for (const signal of signals) {
35
35
  if (!signal.nbAtoms) throw new Error('nbAtoms is mandatory');
36
36
  }
37
37
  }
@@ -56,9 +56,9 @@ export function signalsToRanges(
56
56
 
57
57
  wrapped = wrapped.sort((signal1, signal2) => signal1.from - signal2.from);
58
58
 
59
- let ranges: RangeFullfiled[] = [];
59
+ const ranges: RangeFullfiled[] = [];
60
60
  let range = {} as RangeFullfiled;
61
- for (let signal of wrapped) {
61
+ for (const signal of wrapped) {
62
62
  if (range.from === undefined || signal.from > range.to) {
63
63
  range = {
64
64
  id: generateID(),
@@ -75,7 +75,7 @@ export function signalsToXY(
75
75
  options: OptionsSignalsToXY = {},
76
76
  ) {
77
77
  checkForMandatory(signals);
78
- let {
78
+ const {
79
79
  frequency = 400,
80
80
  shape = {
81
81
  kind: 'gaussian',
@@ -95,14 +95,14 @@ export function signalsToXY(
95
95
  };
96
96
  }
97
97
 
98
- let spinSystem = signalsToSpinSystem(signals);
98
+ const spinSystem = signalsToSpinSystem(signals);
99
99
 
100
100
  spinSystem.clusters = splitSpinSystem(spinSystem, {
101
101
  frequency,
102
102
  maxClusterSize,
103
103
  });
104
104
 
105
- let spectrum = simulate1D(spinSystem, {
105
+ const spectrum = simulate1D(spinSystem, {
106
106
  frequency,
107
107
  from,
108
108
  to,
@@ -6,9 +6,7 @@ import type { NMRSignal1D } from '../NMRSignal1D';
6
6
  import type { SpinSystem } from '../spinSystem';
7
7
  import { ensureSpinSystemProps } from '../utils/ensureSpinSystemProps';
8
8
 
9
- interface Ids {
10
- [index: number]: number;
11
- }
9
+ type Ids = Record<number, number>;
12
10
 
13
11
  type JcouplingFromPrediction = MakeMandatory<Jcoupling, 'atoms'>;
14
12
  type Signal1DWidthAtomIDs = MakeMandatory<NMRSignal1D, 'atoms'>;
@@ -42,10 +40,10 @@ export function signalsToSpinSystem(signals: NMRSignal1D[]): SpinSystem {
42
40
  }
43
41
  //create the coupling matrix
44
42
  for (let i = 0; i < nSpins; i++) {
45
- let { atoms: signalAssignment, js: jCoupling } = signals[i];
43
+ const { atoms: signalAssignment, js: jCoupling } = signals[i];
46
44
  const fromIndex = signalAssignment[0];
47
45
  for (const jcoupling of jCoupling) {
48
- let { coupling, atoms } = jcoupling;
46
+ const { coupling, atoms } = jcoupling;
49
47
  const toIndex = atoms[0];
50
48
  couplingConstants.set(ids[fromIndex], ids[toIndex], coupling);
51
49
  couplingConstants.set(ids[toIndex], ids[fromIndex], coupling);
@@ -14,7 +14,7 @@ export function simulate1D(
14
14
  spinSystemInput: SpinSystem,
15
15
  options: Simulate1DOptions = {},
16
16
  ): DataXY {
17
- let {
17
+ const {
18
18
  lineWidth = 1,
19
19
  frequency: frequencyMHz = 400,
20
20
  from = 0,
@@ -26,7 +26,7 @@ export function simulate1D(
26
26
  } = options;
27
27
 
28
28
  const spinSystem = ensureSpinSystemProps(spinSystemInput);
29
- let peakWidth = lineWidth / frequencyMHz;
29
+ const peakWidth = lineWidth / frequencyMHz;
30
30
 
31
31
  const xyPeaks = simulateXYPeaks(spinSystem, options);
32
32
 
@@ -56,7 +56,7 @@ export function simulateXYPeaks(
56
56
  spinSystemInput: SpinSystem,
57
57
  options: Simulate1DOptions = {},
58
58
  ) {
59
- let {
59
+ const {
60
60
  lineWidth = 1,
61
61
  maxClusterSize = 8,
62
62
  frequency: frequencyMHz = 400,
@@ -73,13 +73,13 @@ export function simulateXYPeaks(
73
73
 
74
74
  const xyPeaks: Array<{ x: number; y: number }> = [];
75
75
  for (const cluster of spinSystem.clusters) {
76
- let clusterFake = cluster.map((cluster) =>
76
+ const clusterFake = cluster.map((cluster) =>
77
77
  cluster < 0 ? -cluster - 1 : cluster,
78
78
  );
79
79
  let weight = 1;
80
80
  let sumI = 0;
81
- let frequencies: number[] = [];
82
- let intensities: number[] = [];
81
+ const frequencies: number[] = [];
82
+ const intensities: number[] = [];
83
83
  if (cluster.length > maxClusterSize) {
84
84
  // This is a single spin, but the cluster exceeds the maxClusterSize criteria
85
85
  // we use the simple multiplicity algorithm
@@ -90,8 +90,9 @@ export function simulateXYPeaks(
90
90
  frequencies.push(-chemicalShifts[index]);
91
91
  for (let i = 0; i < cluster.length; i++) {
92
92
  if (cluster[i] < 0) {
93
- let jc = spinSystem.couplingConstants.get(index, clusterFake[i]) / 2;
94
- let currentSize = frequencies.length;
93
+ const jc =
94
+ spinSystem.couplingConstants.get(index, clusterFake[i]) / 2;
95
+ const currentSize = frequencies.length;
95
96
  for (let j = 0; j < currentSize; j++) {
96
97
  frequencies.push(frequencies[j] + jc);
97
98
  frequencies[j] -= jc;
@@ -149,7 +150,7 @@ export function simulateXYPeaks(
149
150
  assignmentMatrix.forEachNonZero((i, j, v) => {
150
151
  if (v > 0) {
151
152
  for (let k = 0; k < V.columns; k++) {
152
- let element = V.get(j, k);
153
+ const element = V.get(j, k);
153
154
  if (element !== 0) {
154
155
  rhoip.set(i, k, rhoip.get(i, k) + element);
155
156
  }
@@ -162,7 +163,7 @@ export function simulateXYPeaks(
162
163
  assignmentMatrix.forEachNonZero((i: number, j: number, v: number) => {
163
164
  if (v < 0) {
164
165
  for (let k = 0; k < V.columns; k++) {
165
- let element = V.get(j, k);
166
+ const element = V.get(j, k);
166
167
  if (element !== 0) {
167
168
  rhoip2.set(i, k, rhoip2.get(i, k) + element);
168
169
  }
@@ -192,8 +193,8 @@ export function simulateXYPeaks(
192
193
  val *= val;
193
194
 
194
195
  sumI += val;
195
- let valFreq = diagB[i] - diagB[j];
196
- let insertIn = binarySearch(
196
+ const valFreq = diagB[i] - diagB[j];
197
+ const insertIn = binarySearch(
197
198
  frequencies,
198
199
  valFreq,
199
200
  (a: number, b: number) => a - b,
@@ -270,22 +271,21 @@ function getHamiltonian(
270
271
  const clusterHam = new SparseMatrix(hamSize, hamSize);
271
272
 
272
273
  for (let pos = 0; pos < cluster.length; pos++) {
273
- let n = cluster[pos];
274
+ const n = cluster[pos];
274
275
 
275
276
  const L = getPauliMatrix(multiplicity[n]);
276
277
 
277
- let A1, B1;
278
278
  let temp = 1;
279
279
  for (let i = 0; i < pos; i++) {
280
280
  temp *= multiplicity[cluster[i]];
281
281
  }
282
- A1 = SparseMatrix.eye(temp);
282
+ const A1 = SparseMatrix.eye(temp);
283
283
 
284
284
  temp = 1;
285
285
  for (let i = pos + 1; i < cluster.length; i++) {
286
286
  temp *= multiplicity[cluster[i]];
287
287
  }
288
- B1 = SparseMatrix.eye(temp);
288
+ const B1 = SparseMatrix.eye(temp);
289
289
 
290
290
  const alpha = chemicalShifts[n];
291
291
  const kronProd = A1.kroneckerProduct(L.z).kroneckerProduct(B1);
@@ -295,18 +295,17 @@ function getHamiltonian(
295
295
  if (conMatrix.get(n, k) === 1) {
296
296
  const S = getPauliMatrix(multiplicity[k]);
297
297
 
298
- let A2, B2;
299
298
  let temp = 1;
300
299
  for (let i = 0; i < pos2; i++) {
301
300
  temp *= multiplicity[cluster[i]];
302
301
  }
303
- A2 = SparseMatrix.eye(temp);
302
+ const A2 = SparseMatrix.eye(temp);
304
303
 
305
304
  temp = 1;
306
305
  for (let i = pos2 + 1; i < cluster.length; i++) {
307
306
  temp *= multiplicity[cluster[i]];
308
307
  }
309
- B2 = SparseMatrix.eye(temp);
308
+ const B2 = SparseMatrix.eye(temp);
310
309
 
311
310
  const kron1 = A1.kroneckerProduct(L.x)
312
311
  .kroneckerProduct(B1)