nmr-processing 9.7.7 → 9.7.9-pre.1690349439

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 (541) 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/impurities.d.ts +1509 -6
  59. package/lib/constants/impurities.js +2 -1
  60. package/lib/constants/impurities.js.map +1 -1
  61. package/lib/databases/getDatabase.js +1 -1
  62. package/lib/databases/getDatabase.js.map +1 -1
  63. package/lib/datum/Filters.js +4 -0
  64. package/lib/datum/Filters.js.map +1 -1
  65. package/lib/datum/FiltersManager.d.ts +1 -1
  66. package/lib/datum/FiltersManager.js +2 -2
  67. package/lib/datum/FiltersManager.js.map +1 -1
  68. package/lib/datum/MatrixOptions.d.ts +2 -2
  69. package/lib/datum/data1d/Entry1D.d.ts +1 -1
  70. package/lib/datum/data1d/filter1d/baselineCorrection.js +4 -4
  71. package/lib/datum/data1d/filter1d/baselineCorrection.js.map +1 -1
  72. package/lib/datum/data1d/filter1d/digitalFilter.js +2 -2
  73. package/lib/datum/data1d/filter1d/digitalFilter.js.map +1 -1
  74. package/lib/datum/data1d/filter1d/fft.js +7 -7
  75. package/lib/datum/data1d/filter1d/fft.js.map +1 -1
  76. package/lib/datum/data1d/filter1d/phaseCorrection.js +3 -3
  77. package/lib/datum/data1d/filter1d/phaseCorrection.js.map +1 -1
  78. package/lib/datum/data1d/filter1d/signalProcessing.js +1 -1
  79. package/lib/datum/data1d/filter1d/signalProcessing.js.map +1 -1
  80. package/lib/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js +2 -2
  81. package/lib/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js.map +1 -1
  82. package/lib/datum/data1d/filter1d/zeroFilling.js +8 -8
  83. package/lib/datum/data1d/filter1d/zeroFilling.js.map +1 -1
  84. package/lib/datum/data1d/utils/mapPeaks.js +1 -1
  85. package/lib/datum/data1d/utils/mapPeaks.js.map +1 -1
  86. package/lib/datum/data2d/Entry2D.d.ts +1 -1
  87. package/lib/datum/data2d/filter2d/fftDimension1.d.ts +15 -0
  88. package/lib/datum/data2d/filter2d/fftDimension1.js +49 -0
  89. package/lib/datum/data2d/filter2d/fftDimension1.js.map +1 -0
  90. package/lib/datum/data2d/filter2d/fftDimension2.d.ts +15 -0
  91. package/lib/datum/data2d/filter2d/fftDimension2.js +60 -0
  92. package/lib/datum/data2d/filter2d/fftDimension2.js.map +1 -0
  93. package/lib/datum/data2d/utils/getShift.js +1 -1
  94. package/lib/datum/data2d/utils/getShift.js.map +1 -1
  95. package/lib/multiplicity/joinPatterns.js +1 -1
  96. package/lib/multiplicity/joinPatterns.js.map +1 -1
  97. package/lib/multiplicity/splitPatterns.js +1 -1
  98. package/lib/multiplicity/splitPatterns.js.map +1 -1
  99. package/lib/peaks/peakToXY.d.ts +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/peaksToXY.d.ts +1 -1
  105. package/lib/peaks/solventSuppression.js +11 -11
  106. package/lib/peaks/solventSuppression.js.map +1 -1
  107. package/lib/peaks/util/addMissingIDs.js.map +1 -1
  108. package/lib/peaks/util/determineRealTop.js +32 -32
  109. package/lib/peaks/util/determineRealTop.js.map +1 -1
  110. package/lib/peaks/util/getKernel.js +4 -4
  111. package/lib/peaks/util/getKernel.js.map +1 -1
  112. package/lib/peaks/util/peakOptimizer.js +17 -17
  113. package/lib/peaks/util/peakOptimizer.js.map +1 -1
  114. package/lib/peaks/util/setIDs.js.map +1 -1
  115. package/lib/prediction/dataStructure.d.ts +1 -3
  116. package/lib/prediction/predictAll.js +2 -1
  117. package/lib/prediction/predictAll.js.map +1 -1
  118. package/lib/prediction/predictCOSY.js +1 -1
  119. package/lib/prediction/predictCOSY.js.map +1 -1
  120. package/lib/prediction/predictCarbon.js +6 -6
  121. package/lib/prediction/predictCarbon.js.map +1 -1
  122. package/lib/prediction/predictHMBC.js +1 -1
  123. package/lib/prediction/predictHMBC.js.map +1 -1
  124. package/lib/prediction/predictHSQC.js +1 -1
  125. package/lib/prediction/predictHSQC.js.map +1 -1
  126. package/lib/prediction/predictProton.js +9 -9
  127. package/lib/prediction/predictProton.js.map +1 -1
  128. package/lib/prediction/utils/getFilteredIDiaIDs.js +3 -3
  129. package/lib/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  130. package/lib/prediction/utils/getNuclei.d.ts +1 -3
  131. package/lib/prediction/utils/getNuclei.js.map +1 -1
  132. package/lib/prediction/utils/predict2D.d.ts +1 -3
  133. package/lib/prediction/utils/predict2D.js +17 -17
  134. package/lib/prediction/utils/predict2D.js.map +1 -1
  135. package/lib/prediction/utils/queryByHOSE.js +1 -1
  136. package/lib/prediction/utils/queryByHOSE.js.map +1 -1
  137. package/lib/ranges/markSolventSignal.js +8 -8
  138. package/lib/ranges/markSolventSignal.js.map +1 -1
  139. package/lib/ranges/rangesToACS.js +6 -6
  140. package/lib/ranges/rangesToACS.js.map +1 -1
  141. package/lib/ranges/rangesToXY.js +6 -6
  142. package/lib/ranges/rangesToXY.js.map +1 -1
  143. package/lib/signal/signalJoinCouplings.js +19 -12
  144. package/lib/signal/signalJoinCouplings.js.map +1 -1
  145. package/lib/signal/signalMultiplicityPattern.js +2 -2
  146. package/lib/signal/signalMultiplicityPattern.js.map +1 -1
  147. package/lib/signals/addDummySignals.js +4 -4
  148. package/lib/signals/addDummySignals.js.map +1 -1
  149. package/lib/signals/hackSignalsToXY.js +1 -1
  150. package/lib/signals/hackSignalsToXY.js.map +1 -1
  151. package/lib/signals/optimization/getInternalSignals.js +6 -6
  152. package/lib/signals/optimization/getInternalSignals.js.map +1 -1
  153. package/lib/signals/optimization/getSumOfShapes.js +1 -1
  154. package/lib/signals/optimization/getSumOfShapes.js.map +1 -1
  155. package/lib/signals/optimizeSignals.js +3 -3
  156. package/lib/signals/optimizeSignals.js.map +1 -1
  157. package/lib/signals/signals2DToZ.js +3 -2
  158. package/lib/signals/signals2DToZ.js.map +1 -1
  159. package/lib/signals/signalsJoin.js +5 -5
  160. package/lib/signals/signalsJoin.js.map +1 -1
  161. package/lib/signals/signalsToFID.js +1 -1
  162. package/lib/signals/signalsToFID.js.map +1 -1
  163. package/lib/signals/signalsToRanges.js +3 -3
  164. package/lib/signals/signalsToRanges.js.map +1 -1
  165. package/lib/signals/signalsToXY.js +3 -3
  166. package/lib/signals/signalsToXY.js.map +1 -1
  167. package/lib/signals/simulation/signalsToSpinSystem.js +2 -2
  168. package/lib/signals/simulation/signalsToSpinSystem.js.map +1 -1
  169. package/lib/signals/simulation/simulate1D.js +2 -2
  170. package/lib/signals/simulation/simulate1D.js.map +1 -1
  171. package/lib/signals/simulation/simulateXYPeaks.js +15 -17
  172. package/lib/signals/simulation/simulateXYPeaks.js.map +1 -1
  173. package/lib/signals/simulation/splitSpinSystem.js +26 -23
  174. package/lib/signals/simulation/splitSpinSystem.js.map +1 -1
  175. package/lib/signals/utils/jAnalyzer.js +38 -38
  176. package/lib/signals/utils/jAnalyzer.js.map +1 -1
  177. package/lib/types/Integrals.d.ts +1 -1
  178. package/lib/types/Peaks/Peaks.d.ts +1 -1
  179. package/lib/types/Ranges/Ranges.d.ts +1 -1
  180. package/lib/types/Zones/Zone.d.ts +1 -1
  181. package/lib/types/Zones/Zones.d.ts +1 -1
  182. package/lib/utilities/getFrequency.js +1 -1
  183. package/lib/utilities/getFrequency.js.map +1 -1
  184. package/lib/utilities/resurrectRange.js +1 -1
  185. package/lib/utilities/resurrectRange.js.map +1 -1
  186. package/lib/xy/xyAutoPeaksPicking.js +3 -3
  187. package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
  188. package/lib/xyz/quadrature.js +6 -6
  189. package/lib/xyz/quadrature.js.map +1 -1
  190. package/lib/xyz/util/fft2d/digitalFilter.js +3 -3
  191. package/lib/xyz/util/fft2d/digitalFilter.js.map +1 -1
  192. package/lib/xyz/util/fft2d/fftDirectDimension.d.ts +1 -1
  193. package/lib/xyz/util/fft2d/fftDirectDimension.js +4 -3
  194. package/lib/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  195. package/lib/xyz/util/fft2d/fftIndirectDimension.js +5 -4
  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/xyzAutoSignalsPicking.js +19 -18
  209. package/lib/xyz/xyzAutoSignalsPicking.js.map +1 -1
  210. package/lib/xyz/xyzBidimensionalFFT.js +2 -19
  211. package/lib/xyz/xyzBidimensionalFFT.js.map +1 -1
  212. package/lib/xyz/xyzJResAnalyzer.js +21 -21
  213. package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
  214. package/lib-esm/apodization/compose.js +1 -1
  215. package/lib-esm/apodization/compose.js.map +1 -1
  216. package/lib-esm/assignment/get13CAssignments.js +3 -3
  217. package/lib-esm/assignment/get13CAssignments.js.map +1 -1
  218. package/lib-esm/assignment/get1HAssignments.js +3 -3
  219. package/lib-esm/assignment/get1HAssignments.js.map +1 -1
  220. package/lib-esm/assignment/getAssignments.js +5 -5
  221. package/lib-esm/assignment/getAssignments.js.map +1 -1
  222. package/lib-esm/assignment/utils/addSolution.js +25 -0
  223. package/lib-esm/assignment/utils/addSolution.js.map +1 -0
  224. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.js +15 -15
  225. package/lib-esm/assignment/utils/generalAssignment/buildAssignments.js.map +1 -0
  226. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/checkIDs.js +6 -6
  227. package/lib-esm/assignment/utils/generalAssignment/checkIDs.js.map +1 -0
  228. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.js +7 -7
  229. package/lib-esm/assignment/utils/generalAssignment/createMapPossibleAssignment.js.map +1 -0
  230. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/exploreTree.js +6 -7
  231. package/lib-esm/assignment/utils/generalAssignment/exploreTree.js.map +1 -0
  232. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/formatData.js +5 -5
  233. package/lib-esm/assignment/utils/generalAssignment/formatData.js.map +1 -0
  234. package/lib-esm/assignment/utils/generalAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
  235. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.js +1 -1
  236. package/lib-esm/assignment/utils/generalAssignment/getTargetsAndCorrelations.js.map +1 -0
  237. package/lib-esm/assignment/utils/generalAssignment/getWorkFlow.js.map +1 -0
  238. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.js +8 -8
  239. package/lib-esm/assignment/utils/generalAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
  240. package/lib-esm/assignment/utils/generalAssignment/isSpectraData1D.js.map +1 -0
  241. package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/partialScore.js +20 -20
  242. package/lib-esm/assignment/utils/generalAssignment/partialScore.js.map +1 -0
  243. package/lib-esm/assignment/utils/generalAssignment/searchIndices.js.map +1 -0
  244. package/lib-esm/assignment/utils/{buildAssignments.js → oneDimensionalAssignment/buildAssignments.js} +4 -4
  245. package/lib-esm/assignment/utils/oneDimensionalAssignment/buildAssignments.js.map +1 -0
  246. package/lib-esm/assignment/utils/{createMapPossibleAssignments.js → oneDimensionalAssignment/createMapPossibleAssignments.js} +4 -4
  247. package/lib-esm/assignment/utils/oneDimensionalAssignment/createMapPossibleAssignments.js.map +1 -0
  248. package/lib-esm/assignment/utils/{exploreTreeRec.js → oneDimensionalAssignment/exploreTreeRec.js} +7 -8
  249. package/lib-esm/assignment/utils/oneDimensionalAssignment/exploreTreeRec.js.map +1 -0
  250. package/lib-esm/assignment/utils/{partialScore.js → oneDimensionalAssignment/partialScore.js} +9 -9
  251. package/lib-esm/assignment/utils/oneDimensionalAssignment/partialScore.js.map +1 -0
  252. package/lib-esm/constants/SignalsKinds.js.map +1 -1
  253. package/lib-esm/constants/couplingValues.js.map +1 -1
  254. package/lib-esm/constants/impurities.js +2 -1
  255. package/lib-esm/constants/impurities.js.map +1 -1
  256. package/lib-esm/databases/getDatabase.js +1 -1
  257. package/lib-esm/databases/getDatabase.js.map +1 -1
  258. package/lib-esm/datum/Filters.js +4 -0
  259. package/lib-esm/datum/Filters.js.map +1 -1
  260. package/lib-esm/datum/FiltersManager.js +2 -2
  261. package/lib-esm/datum/FiltersManager.js.map +1 -1
  262. package/lib-esm/datum/data1d/filter1d/baselineCorrection.js +4 -4
  263. package/lib-esm/datum/data1d/filter1d/baselineCorrection.js.map +1 -1
  264. package/lib-esm/datum/data1d/filter1d/digitalFilter.js +2 -2
  265. package/lib-esm/datum/data1d/filter1d/digitalFilter.js.map +1 -1
  266. package/lib-esm/datum/data1d/filter1d/fft.js +7 -7
  267. package/lib-esm/datum/data1d/filter1d/fft.js.map +1 -1
  268. package/lib-esm/datum/data1d/filter1d/phaseCorrection.js +3 -3
  269. package/lib-esm/datum/data1d/filter1d/phaseCorrection.js.map +1 -1
  270. package/lib-esm/datum/data1d/filter1d/signalProcessing.js +1 -1
  271. package/lib-esm/datum/data1d/filter1d/signalProcessing.js.map +1 -1
  272. package/lib-esm/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js +2 -2
  273. package/lib-esm/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.js.map +1 -1
  274. package/lib-esm/datum/data1d/filter1d/zeroFilling.js +8 -8
  275. package/lib-esm/datum/data1d/filter1d/zeroFilling.js.map +1 -1
  276. package/lib-esm/datum/data1d/utils/mapPeaks.js +1 -1
  277. package/lib-esm/datum/data1d/utils/mapPeaks.js.map +1 -1
  278. package/lib-esm/datum/data2d/filter2d/fftDimension1.js +43 -0
  279. package/lib-esm/datum/data2d/filter2d/fftDimension1.js.map +1 -0
  280. package/lib-esm/datum/data2d/filter2d/fftDimension2.js +54 -0
  281. package/lib-esm/datum/data2d/filter2d/fftDimension2.js.map +1 -0
  282. package/lib-esm/datum/data2d/utils/getShift.js +1 -1
  283. package/lib-esm/datum/data2d/utils/getShift.js.map +1 -1
  284. package/lib-esm/multiplicity/joinPatterns.js +1 -1
  285. package/lib-esm/multiplicity/joinPatterns.js.map +1 -1
  286. package/lib-esm/multiplicity/splitPatterns.js +1 -1
  287. package/lib-esm/multiplicity/splitPatterns.js.map +1 -1
  288. package/lib-esm/peaks/peaksFilterImpurities.js +7 -6
  289. package/lib-esm/peaks/peaksFilterImpurities.js.map +1 -1
  290. package/lib-esm/peaks/peaksToRanges.js +17 -17
  291. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  292. package/lib-esm/peaks/solventSuppression.js +11 -11
  293. package/lib-esm/peaks/solventSuppression.js.map +1 -1
  294. package/lib-esm/peaks/util/addMissingIDs.js.map +1 -1
  295. package/lib-esm/peaks/util/determineRealTop.js +32 -32
  296. package/lib-esm/peaks/util/determineRealTop.js.map +1 -1
  297. package/lib-esm/peaks/util/getKernel.js +4 -4
  298. package/lib-esm/peaks/util/getKernel.js.map +1 -1
  299. package/lib-esm/peaks/util/peakOptimizer.js +17 -17
  300. package/lib-esm/peaks/util/peakOptimizer.js.map +1 -1
  301. package/lib-esm/peaks/util/setIDs.js.map +1 -1
  302. package/lib-esm/prediction/predictAll.js +2 -1
  303. package/lib-esm/prediction/predictAll.js.map +1 -1
  304. package/lib-esm/prediction/predictCOSY.js +1 -1
  305. package/lib-esm/prediction/predictCOSY.js.map +1 -1
  306. package/lib-esm/prediction/predictCarbon.js +6 -6
  307. package/lib-esm/prediction/predictCarbon.js.map +1 -1
  308. package/lib-esm/prediction/predictHMBC.js +1 -1
  309. package/lib-esm/prediction/predictHMBC.js.map +1 -1
  310. package/lib-esm/prediction/predictHSQC.js +1 -1
  311. package/lib-esm/prediction/predictHSQC.js.map +1 -1
  312. package/lib-esm/prediction/predictProton.js +9 -9
  313. package/lib-esm/prediction/predictProton.js.map +1 -1
  314. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js +3 -3
  315. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  316. package/lib-esm/prediction/utils/getNuclei.js.map +1 -1
  317. package/lib-esm/prediction/utils/predict2D.js +17 -17
  318. package/lib-esm/prediction/utils/predict2D.js.map +1 -1
  319. package/lib-esm/prediction/utils/queryByHOSE.js +1 -1
  320. package/lib-esm/prediction/utils/queryByHOSE.js.map +1 -1
  321. package/lib-esm/ranges/markSolventSignal.js +8 -8
  322. package/lib-esm/ranges/markSolventSignal.js.map +1 -1
  323. package/lib-esm/ranges/rangesToACS.js +6 -6
  324. package/lib-esm/ranges/rangesToACS.js.map +1 -1
  325. package/lib-esm/ranges/rangesToXY.js +6 -6
  326. package/lib-esm/ranges/rangesToXY.js.map +1 -1
  327. package/lib-esm/signal/signalJoinCouplings.js +19 -12
  328. package/lib-esm/signal/signalJoinCouplings.js.map +1 -1
  329. package/lib-esm/signal/signalMultiplicityPattern.js +2 -2
  330. package/lib-esm/signal/signalMultiplicityPattern.js.map +1 -1
  331. package/lib-esm/signals/addDummySignals.js +4 -4
  332. package/lib-esm/signals/addDummySignals.js.map +1 -1
  333. package/lib-esm/signals/hackSignalsToXY.js +1 -1
  334. package/lib-esm/signals/hackSignalsToXY.js.map +1 -1
  335. package/lib-esm/signals/optimization/getInternalSignals.js +6 -6
  336. package/lib-esm/signals/optimization/getInternalSignals.js.map +1 -1
  337. package/lib-esm/signals/optimization/getSumOfShapes.js +1 -1
  338. package/lib-esm/signals/optimization/getSumOfShapes.js.map +1 -1
  339. package/lib-esm/signals/optimizeSignals.js +3 -3
  340. package/lib-esm/signals/optimizeSignals.js.map +1 -1
  341. package/lib-esm/signals/signals2DToZ.js +3 -2
  342. package/lib-esm/signals/signals2DToZ.js.map +1 -1
  343. package/lib-esm/signals/signalsJoin.js +5 -5
  344. package/lib-esm/signals/signalsJoin.js.map +1 -1
  345. package/lib-esm/signals/signalsToFID.js +1 -1
  346. package/lib-esm/signals/signalsToFID.js.map +1 -1
  347. package/lib-esm/signals/signalsToRanges.js +3 -3
  348. package/lib-esm/signals/signalsToRanges.js.map +1 -1
  349. package/lib-esm/signals/signalsToXY.js +3 -3
  350. package/lib-esm/signals/signalsToXY.js.map +1 -1
  351. package/lib-esm/signals/simulation/signalsToSpinSystem.js +2 -2
  352. package/lib-esm/signals/simulation/signalsToSpinSystem.js.map +1 -1
  353. package/lib-esm/signals/simulation/simulate1D.js +2 -2
  354. package/lib-esm/signals/simulation/simulate1D.js.map +1 -1
  355. package/lib-esm/signals/simulation/simulateXYPeaks.js +15 -17
  356. package/lib-esm/signals/simulation/simulateXYPeaks.js.map +1 -1
  357. package/lib-esm/signals/simulation/splitSpinSystem.js +26 -23
  358. package/lib-esm/signals/simulation/splitSpinSystem.js.map +1 -1
  359. package/lib-esm/signals/utils/jAnalyzer.js +38 -38
  360. package/lib-esm/signals/utils/jAnalyzer.js.map +1 -1
  361. package/lib-esm/utilities/getFrequency.js +1 -1
  362. package/lib-esm/utilities/getFrequency.js.map +1 -1
  363. package/lib-esm/utilities/resurrectRange.js +1 -1
  364. package/lib-esm/utilities/resurrectRange.js.map +1 -1
  365. package/lib-esm/xy/xyAutoPeaksPicking.js +3 -3
  366. package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
  367. package/lib-esm/xyz/quadrature.js +6 -6
  368. package/lib-esm/xyz/quadrature.js.map +1 -1
  369. package/lib-esm/xyz/util/fft2d/digitalFilter.js +3 -3
  370. package/lib-esm/xyz/util/fft2d/digitalFilter.js.map +1 -1
  371. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js +4 -3
  372. package/lib-esm/xyz/util/fft2d/fftDirectDimension.js.map +1 -1
  373. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js +5 -4
  374. package/lib-esm/xyz/util/fft2d/fftIndirectDimension.js.map +1 -1
  375. package/lib-esm/xyz/util/fft2d/removeDCOffset.js +1 -1
  376. package/lib-esm/xyz/util/fft2d/removeDCOffset.js.map +1 -1
  377. package/lib-esm/xyz/util/fft2d/zeroFilling.js +4 -6
  378. package/lib-esm/xyz/util/fft2d/zeroFilling.js.map +1 -1
  379. package/lib-esm/xyz/util/formatZone.js +3 -3
  380. package/lib-esm/xyz/util/formatZone.js.map +1 -1
  381. package/lib-esm/xyz/util/getMinMaxXY.js +19 -0
  382. package/lib-esm/xyz/util/getMinMaxXY.js.map +1 -0
  383. package/lib-esm/xyz/util/padData.js +7 -7
  384. package/lib-esm/xyz/util/padData.js.map +1 -1
  385. package/lib-esm/xyz/xyzAutoSignalsPicking.js +19 -18
  386. package/lib-esm/xyz/xyzAutoSignalsPicking.js.map +1 -1
  387. package/lib-esm/xyz/xyzBidimensionalFFT.js +1 -18
  388. package/lib-esm/xyz/xyzBidimensionalFFT.js.map +1 -1
  389. package/lib-esm/xyz/xyzJResAnalyzer.js +21 -21
  390. package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
  391. package/package.json +5 -5
  392. package/src/apodization/compose.ts +1 -1
  393. package/src/assignment/get13CAssignments.ts +6 -3
  394. package/src/assignment/get1HAssignments.ts +7 -6
  395. package/src/assignment/getAssignments.ts +7 -7
  396. package/src/assignment/nmrAssigment.ts +2 -2
  397. package/src/assignment/utils/addSolution.ts +45 -0
  398. package/src/assignment/utils/{getAssignment → generalAssignment}/buildAssignments.ts +29 -36
  399. package/src/assignment/utils/{getAssignment → generalAssignment}/checkIDs.ts +6 -6
  400. package/src/assignment/utils/{getAssignment → generalAssignment}/createMapPossibleAssignment.ts +10 -14
  401. package/src/assignment/utils/{getAssignment → generalAssignment}/exploreTree.ts +7 -8
  402. package/src/assignment/utils/{getAssignment → generalAssignment}/formatData.ts +5 -5
  403. package/src/assignment/utils/{getAssignment → generalAssignment}/getTargetsAndCorrelations.ts +3 -5
  404. package/src/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.ts +2 -5
  405. package/src/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.ts +8 -8
  406. package/src/assignment/utils/{getAssignment → generalAssignment}/partialScore.ts +25 -29
  407. package/src/assignment/utils/{buildAssignments.ts → oneDimensionalAssignment/buildAssignments.ts} +6 -8
  408. package/src/assignment/utils/{createMapPossibleAssignments.ts → oneDimensionalAssignment/createMapPossibleAssignments.ts} +9 -9
  409. package/src/assignment/utils/{exploreTreeRec.ts → oneDimensionalAssignment/exploreTreeRec.ts} +8 -9
  410. package/src/assignment/utils/{partialScore.ts → oneDimensionalAssignment/partialScore.ts} +10 -12
  411. package/src/constants/SignalsKinds.ts +1 -1
  412. package/src/constants/couplingValues.ts +1 -1
  413. package/src/constants/impurities.ts +14 -15
  414. package/src/databases/getDatabase.ts +1 -1
  415. package/src/datum/Filters.ts +4 -0
  416. package/src/datum/FiltersManager.ts +3 -3
  417. package/src/datum/MatrixOptions.ts +1 -1
  418. package/src/datum/data1d/Entry1D.ts +1 -1
  419. package/src/datum/data1d/filter1d/baselineCorrection.ts +4 -4
  420. package/src/datum/data1d/filter1d/digitalFilter.ts +2 -2
  421. package/src/datum/data1d/filter1d/fft.ts +7 -7
  422. package/src/datum/data1d/filter1d/phaseCorrection.ts +3 -3
  423. package/src/datum/data1d/filter1d/signalProcessing.ts +1 -1
  424. package/src/datum/data1d/filter1d/utils/padDataToNextPowerOfTwo.ts +2 -2
  425. package/src/datum/data1d/filter1d/zeroFilling.ts +10 -9
  426. package/src/datum/data1d/utils/mapPeaks.ts +1 -1
  427. package/src/datum/data2d/Entry2D.ts +1 -1
  428. package/src/datum/data2d/filter2d/fftDimension1.ts +61 -0
  429. package/src/datum/data2d/filter2d/fftDimension2.ts +72 -0
  430. package/src/datum/data2d/utils/getShift.ts +1 -1
  431. package/src/ml-tree-set.d.ts +1 -1
  432. package/src/multiplicity/joinPatterns.ts +3 -1
  433. package/src/multiplicity/splitPatterns.ts +1 -1
  434. package/src/peaks/peaksFilterImpurities.ts +7 -6
  435. package/src/peaks/peaksToRanges.ts +19 -18
  436. package/src/peaks/solventSuppression.ts +11 -11
  437. package/src/peaks/util/addMissingIDs.ts +1 -1
  438. package/src/peaks/util/determineRealTop.ts +32 -32
  439. package/src/peaks/util/getKernel.ts +4 -4
  440. package/src/peaks/util/peakOptimizer.ts +17 -17
  441. package/src/peaks/util/setIDs.ts +6 -4
  442. package/src/prediction/dataStructure.ts +1 -3
  443. package/src/prediction/predictAll.ts +3 -2
  444. package/src/prediction/predictCOSY.ts +1 -1
  445. package/src/prediction/predictCarbon.ts +6 -6
  446. package/src/prediction/predictHMBC.ts +1 -1
  447. package/src/prediction/predictHSQC.ts +1 -1
  448. package/src/prediction/predictProton.ts +9 -9
  449. package/src/prediction/utils/getFilteredIDiaIDs.ts +3 -3
  450. package/src/prediction/utils/getNuclei.ts +2 -2
  451. package/src/prediction/utils/predict2D.ts +21 -25
  452. package/src/prediction/utils/queryByHOSE.ts +1 -1
  453. package/src/ranges/markSolventSignal.ts +8 -8
  454. package/src/ranges/rangesToACS.ts +6 -6
  455. package/src/ranges/rangesToXY.ts +6 -6
  456. package/src/signal/signalJoinCouplings.ts +22 -16
  457. package/src/signal/signalMultiplicityPattern.ts +2 -2
  458. package/src/signals/addDummySignals.ts +4 -4
  459. package/src/signals/hackSignalsToXY.ts +1 -1
  460. package/src/signals/optimization/getInternalSignals.ts +6 -6
  461. package/src/signals/optimization/getSumOfShapes.ts +1 -1
  462. package/src/signals/optimizeSignals.ts +3 -3
  463. package/src/signals/signals2DToZ.ts +4 -8
  464. package/src/signals/signalsJoin.ts +5 -5
  465. package/src/signals/signalsToFID.ts +1 -1
  466. package/src/signals/signalsToRanges.ts +3 -3
  467. package/src/signals/signalsToXY.ts +3 -3
  468. package/src/signals/simulation/signalsToSpinSystem.ts +3 -5
  469. package/src/signals/simulation/simulate1D.ts +2 -2
  470. package/src/signals/simulation/simulateXYPeaks.ts +16 -17
  471. package/src/signals/simulation/splitSpinSystem.ts +28 -25
  472. package/src/signals/utils/jAnalyzer.ts +38 -38
  473. package/src/types/Integrals.ts +1 -1
  474. package/src/types/Peaks/Peaks.ts +1 -1
  475. package/src/types/Ranges/Ranges.ts +1 -1
  476. package/src/types/Zones/Zone.ts +1 -1
  477. package/src/types/Zones/Zones.ts +1 -1
  478. package/src/utilities/getFrequency.ts +1 -1
  479. package/src/utilities/resurrectRange.ts +1 -1
  480. package/src/xy/xyAutoPeaksPicking.ts +3 -3
  481. package/src/xyz/quadrature.ts +6 -6
  482. package/src/xyz/util/fft2d/digitalFilter.ts +3 -3
  483. package/src/xyz/util/fft2d/fftDirectDimension.ts +4 -7
  484. package/src/xyz/util/fft2d/fftIndirectDimension.ts +6 -8
  485. package/src/xyz/util/fft2d/removeDCOffset.ts +1 -1
  486. package/src/xyz/util/fft2d/zeroFilling.ts +5 -6
  487. package/src/xyz/util/formatZone.ts +3 -3
  488. package/src/xyz/util/getMinMaxXY.ts +19 -0
  489. package/src/xyz/util/padData.ts +7 -7
  490. package/src/xyz/xyzAutoSignalsPicking.ts +20 -19
  491. package/src/xyz/xyzBidimensionalFFT.ts +1 -20
  492. package/src/xyz/xyzJResAnalyzer.ts +21 -21
  493. package/lib/assignment/utils/buildAssignments.js.map +0 -1
  494. package/lib/assignment/utils/createMapPossibleAssignments.js.map +0 -1
  495. package/lib/assignment/utils/exploreTreeRec.js.map +0 -1
  496. package/lib/assignment/utils/getAssignment/buildAssignments.js.map +0 -1
  497. package/lib/assignment/utils/getAssignment/checkIDs.js.map +0 -1
  498. package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +0 -1
  499. package/lib/assignment/utils/getAssignment/exploreTree.js.map +0 -1
  500. package/lib/assignment/utils/getAssignment/formatData.js.map +0 -1
  501. package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +0 -1
  502. package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +0 -1
  503. package/lib/assignment/utils/getAssignment/getWorkFlow.js.map +0 -1
  504. package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +0 -1
  505. package/lib/assignment/utils/getAssignment/isSpectraData1D.js.map +0 -1
  506. package/lib/assignment/utils/getAssignment/partialScore.js.map +0 -1
  507. package/lib/assignment/utils/getAssignment/searchIndices.js.map +0 -1
  508. package/lib/assignment/utils/partialScore.js.map +0 -1
  509. package/lib-esm/assignment/utils/buildAssignments.js.map +0 -1
  510. package/lib-esm/assignment/utils/createMapPossibleAssignments.js.map +0 -1
  511. package/lib-esm/assignment/utils/exploreTreeRec.js.map +0 -1
  512. package/lib-esm/assignment/utils/getAssignment/buildAssignments.js.map +0 -1
  513. package/lib-esm/assignment/utils/getAssignment/checkIDs.js.map +0 -1
  514. package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +0 -1
  515. package/lib-esm/assignment/utils/getAssignment/exploreTree.js.map +0 -1
  516. package/lib-esm/assignment/utils/getAssignment/formatData.js.map +0 -1
  517. package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +0 -1
  518. package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +0 -1
  519. package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js.map +0 -1
  520. package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +0 -1
  521. package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js.map +0 -1
  522. package/lib-esm/assignment/utils/getAssignment/partialScore.js.map +0 -1
  523. package/lib-esm/assignment/utils/getAssignment/searchIndices.js.map +0 -1
  524. package/lib-esm/assignment/utils/partialScore.js.map +0 -1
  525. /package/lib/assignment/utils/{getAssignment → generalAssignment}/checkIDs.d.ts +0 -0
  526. /package/lib/assignment/utils/{getAssignment → generalAssignment}/formatData.d.ts +0 -0
  527. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.d.ts +0 -0
  528. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.js +0 -0
  529. /package/lib/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.js +0 -0
  530. /package/lib/assignment/utils/{getAssignment → generalAssignment}/groupCarbonTargetByIntegrationZone.d.ts +0 -0
  531. /package/lib/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.d.ts +0 -0
  532. /package/lib/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.js +0 -0
  533. /package/lib/assignment/utils/{getAssignment → generalAssignment}/searchIndices.d.ts +0 -0
  534. /package/lib/assignment/utils/{getAssignment → generalAssignment}/searchIndices.js +0 -0
  535. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.js +0 -0
  536. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/getWorkFlow.js +0 -0
  537. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.js +0 -0
  538. /package/lib-esm/assignment/utils/{getAssignment → generalAssignment}/searchIndices.js +0 -0
  539. /package/src/assignment/utils/{getAssignment → generalAssignment}/getIntegrationOfAttachedProtons.ts +0 -0
  540. /package/src/assignment/utils/{getAssignment → generalAssignment}/isSpectraData1D.ts +0 -0
  541. /package/src/assignment/utils/{getAssignment → generalAssignment}/searchIndices.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import TreeSet from 'ml-tree-set';
2
2
 
3
- import { Targets, NMRSignal1DWithAtomsAndDiaIDs } from '../get1HAssignments';
3
+ import { Targets, NMRSignal1DWithAtomsAndDiaIDs } from '../../get1HAssignments';
4
4
 
5
5
  import { createMapPossibleAssignments } from './createMapPossibleAssignments';
6
6
  import { exploreTreeRec } from './exploreTreeRec';
@@ -33,9 +33,7 @@ export interface Signals1DAssignment extends NMRSignal1DWithAtomsAndDiaIDs {
33
33
  error?: number;
34
34
  }
35
35
 
36
- export interface Predictions1Dassignments {
37
- [key: string]: Signals1DAssignment;
38
- }
36
+ export type Predictions1Dassignments = Record<string, Signals1DAssignment>;
39
37
 
40
38
  export interface StoreAssignments {
41
39
  solutions: TreeSet;
@@ -65,10 +63,10 @@ export async function buildAssignments(props: BuildAssignmentsProps) {
65
63
  nSolutions: 0,
66
64
  };
67
65
 
68
- let nSources = joinedSignals.length;
66
+ const nSources = joinedSignals.length;
69
67
  const predictions: Predictions1Dassignments = {};
70
68
 
71
- for (let prediction of joinedSignals) {
69
+ for (const prediction of joinedSignals) {
72
70
  const diaID = prediction.diaIDs[0];
73
71
  const index = prediction.atoms[0];
74
72
  predictions[diaID] = {
@@ -91,7 +89,7 @@ export async function buildAssignments(props: BuildAssignmentsProps) {
91
89
 
92
90
  const diaIDPeerPossibleAssignment = Object.keys(possibleAssignmentMap);
93
91
 
94
- let partial = fillPartial(nSources);
92
+ const partial = fillPartial(nSources);
95
93
 
96
94
  store = {
97
95
  solutions: new TreeSet(comparator),
@@ -129,7 +127,7 @@ export async function buildAssignments(props: BuildAssignmentsProps) {
129
127
  const { assignment, score } = solution;
130
128
  const currentAssignment = JSON.parse(JSON.stringify(targets));
131
129
  for (let i = 0; i < assignment.length; i++) {
132
- let range = currentAssignment[assignment[i]];
130
+ const range = currentAssignment[assignment[i]];
133
131
  if (!range.diaIDs) range.diaIDs = [];
134
132
  if (assignment[i]) range.diaIDs.push(diaIDPeerPossibleAssignment[i]);
135
133
  }
@@ -1,5 +1,5 @@
1
- import { MakeMandatory } from '../../utilities/MakeMandatory';
2
- import type { Targets } from '../get1HAssignments';
1
+ import { MakeMandatory } from '../../../utilities/MakeMandatory';
2
+ import type { Targets } from '../../get1HAssignments';
3
3
 
4
4
  import type {
5
5
  RestrictionByCS1D,
@@ -18,9 +18,7 @@ interface CreateMapPossibleAssignments {
18
18
  useIntegrationRestriction: boolean;
19
19
  }
20
20
 
21
- export interface PossibleAssignmentMap {
22
- [key: string]: string[];
23
- }
21
+ export type PossibleAssignmentMap = Record<string, string[]>;
24
22
  export function createMapPossibleAssignments(
25
23
  props: CreateMapPossibleAssignments,
26
24
  ) {
@@ -29,16 +27,16 @@ export function createMapPossibleAssignments(
29
27
 
30
28
  const { tolerance: toleranceCS, chemicalShiftRestriction } = restrictionByCS;
31
29
 
32
- let errorAbs = Math.abs(toleranceCS);
30
+ const errorAbs = Math.abs(toleranceCS);
33
31
  const expandMap: PossibleAssignmentMap = {};
34
32
  for (const diaID in predictions) {
35
- let prediction = predictions[diaID];
33
+ const prediction = predictions[diaID];
36
34
  if (prediction.error) prediction.error = Math.abs(prediction.error);
37
35
  expandMap[diaID] = [];
38
36
 
39
37
  if (targets) {
40
38
  for (const targetID in targets) {
41
- let target = targets[targetID];
39
+ const target = targets[targetID];
42
40
  const { nbAtoms } = prediction;
43
41
  const { integration } = target;
44
42
 
@@ -65,7 +63,9 @@ export function createMapPossibleAssignments(
65
63
  ? target.signals[0].delta
66
64
  : (target.to + target.from) / 2;
67
65
 
68
- let distAfterLimit = Math.abs(prediction.delta - delta - errorAbs);
66
+ const distAfterLimit = Math.abs(
67
+ prediction.delta - delta - errorAbs,
68
+ );
69
69
  if (distAfterLimit < 4 * errorAbs) {
70
70
  expandMap[diaID].push(targetID);
71
71
  }
@@ -1,4 +1,4 @@
1
- import type { Targets } from '../get1HAssignments';
1
+ import type { Targets } from '../../get1HAssignments';
2
2
 
3
3
  import type {
4
4
  RestrictionByCS1D,
@@ -50,9 +50,9 @@ export function exploreTreeRec(
50
50
 
51
51
  const diaID = diaIDPeerPossibleAssignment[currentIndex];
52
52
  const possibleAssignments = possibleAssignmentMap[diaID];
53
- for (let targetID of possibleAssignments) {
53
+ for (const targetID of possibleAssignments) {
54
54
  partial[currentIndex] = targetID;
55
- let score = partialScore(partial, {
55
+ const score = partialScore(partial, {
56
56
  useIntegrationRestriction,
57
57
  diaIDPeerPossibleAssignment,
58
58
  nbAllowedUnAssigned,
@@ -107,12 +107,11 @@ interface AddSolutionProps {
107
107
  }
108
108
 
109
109
  function addSolution(store: StoreAssignments, props: AddSolutionProps) {
110
- let { score, maxSolutions, partial, predictions } = props;
111
- score /= doubleAssignmentPenalty(partial, predictions);
110
+ const { score, maxSolutions, partial, predictions } = props;
112
111
  store.nSolutions++;
113
- let solution: SolutionAssignment = {
112
+ const solution: SolutionAssignment = {
114
113
  assignment: JSON.parse(JSON.stringify(partial)),
115
- score,
114
+ score: score / doubleAssignmentPenalty(partial, predictions),
116
115
  };
117
116
 
118
117
  if (store.nSolutions >= maxSolutions) {
@@ -131,7 +130,7 @@ function doubleAssignmentPenalty(
131
130
  predictions: Predictions1Dassignments,
132
131
  ) {
133
132
  const nbSources = Object.keys(predictions).length;
134
- let assignments = new Set(partial);
135
- let nbDoubleAssignment = nbSources - assignments.size;
133
+ const assignments = new Set(partial);
134
+ const nbDoubleAssignment = nbSources - assignments.size;
136
135
  return nbDoubleAssignment > 0 ? 2 * nbDoubleAssignment : 1;
137
136
  }
@@ -1,4 +1,4 @@
1
- import { Targets } from '../get1HAssignments';
1
+ import { Targets } from '../../get1HAssignments';
2
2
 
3
3
  import type {
4
4
  Predictions1Dassignments,
@@ -32,11 +32,9 @@ export function partialScore(
32
32
  } = options;
33
33
  const { useChemicalShiftScore } = restrictionByCS;
34
34
  let countStars = 0;
35
- let totalPartial = partial.length;
36
- let partialInverse: {
37
- [key: string]: string[];
38
- } = {};
39
- let activeDomainOnPrediction: number[] = [];
35
+ const totalPartial = partial.length;
36
+ const partialInverse: Record<string, string[]> = {};
37
+ const activeDomainOnPrediction: number[] = [];
40
38
 
41
39
  for (let i = 0; i < partial.length; i++) {
42
40
  const targetID = partial[i];
@@ -58,8 +56,8 @@ export function partialScore(
58
56
  }
59
57
 
60
58
  if (useIntegrationRestriction) {
61
- for (let targetID of activeDomainOnTarget) {
62
- let targetToSource = partialInverse[targetID];
59
+ for (const targetID of activeDomainOnTarget) {
60
+ const targetToSource = partialInverse[targetID];
63
61
  let total = 0;
64
62
  for (const diaID of targetToSource) {
65
63
  const prediction = predictions[diaID];
@@ -74,7 +72,7 @@ export function partialScore(
74
72
  }
75
73
 
76
74
  //chemical shift score
77
- let chemicalShiftScore = useChemicalShiftScore
75
+ const chemicalShiftScore = useChemicalShiftScore
78
76
  ? chemicalShiftScoring(partial, options)
79
77
  : 1;
80
78
 
@@ -96,9 +94,9 @@ function chemicalShiftScoring(
96
94
  const targetID = partial[index];
97
95
  if (targetID && targetID !== '*') {
98
96
  count++;
99
- let diaID = diaIDPeerPossibleAssignment[index];
100
- let source = predictions[diaID];
101
- let target = targets[targetID];
97
+ const diaID = diaIDPeerPossibleAssignment[index];
98
+ const source = predictions[diaID];
99
+ const target = targets[targetID];
102
100
  let error = tolerance;
103
101
  if (source.error) {
104
102
  error = Math.max(source.error, tolerance);
@@ -1,4 +1,4 @@
1
- export const SignalKinds: { label: string; value: string }[] = [
1
+ export const SignalKinds: Array<{ label: string; value: string }> = [
2
2
  {
3
3
  label: 'Signal',
4
4
  value: 'signal',
@@ -1,6 +1,6 @@
1
1
  import { MultiplicityPatterns } from './MultiplicityPatterns';
2
2
 
3
- const result: { [key: string]: number } = {};
3
+ const result: Record<string, number> = {};
4
4
  for (const { value, multiplicity, names } of MultiplicityPatterns) {
5
5
  if (multiplicity) result[value] = multiplicity - 1;
6
6
  for (const name of names) {
@@ -1,19 +1,5 @@
1
- export interface SolventImpurities {
2
- [key: string]: Impurity;
3
- }
4
-
5
- export interface Impurity {
6
- [key: string]: ImpuritySignal[];
7
- }
8
-
9
- export interface ImpuritySignal {
10
- proton: string;
11
- coupling: number;
12
- multiplicity: string;
13
- shift: number;
14
- }
15
1
  /* eslint-disable camelcase */
16
- export const impurities: SolventImpurities = {
2
+ const impuritiesContent = {
17
3
  cdcl3: {
18
4
  tms: [
19
5
  {
@@ -3144,3 +3130,16 @@ export const impurities: SolventImpurities = {
3144
3130
  ],
3145
3131
  },
3146
3132
  };
3133
+ export type SolventImpurities = Record<Solvent, Impurity>;
3134
+
3135
+ export type Impurity = Record<string, ImpuritySignal[]>;
3136
+
3137
+ export type Solvent = keyof typeof impuritiesContent;
3138
+
3139
+ export interface ImpuritySignal {
3140
+ proton: string;
3141
+ coupling: number;
3142
+ multiplicity: string;
3143
+ shift: number;
3144
+ }
3145
+ export const impurities: SolventImpurities = impuritiesContent;
@@ -36,7 +36,7 @@ export async function getDatabase(
36
36
 
37
37
  const results = [];
38
38
 
39
- for (let line of parsed.data) {
39
+ for (const line of parsed.data) {
40
40
  const result: DatabaseNMREntry = {
41
41
  smiles: '',
42
42
  solvent: '',
@@ -11,6 +11,8 @@ import * as signalProcessing from './data1d/filter1d/signalProcessing';
11
11
  import * as zeroFilling from './data1d/filter1d/zeroFilling';
12
12
  import * as shift2DX from './data2d/filter2d/shiftX';
13
13
  import * as shift2DY from './data2d/filter2d/shiftY';
14
+ import * as fftDimension1 from './data2d/filter2d/fftDimension1';
15
+ import * as fftDimension2 from './data2d/filter2d/fftDimension2';
14
16
 
15
17
  export type { ApodizationOptions } from './data1d/filter1d/apodization/apodization';
16
18
  export type {
@@ -46,6 +48,8 @@ export const Filters: Record<
46
48
  digitalFilter,
47
49
  equallySpaced,
48
50
  fft,
51
+ fftDimension1,
52
+ fftDimension2,
49
53
  phaseCorrection,
50
54
  shiftX,
51
55
  zeroFilling,
@@ -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,61 @@
1
+ import { NmrData2DFid } from 'cheminfo-types';
2
+ import { FilterDomainUpdateRules } from '../../FiltersManager';
3
+ import { Entry2D } from '../Entry2D';
4
+ import { quadrature } from '../../../xyz/quadrature';
5
+ import {
6
+ DirectDimensionOptions,
7
+ fftDirectDimension,
8
+ } from '../../../xyz/util/fft2d/fftDirectDimension';
9
+ import { xEnsureFloat64 } from 'ml-spectra-processing';
10
+
11
+ export const id = 'fftDimension1';
12
+ export const name = 'FFT Dimension 1';
13
+
14
+ export const DOMAIN_UPDATE_RULES: Readonly<FilterDomainUpdateRules> = {
15
+ updateXDomain: true,
16
+ updateYDomain: true,
17
+ };
18
+
19
+ export function apply(datum2D: Entry2D, options: DirectDimensionOptions) {
20
+ if (!isApplicable(datum2D)) {
21
+ throw new Error('fft dimension 1 not applicable on this data');
22
+ }
23
+
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ const { data, info } = datum2D;
26
+ const { digitalFilterValue = 0 } = info;
27
+
28
+ const fnMode = info.fnMode[1];
29
+ const { zeroFilling = {} } = options;
30
+ const orderedData = quadrature(data, { fnMode });
31
+
32
+ const nbColumns = orderedData.re[0].length;
33
+
34
+ const { factor = 1 } = zeroFilling;
35
+ const nbPoints =
36
+ zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbColumns * factor));
37
+
38
+ const transformed = fftDirectDimension(orderedData, {
39
+ fnMode,
40
+ ...options,
41
+ digitalFilterValue,
42
+ zeroFilling: { nbPoints },
43
+ });
44
+
45
+ datum2D.data.re.z = transformed.re.to2DArray().map(xEnsureFloat64);
46
+ datum2D.data.im.z = transformed.im.to2DArray().map(xEnsureFloat64);
47
+ }
48
+
49
+ export function isApplicable(
50
+ datum2D: Entry2D,
51
+ ): datum2D is Entry2D & { data: Required<NmrData2DFid> } {
52
+ if (datum2D.info.isComplex && datum2D.info.isFid) return true;
53
+ return false;
54
+ }
55
+
56
+ export function reduce() {
57
+ return {
58
+ once: true,
59
+ reduce: undefined,
60
+ };
61
+ }
@@ -0,0 +1,72 @@
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
+
11
+ export const id = 'fftDimension2';
12
+ export const name = 'FFT Dimension 2';
13
+
14
+ export const DOMAIN_UPDATE_RULES: Readonly<FilterDomainUpdateRules> = {
15
+ updateXDomain: true,
16
+ updateYDomain: true,
17
+ };
18
+
19
+ export function apply(datum2D: Entry2D, options: IndirectDimensionOptions) {
20
+ if (!isApplicable(datum2D)) {
21
+ throw new Error('fft dimension 2 not applicable on this data');
22
+ }
23
+ const { data, info } = datum2D;
24
+ const fnMode = info.fnMode[1];
25
+ const { zeroFilling = {} } = options;
26
+ const nbRows = data.re.z.length;
27
+ const { factor = 1 } = zeroFilling;
28
+ const nbPoints =
29
+ zeroFilling?.nbPoints || 2 ** Math.round(Math.log2(nbRows * factor));
30
+
31
+ const transformed = fftIndirectDimension(
32
+ {
33
+ re: data.re.z,
34
+ im: data.im.z,
35
+ },
36
+ {
37
+ fnMode,
38
+ ...options,
39
+ zeroFilling: { nbPoints },
40
+ },
41
+ );
42
+
43
+ const minMaxXY = getMinMaxXY(info);
44
+
45
+ (datum2D.data as NmrData2DFt) = {
46
+ rr: {
47
+ z: transformed.re.to2DArray().map(xEnsureFloat64),
48
+ maxZ: transformed.re.max(),
49
+ minZ: transformed.re.min(),
50
+ ...minMaxXY,
51
+ },
52
+ };
53
+ const { isFid, isComplex, ...resInfo } = info;
54
+ datum2D.info = {
55
+ ...resInfo,
56
+ isFt: true,
57
+ };
58
+ }
59
+
60
+ export function isApplicable(
61
+ datum2D: Entry2D,
62
+ ): datum2D is Entry2D & { data: Required<NmrData2DFid> } {
63
+ if (datum2D.info.isComplex && datum2D.info.isFid) return true;
64
+ return false;
65
+ }
66
+
67
+ export function reduce() {
68
+ return {
69
+ once: true,
70
+ reduce: undefined,
71
+ };
72
+ }
@@ -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) {