@complat/react-spectra-editor 1.0.0-rc2 → 1.0.0-rc20.patch-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +16 -0
  2. package/dist/__tests__/fixtures/aif_jcamp_1.js +136 -0
  3. package/dist/__tests__/fixtures/aif_jcamp_2.js +122 -0
  4. package/dist/__tests__/fixtures/backup/nmr1h_a.js +3518 -0
  5. package/dist/__tests__/fixtures/backup/xrd_jcamp_1.js +10705 -0
  6. package/dist/__tests__/fixtures/cds_jcamp.js +861 -0
  7. package/dist/__tests__/fixtures/compare_ir_1_jcamp.js +585 -0
  8. package/dist/__tests__/fixtures/compare_ir_2_jcamp.js +515 -0
  9. package/dist/__tests__/fixtures/compare_uv_vis_jcamp.js +640 -0
  10. package/dist/__tests__/fixtures/cyclic_voltammetry_1.js +778 -0
  11. package/dist/__tests__/fixtures/cyclic_voltammetry_2.js +758 -0
  12. package/dist/__tests__/fixtures/cyclic_voltammetry_3.js +759 -0
  13. package/dist/__tests__/fixtures/dls_acf_jcamp.js +148 -0
  14. package/dist/__tests__/fixtures/dls_intensity_jcamp.js +151 -0
  15. package/dist/__tests__/fixtures/emissions_jcamp.js +883 -0
  16. package/dist/__tests__/fixtures/hplc_uvvis_jcamp.js +638 -0
  17. package/dist/__tests__/fixtures/hplc_uvvis_jcamp_2.js +221 -0
  18. package/dist/__tests__/fixtures/ir_jcamp.js +148 -0
  19. package/dist/__tests__/fixtures/ir_result.js +46 -0
  20. package/dist/__tests__/fixtures/ir_svg.js +8 -0
  21. package/dist/__tests__/fixtures/ms_jcamp.js +64 -0
  22. package/dist/__tests__/fixtures/nmr13c_dept_jcamp.js +3543 -0
  23. package/dist/__tests__/fixtures/nmr13c_jcamp.js +1229 -0
  24. package/dist/__tests__/fixtures/nmr15n_jcamp.js +7177 -0
  25. package/dist/__tests__/fixtures/nmr19f_jcamp.js +6560 -0
  26. package/dist/__tests__/fixtures/nmr1h_2_jcamp.js +2005 -0
  27. package/dist/__tests__/fixtures/nmr1h_jcamp.js +4516 -0
  28. package/dist/__tests__/fixtures/nmr29si_jcamp.js +3029 -0
  29. package/dist/__tests__/fixtures/nmr31p_jcamp.js +3418 -0
  30. package/dist/__tests__/fixtures/nmr_result.js +68 -0
  31. package/dist/__tests__/fixtures/nmr_svg.js +8 -0
  32. package/dist/__tests__/fixtures/phenylalanin.js +142 -0
  33. package/dist/__tests__/fixtures/qDescValue.js +65 -0
  34. package/dist/__tests__/fixtures/raman_jcamp.js +410 -0
  35. package/dist/__tests__/fixtures/sec_1_jcamp.js +425 -0
  36. package/dist/__tests__/fixtures/sec_2_jcamp.js +407 -0
  37. package/dist/__tests__/fixtures/sec_3_jcamp.js +408 -0
  38. package/dist/__tests__/fixtures/sec_4_jcamp.js +407 -0
  39. package/dist/__tests__/fixtures/tga_jcamp.js +4157 -0
  40. package/dist/__tests__/fixtures/uv_vis_jcamp.js +249 -0
  41. package/dist/__tests__/fixtures/xrd_jcamp_1.js +436 -0
  42. package/dist/__tests__/fixtures/xrd_jcamp_2.js +955 -0
  43. package/dist/__tests__/fixtures/xrd_jcamp_3.js +1871 -0
  44. package/dist/__tests__/units/components/panel/graph_selection.test.js +72 -0
  45. package/dist/__tests__/units/components/panel/peaks.test.js +87 -0
  46. package/dist/actions/curve.js +15 -14
  47. package/dist/actions/cyclic_voltammetry.js +40 -60
  48. package/dist/actions/edit_peak.js +8 -12
  49. package/dist/actions/forecast.js +16 -24
  50. package/dist/actions/integration.js +12 -18
  51. package/dist/actions/jcamp.js +16 -24
  52. package/dist/actions/layout.js +4 -6
  53. package/dist/actions/manager.js +20 -30
  54. package/dist/actions/meta.js +4 -6
  55. package/dist/actions/multiplicity.js +24 -36
  56. package/dist/actions/scan.js +12 -18
  57. package/dist/actions/shift.js +8 -12
  58. package/dist/actions/status.js +12 -18
  59. package/dist/actions/submit.js +16 -24
  60. package/dist/actions/threshold.js +20 -30
  61. package/dist/actions/ui.js +25 -31
  62. package/dist/actions/wavelength.js +4 -6
  63. package/dist/app.js +25 -23
  64. package/dist/components/cmd_bar/01_viewer.js +24 -34
  65. package/dist/components/cmd_bar/02_zoom.js +18 -28
  66. package/dist/components/cmd_bar/03_peak.js +50 -66
  67. package/dist/components/cmd_bar/04_integration.js +70 -84
  68. package/dist/components/cmd_bar/05_multiplicity.js +42 -56
  69. package/dist/components/cmd_bar/06_undo_redo.js +22 -36
  70. package/dist/components/cmd_bar/07_pecker.js +24 -34
  71. package/dist/components/cmd_bar/common.js +11 -7
  72. package/dist/components/cmd_bar/index.js +17 -23
  73. package/dist/components/cmd_bar/r01_layout.js +79 -56
  74. package/dist/components/cmd_bar/r02_scan.js +70 -87
  75. package/dist/components/cmd_bar/r03_threshold.js +54 -68
  76. package/dist/components/cmd_bar/r04_submit.js +71 -83
  77. package/dist/components/cmd_bar/r05_submit_btn.js +64 -72
  78. package/dist/components/cmd_bar/r06_predict_btn.js +142 -152
  79. package/dist/components/cmd_bar/r07_wavelength_btn.js +28 -36
  80. package/dist/components/cmd_bar/tri_btn.js +91 -113
  81. package/dist/components/common/chem.js +2 -3
  82. package/dist/components/common/comps.js +2 -2
  83. package/dist/components/common/draw.js +30 -11
  84. package/dist/components/d3_line/index.js +154 -176
  85. package/dist/components/d3_line/line_focus.js +595 -739
  86. package/dist/components/d3_multi/index.js +153 -174
  87. package/dist/components/d3_multi/multi_focus.js +725 -850
  88. package/dist/components/d3_rect/index.js +112 -134
  89. package/dist/components/d3_rect/rect_focus.js +163 -208
  90. package/dist/components/forecast/comps.js +60 -68
  91. package/dist/components/forecast/ir_comps.js +49 -56
  92. package/dist/components/forecast/ir_viewer.js +61 -68
  93. package/dist/components/forecast/nmr_comps.js +62 -72
  94. package/dist/components/forecast/nmr_viewer.js +59 -68
  95. package/dist/components/forecast/section_loading.js +39 -63
  96. package/dist/components/forecast_viewer.js +109 -119
  97. package/dist/components/multi_jcamps_viewer.js +97 -113
  98. package/dist/components/panel/compare.js +183 -192
  99. package/dist/components/panel/cyclic_voltamery_data.js +149 -165
  100. package/dist/components/panel/graph_selection.js +143 -132
  101. package/dist/components/panel/index.js +112 -144
  102. package/dist/components/panel/info.js +125 -132
  103. package/dist/components/panel/multiplicity.js +215 -223
  104. package/dist/components/panel/multiplicity_coupling.js +108 -136
  105. package/dist/components/panel/multiplicity_select.js +43 -51
  106. package/dist/components/panel/peaks.js +130 -132
  107. package/dist/constants/action_type.js +23 -39
  108. package/dist/constants/list_layout.js +7 -4
  109. package/dist/constants/list_shift.js +117 -103
  110. package/dist/constants/list_ui.js +3 -6
  111. package/dist/constants/list_wavelength.js +7 -8
  112. package/dist/fn.js +2 -3
  113. package/dist/helpers/brush.js +49 -65
  114. package/dist/helpers/calc.js +2 -4
  115. package/dist/helpers/carbonFeatures.js +22 -20
  116. package/dist/helpers/cfg.js +49 -67
  117. package/dist/helpers/chem.js +450 -393
  118. package/dist/helpers/compass.js +92 -83
  119. package/dist/helpers/converter.js +52 -65
  120. package/dist/helpers/extractParams.js +60 -52
  121. package/dist/helpers/extractPeaksEdit.js +29 -25
  122. package/dist/helpers/focus.js +2 -6
  123. package/dist/helpers/format.js +416 -361
  124. package/dist/helpers/init.js +41 -37
  125. package/dist/helpers/integration.js +18 -21
  126. package/dist/helpers/mount.js +57 -61
  127. package/dist/helpers/multiplicity.js +19 -24
  128. package/dist/helpers/multiplicity_calc.js +39 -50
  129. package/dist/helpers/multiplicity_complat.js +21 -47
  130. package/dist/helpers/multiplicity_manual.js +49 -55
  131. package/dist/helpers/multiplicity_verify_basic.js +108 -111
  132. package/dist/helpers/shift.js +15 -23
  133. package/dist/helpers/zoom.js +7 -11
  134. package/dist/index.js +680 -630
  135. package/dist/layer_content.js +40 -43
  136. package/dist/layer_init.js +162 -184
  137. package/dist/layer_prism.js +38 -41
  138. package/dist/reducers/index.js +2 -3
  139. package/dist/reducers/reducer_curve.js +35 -26
  140. package/dist/reducers/reducer_edit_peak.js +122 -98
  141. package/dist/reducers/reducer_forecast.js +57 -44
  142. package/dist/reducers/reducer_integration.js +135 -103
  143. package/dist/reducers/reducer_jcamp.js +49 -44
  144. package/dist/reducers/reducer_layout.js +5 -6
  145. package/dist/reducers/reducer_manager.js +5 -6
  146. package/dist/reducers/reducer_meta.js +5 -6
  147. package/dist/reducers/reducer_multiplicity.js +100 -77
  148. package/dist/reducers/reducer_scan.js +17 -20
  149. package/dist/reducers/reducer_shift.js +115 -70
  150. package/dist/reducers/reducer_simulation.js +7 -8
  151. package/dist/reducers/reducer_status.js +5 -6
  152. package/dist/reducers/reducer_submit.js +12 -15
  153. package/dist/reducers/reducer_threshold.js +5 -6
  154. package/dist/reducers/reducer_ui.js +5 -6
  155. package/dist/reducers/reducer_voltammetry.js +156 -96
  156. package/dist/reducers/reducer_wavelength.js +5 -6
  157. package/dist/reducers/undo_redo_config.js +3 -5
  158. package/dist/sagas/index.js +2 -15
  159. package/dist/sagas/saga_edit_peak.js +54 -68
  160. package/dist/sagas/saga_manager.js +86 -130
  161. package/dist/sagas/saga_meta.js +25 -31
  162. package/dist/sagas/saga_multi_entities.js +40 -103
  163. package/dist/sagas/saga_multiplicity.js +336 -406
  164. package/dist/sagas/saga_ui.js +296 -475
  165. package/dist/setupTests.js +8 -0
  166. package/dist/third_party/jAnalyzer.js +66 -67
  167. package/dist/third_party/peakInterval.js +34 -34
  168. package/package.json +14 -14
  169. package/dist/components/cmd_bar/03_peak_bk.js +0 -139
  170. package/dist/components/cmd_bar/04_integration_bk.js +0 -180
  171. package/dist/components/cmd_bar/05_multiplicity_bk.js +0 -131
  172. package/dist/components/cmd_bar/r01_layout_bk.js +0 -186
  173. package/dist/components/cmd_bar/r06_predict_btn_bk.js +0 -220
  174. package/dist/components/d3_line/line_focus_bk.js +0 -825
  175. package/dist/components/d3_multi/index_bk.js +0 -210
  176. package/dist/components/d3_multi/multi_focus_bk.js +0 -533
  177. package/dist/components/panel/compare_bk.js +0 -256
  178. package/dist/components/panel/cyclic_voltamery_data_bk.js +0 -292
  179. package/dist/components/panel/index_bk.js +0 -178
  180. package/dist/components/panel/info_bk.js +0 -235
  181. package/dist/components/panel/multiplicity_bk.js +0 -280
  182. package/dist/helpers/carbonFeatures_bk.js +0 -45
  183. package/dist/helpers/cfg_bk.js +0 -80
  184. package/dist/helpers/chem_bk.js +0 -787
  185. package/dist/helpers/compass_bk.js +0 -149
  186. package/dist/helpers/converter_bk.js +0 -96
  187. package/dist/helpers/extractPeaksEdit_bk.js +0 -53
  188. package/dist/helpers/format_bk.js +0 -497
  189. package/dist/index_bk.js +0 -640
  190. package/dist/layer_content_bk.js +0 -105
  191. package/dist/layer_init_bk.js +0 -235
  192. package/dist/layer_prism_bk.js +0 -133
  193. package/dist/reducers/reducer_edit_peak_bk.js +0 -108
  194. package/dist/reducers/reducer_integration_bk.js +0 -134
  195. package/dist/reducers/reducer_jcamp_bk.js +0 -71
  196. package/dist/reducers/reducer_multiplicity_bk.js +0 -126
  197. package/dist/reducers/reducer_shift_bk.js +0 -88
  198. package/dist/reducers/reducer_voltammetry_bk.js +0 -287
  199. package/dist/sagas/saga_edit_peak_bk.js +0 -73
  200. package/dist/sagas/saga_multi_entities_bk.js +0 -106
  201. package/dist/sagas/saga_multiplicity_bk.js +0 -351
  202. package/dist/sagas/saga_ui_bk.js +0 -453
@@ -1,787 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.convertTopic = exports.Topic2Seed = exports.ToThresEndPts = exports.ToShiftPeaks = exports.ToFrequency = exports.GetCyclicVoltaRatio = exports.GetCyclicVoltaPeakSeparate = exports.GetComparisons = exports.Feature2Peak = exports.Feature2MaxMinPeak = exports.ExtractJcamp = exports.Convert2Thres = exports.Convert2Scan = exports.Convert2Peak = exports.Convert2MaxMinPeak = exports.Convert2DValue = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _jcampconverter = _interopRequireDefault(require("jcampconverter"));
10
- var _reselect = require("reselect");
11
- var _shift = require("./shift");
12
- var _cfg = _interopRequireDefault(require("./cfg"));
13
- var _format = _interopRequireDefault(require("./format"));
14
- var _list_layout = require("../constants/list_layout");
15
- var _integration = require("./integration");
16
- var getTopic = function getTopic(_, props) {
17
- return props.topic;
18
- };
19
- var getFeature = function getFeature(_, props) {
20
- return props.feature;
21
- };
22
- var getLayout = function getLayout(state, _) {
23
- return state.layout;
24
- }; // eslint-disable-line
25
-
26
- var getShiftOffset = function getShiftOffset(state, _) {
27
- // eslint-disable-line
28
- var shift = state.shift;
29
- var ref = shift.ref,
30
- peak = shift.peak;
31
- return (0, _shift.FromManualToOffset)(ref, peak);
32
- };
33
- var calcXYK = function calcXYK(xs, ys, maxY, offset) {
34
- var sp = [];
35
- var k = 0;
36
- for (var i = 0; i < ys.length; i += 1) {
37
- // no-downsample
38
- var x = xs[i] - offset;
39
- var y = ys[i];
40
- var cy = y / maxY;
41
- if (cy > 0.0) {
42
- k += cy;
43
- }
44
- sp.push({
45
- x: x,
46
- y: y,
47
- k: k
48
- });
49
- }
50
- return sp;
51
- };
52
- var calcXY = function calcXY(xs, ys, maxY, offset) {
53
- var sp = [];
54
- for (var i = 0; i < ys.length; i += 1) {
55
- // no-downsample
56
- var x = xs[i] - offset;
57
- var y = ys[i];
58
- sp.push({
59
- x: x,
60
- y: y
61
- });
62
- }
63
- return sp;
64
- };
65
- var convertTopic = function convertTopic(topic, layout, feature, offset) {
66
- var maxY = feature.maxY;
67
- var xs = topic.x;
68
- var ys = topic.y;
69
- var isItgDisable = _cfg.default.btnCmdIntg(layout);
70
- if (!isItgDisable) return calcXYK(xs, ys, maxY, offset);
71
- return calcXY(xs, ys, maxY, offset);
72
- };
73
- exports.convertTopic = convertTopic;
74
- var Topic2Seed = (0, _reselect.createSelector)(getTopic, getLayout, getFeature, getShiftOffset, convertTopic);
75
- exports.Topic2Seed = Topic2Seed;
76
- var getOthers = function getOthers(_, props) {
77
- return props.comparisons;
78
- };
79
- var calcRescaleXY = function calcRescaleXY(xs, ys, minY, maxY, show) {
80
- var sp = [];
81
- if (xs.length < 1) return sp;
82
- var _ref = [Math.min.apply(Math, (0, _toConsumableArray2.default)(ys)), Math.max.apply(Math, (0, _toConsumableArray2.default)(ys))],
83
- lowerY = _ref[0],
84
- upperY = _ref[1];
85
- var faktor = (maxY - minY) / (upperY - lowerY);
86
- for (var i = 0; i < ys.length; i += 2) {
87
- // downsample
88
- var x = xs[i];
89
- var y = (ys[i] - lowerY) * faktor + minY;
90
- sp.push({
91
- x: x,
92
- y: y
93
- });
94
- }
95
- return {
96
- data: sp,
97
- show: show
98
- };
99
- };
100
- var convertComparisons = function convertComparisons(layout, comparisons, feature) {
101
- var minY = feature.minY,
102
- maxY = feature.maxY;
103
- if (!comparisons || !(_format.default.isIrLayout(layout) || _format.default.isHplcUvVisLayout(layout) || _format.default.isXRDLayout(layout))) return [];
104
- return comparisons.map(function (c) {
105
- var spectra = c.spectra,
106
- show = c.show;
107
- var topic = spectra[0].data[0];
108
- var xs = topic.x;
109
- var ys = topic.y;
110
- return calcRescaleXY(xs, ys, minY, maxY, show);
111
- });
112
- };
113
- var GetComparisons = (0, _reselect.createSelector)(getLayout, getOthers, getFeature, convertComparisons);
114
- exports.GetComparisons = GetComparisons;
115
- var convertFrequency = function convertFrequency(layout, feature) {
116
- if (['1H', '13C', '19F', '31P', '15N', '29Si'].indexOf(layout) < 0) return false;
117
- var observeFrequency = feature.observeFrequency;
118
- var freq = Array.isArray(observeFrequency) ? observeFrequency[0] : observeFrequency;
119
- return parseFloat(freq) || false;
120
- };
121
- var ToFrequency = (0, _reselect.createSelector)(getLayout, getFeature, convertFrequency);
122
- exports.ToFrequency = ToFrequency;
123
- var getThreshold = function getThreshold(state) {
124
- return state.threshold ? state.threshold.value * 1.0 : false;
125
- };
126
- var Convert2Peak = function Convert2Peak(feature, threshold, offset) {
127
- var upThreshold = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
128
- var lowThreshold = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
129
- var peak = [];
130
- if (!feature || !feature.data) return peak;
131
- var data = feature.data[0];
132
- var maxY = feature.maxY,
133
- peakUp = feature.peakUp,
134
- thresRef = feature.thresRef,
135
- minY = feature.minY,
136
- upperThres = feature.upperThres,
137
- lowerThres = feature.lowerThres;
138
- if (upperThres || lowerThres) {
139
- var upperThresVal = upThreshold || upperThres;
140
- if (!upperThresVal) {
141
- upperThresVal = 1.0;
142
- }
143
- var lowerThresVal = lowThreshold || lowerThres;
144
- if (!lowerThresVal) {
145
- lowerThresVal = 1.0;
146
- }
147
- var yUpperThres = parseFloat(upperThresVal) / 100.0 * maxY;
148
- var yLowerThres = parseFloat(lowerThresVal) / 100.0 * minY;
149
- var corrOffset = offset || 0.0;
150
- for (var i = 0; i < data.y.length; i += 1) {
151
- var y = data.y[i];
152
- var overUpperThres = y >= yUpperThres;
153
- var belowThres = y <= yLowerThres;
154
- if (overUpperThres || belowThres) {
155
- var x = data.x[i] - corrOffset;
156
- peak.push({
157
- x: x,
158
- y: y
159
- });
160
- }
161
- }
162
- return peak;
163
- } else {
164
- var thresVal = threshold || thresRef;
165
- var yThres = thresVal * maxY / 100.0;
166
- var _corrOffset = offset || 0.0;
167
- for (var _i = 0; _i < data.y.length; _i += 1) {
168
- var _y = data.y[_i];
169
- var overThres = peakUp && Math.abs(_y) >= yThres || !peakUp && Math.abs(_y) <= yThres;
170
- if (overThres) {
171
- var _x = data.x[_i] - _corrOffset;
172
- peak.push({
173
- x: _x,
174
- y: _y
175
- });
176
- }
177
- }
178
- return peak;
179
- }
180
- };
181
- exports.Convert2Peak = Convert2Peak;
182
- var Feature2Peak = (0, _reselect.createSelector)(getFeature, getThreshold, getShiftOffset, Convert2Peak);
183
- exports.Feature2Peak = Feature2Peak;
184
- var Convert2MaxMinPeak = function Convert2MaxMinPeak(layout, feature, offset) {
185
- var peaks = {
186
- max: [],
187
- min: [],
188
- pecker: []
189
- };
190
- if (!_format.default.isCyclicVoltaLayout(layout) || !feature || !feature.data) return null;
191
- var data = feature.data[0];
192
- var maxY = feature.maxY,
193
- minY = feature.minY,
194
- upperThres = feature.upperThres,
195
- lowerThres = feature.lowerThres,
196
- volammetryData = feature.volammetryData;
197
- if (volammetryData && volammetryData.length > 0) {
198
- var maxArr = volammetryData.map(function (peakData) {
199
- if (peakData.max.x === '') return null;
200
- return {
201
- x: Number(peakData.max.x),
202
- y: Number(peakData.max.y)
203
- };
204
- });
205
- var minArr = volammetryData.map(function (peakData) {
206
- if (peakData.min.x === '') return null;
207
- return {
208
- x: Number(peakData.min.x),
209
- y: Number(peakData.min.y)
210
- };
211
- });
212
- var peckerArr = volammetryData.map(function (peakData) {
213
- if (peakData.pecker.x === '') return null;
214
- return {
215
- x: Number(peakData.pecker.x),
216
- y: Number(peakData.pecker.y)
217
- };
218
- });
219
- peaks.max = maxArr;
220
- peaks.min = minArr;
221
- peaks.pecker = peckerArr;
222
- return peaks;
223
- }
224
- var upperThresVal = upperThres;
225
- if (!upperThresVal) {
226
- upperThresVal = 1.0;
227
- }
228
- var lowerThresVal = lowerThres;
229
- if (!lowerThresVal) {
230
- lowerThresVal = 1.0;
231
- }
232
- var yUpperThres = parseFloat(upperThresVal) / 100.0 * maxY;
233
- var yLowerThres = parseFloat(lowerThresVal) / 100.0 * minY;
234
- var corrOffset = offset || 0.0;
235
- for (var i = 0; i < data.y.length; i += 1) {
236
- var y = data.y[i];
237
- var overUpperThres = y >= yUpperThres;
238
- var belowThres = y <= yLowerThres;
239
- var x = data.x[i] - corrOffset;
240
- if (overUpperThres) {
241
- peaks.max.push({
242
- x: x,
243
- y: y
244
- });
245
- } else if (belowThres) {
246
- peaks.min.push({
247
- x: x,
248
- y: y
249
- });
250
- }
251
- }
252
- return peaks;
253
- };
254
- exports.Convert2MaxMinPeak = Convert2MaxMinPeak;
255
- var Feature2MaxMinPeak = (0, _reselect.createSelector)(getLayout, getFeature, getShiftOffset, Convert2MaxMinPeak);
256
- exports.Feature2MaxMinPeak = Feature2MaxMinPeak;
257
- var convertThresEndPts = function convertThresEndPts(feature, threshold) {
258
- var maxY = feature.maxY,
259
- maxX = feature.maxX,
260
- minX = feature.minX,
261
- thresRef = feature.thresRef;
262
- var thresVal = threshold || thresRef || 0;
263
- if (!thresVal || !feature.data) return [];
264
- var yThres = thresVal * maxY / 100.0;
265
- var endPts = [{
266
- x: minX - 200,
267
- y: yThres
268
- }, {
269
- x: maxX + 200,
270
- y: yThres
271
- }];
272
- return endPts;
273
- };
274
- var ToThresEndPts = (0, _reselect.createSelector)(getFeature, getThreshold, convertThresEndPts);
275
- exports.ToThresEndPts = ToThresEndPts;
276
- var getShiftPeak = function getShiftPeak(state) {
277
- return state.shift.peak;
278
- };
279
- var convertSfPeaks = function convertSfPeaks(peak, offset) {
280
- if (!peak || !peak.x) return [];
281
- return [{
282
- x: peak.x - offset,
283
- y: peak.y
284
- }];
285
- };
286
- var ToShiftPeaks = (0, _reselect.createSelector)(getShiftPeak, getShiftOffset, convertSfPeaks);
287
-
288
- // - - - - - - - - - - - - - - - - - - - - - -
289
- // ExtractJcamp
290
- // - - - - - - - - - - - - - - - - - - - - - -
291
- exports.ToShiftPeaks = ToShiftPeaks;
292
- var readLayout = function readLayout(jcamp) {
293
- var xType = jcamp.xType,
294
- spectra = jcamp.spectra;
295
- if (xType && _format.default.isNmrLayout(xType)) return xType;
296
- var dataType = spectra[0].dataType;
297
- if (dataType) {
298
- if (dataType.includes('INFRARED SPECTRUM')) {
299
- return _list_layout.LIST_LAYOUT.IR;
300
- }
301
- if (dataType.includes('RAMAN SPECTRUM')) {
302
- return _list_layout.LIST_LAYOUT.RAMAN;
303
- }
304
- if (dataType.includes('UV/VIS SPECTRUM')) {
305
- if (dataType.includes('HPLC')) {
306
- return _list_layout.LIST_LAYOUT.HPLC_UVVIS;
307
- }
308
- return _list_layout.LIST_LAYOUT.UVVIS;
309
- }
310
- if (dataType.includes('THERMOGRAVIMETRIC ANALYSIS')) {
311
- return _list_layout.LIST_LAYOUT.TGA;
312
- }
313
- if (dataType.includes('X-RAY DIFFRACTION')) {
314
- return _list_layout.LIST_LAYOUT.XRD;
315
- }
316
- if (dataType.includes('MASS SPECTRUM')) {
317
- return _list_layout.LIST_LAYOUT.MS;
318
- }
319
- if (dataType.includes('CYCLIC VOLTAMMETRY')) {
320
- return _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY;
321
- }
322
- if (dataType.includes('CIRCULAR DICHROISM SPECTROSCOPY')) {
323
- return _list_layout.LIST_LAYOUT.CDS;
324
- }
325
- }
326
- return false;
327
- };
328
- var extrSpectraShare = function extrSpectraShare(spectra, layout) {
329
- return spectra.map(function (s) {
330
- return Object.assign({
331
- layout: layout
332
- }, s);
333
- }).filter(function (r) {
334
- return r != null;
335
- });
336
- };
337
- var extrSpectraMs = function extrSpectraMs(jcamp, layout) {
338
- var scanCount = jcamp.info.$CSSCANCOUNT || 1;
339
- var spc = extrSpectraShare(jcamp.spectra.slice(0, scanCount), layout);
340
- return spc || [];
341
- };
342
- var extrSpectraNi = function extrSpectraNi(jcamp, layout) {
343
- var categorys = jcamp.info.$CSCATEGORY || ['SPECTRUM'];
344
- var targetIdx = categorys.indexOf('SPECTRUM');
345
- var spectrum = extrSpectraShare(jcamp.spectra, layout)[targetIdx];
346
- return [spectrum] || [jcamp.spectra[0]];
347
- };
348
- var calcThresRef = function calcThresRef(s, peakUp) {
349
- var ys = s && s.data[0].y;
350
- if (!ys) return null;
351
- var ref = peakUp ? Math.min.apply(Math, (0, _toConsumableArray2.default)(ys.map(function (a) {
352
- return Math.abs(a);
353
- }))) : Math.max.apply(Math, (0, _toConsumableArray2.default)(ys));
354
- return peakUp ? Math.floor(ref * 100 * 100 / s.maxY) / 100 : Math.ceil(ref * 100 * 100 / s.maxY) / 100;
355
- };
356
- var calcUpperThres = function calcUpperThres(s) {
357
- var ys = s && s.data[0].y;
358
- if (!ys) return null;
359
- var ref = Math.max.apply(Math, (0, _toConsumableArray2.default)(ys));
360
- return Math.floor(ref * 100 * 100 / s.maxY) / 100;
361
- };
362
- var calcLowerThres = function calcLowerThres(s) {
363
- var ys = s && s.data[0].y;
364
- if (!ys) return null;
365
- var ref = Math.min.apply(Math, (0, _toConsumableArray2.default)(ys));
366
- return Math.ceil(ref * 100 * 100 / s.minY) / 100;
367
- };
368
- var extractShift = function extractShift(s, jcamp) {
369
- var shift = {
370
- selectX: false,
371
- solventName: false,
372
- solventValue: false
373
- };
374
- if (!s) return shift;
375
- if (s && s.sampleDescription) {
376
- var desc = s.sampleDescription;
377
- var info = desc.split(/;|=/);
378
- return {
379
- selectX: parseFloat(info[1]),
380
- solventName: info[3],
381
- solventValue: parseFloat(info[5])
382
- };
383
- }
384
- return {
385
- selectX: parseFloat(jcamp.info.$CSSOLVENTX) || false,
386
- solventName: jcamp.info.$CSSOLVENTNAME || false,
387
- solventValue: parseFloat(jcamp.info.$CSSOLVENTVALUE) || false
388
- };
389
- };
390
- var extractVoltammetryData = function extractVoltammetryData(jcamp) {
391
- var info = jcamp.info;
392
- if (!info.$CSCYCLICVOLTAMMETRYDATA) return null;
393
- var regx = /[^0-9.,E,e,-]/g;
394
- var rawData = info.$CSCYCLICVOLTAMMETRYDATA.split('\n');
395
- var peakStack = rawData.map(function (line) {
396
- var splittedLine = line.replace(regx, '').split(',');
397
- return {
398
- max: {
399
- x: splittedLine[0],
400
- y: splittedLine[1]
401
- },
402
- min: {
403
- x: splittedLine[2],
404
- y: splittedLine[3]
405
- },
406
- ratio: splittedLine[4],
407
- delta: splittedLine[5],
408
- pecker: {
409
- x: splittedLine[6],
410
- y: splittedLine[7]
411
- }
412
- };
413
- });
414
- return peakStack;
415
- };
416
- var buildPeakFeature = function buildPeakFeature(jcamp, layout, peakUp, s, thresRef) {
417
- var upperThres = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
418
- var lowerThres = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
419
- var xType = jcamp.xType,
420
- info = jcamp.info;
421
- var subTyp = xType ? " - ".concat(xType) : '';
422
- return Object.assign({
423
- typ: s.dataType + subTyp,
424
- peakUp: peakUp,
425
- thresRef: thresRef,
426
- scanCount: +info.$CSSCANCOUNT,
427
- scanAutoTarget: +info.$CSSCANAUTOTARGET,
428
- scanEditTarget: +info.$CSSCANEDITTARGET,
429
- shift: extractShift(s, jcamp),
430
- operation: {
431
- layout: layout,
432
- nucleus: xType || ''
433
- },
434
- observeFrequency: info['.OBSERVEFREQUENCY'],
435
- solventName: info['.SOLVENTNAME'],
436
- upperThres: upperThres,
437
- lowerThres: lowerThres,
438
- volammetryData: extractVoltammetryData(jcamp)
439
- }, s);
440
- };
441
- var calcIntgRefArea = function calcIntgRefArea(spectra, stack) {
442
- if (stack.length === 0) return 1;
443
- var data = spectra[0].data[0];
444
- var xs = data.x;
445
- var ys = data.y;
446
- var maxY = maxArray(ys);
447
- var xyk = calcXYK(xs, ys, maxY, 0);
448
- var _stack$ = stack[0],
449
- xL = _stack$.xL,
450
- xU = _stack$.xU,
451
- area = _stack$.area;
452
- var rawArea = (0, _integration.getArea)(xL, xU, xyk);
453
- var raw2realRatio = rawArea / area;
454
- return {
455
- raw2realRatio: raw2realRatio
456
- };
457
- };
458
- var maxArray = function maxArray(arr) {
459
- var len = arr.length;
460
- var max = -Infinity;
461
- while (len--) {
462
- max = arr[len] > max ? arr[len] : max;
463
- }
464
- return max;
465
- };
466
- var buildIntegFeature = function buildIntegFeature(jcamp, spectra) {
467
- var _jcamp$info = jcamp.info,
468
- $OBSERVEDINTEGRALS = _jcamp$info.$OBSERVEDINTEGRALS,
469
- $OBSERVEDMULTIPLETS = _jcamp$info.$OBSERVEDMULTIPLETS;
470
- var regx = /[^0-9.,-]/g;
471
- var stack = [];
472
- if ($OBSERVEDINTEGRALS) {
473
- var its = $OBSERVEDINTEGRALS.split('\n').slice(1);
474
- var itStack = its.map(function (t) {
475
- var ts = t.replace(regx, '').split(',');
476
- return {
477
- xL: parseFloat(ts[0]),
478
- xU: parseFloat(ts[1]),
479
- area: parseFloat(ts[2]),
480
- absoluteArea: parseFloat(ts[3])
481
- };
482
- });
483
- stack = [].concat((0, _toConsumableArray2.default)(stack), (0, _toConsumableArray2.default)(itStack));
484
- }
485
- if ($OBSERVEDMULTIPLETS) {
486
- var mps = $OBSERVEDMULTIPLETS.split('\n');
487
- var mpStack = mps.map(function (m) {
488
- var ms = m.replace(regx, '').split(',');
489
- return {
490
- xL: parseFloat(ms[1]),
491
- xU: parseFloat(ms[2]),
492
- area: parseFloat(ms[4])
493
- };
494
- });
495
- stack = [].concat((0, _toConsumableArray2.default)(stack), (0, _toConsumableArray2.default)(mpStack));
496
- }
497
- var _calcIntgRefArea = calcIntgRefArea(spectra, stack),
498
- raw2realRatio = _calcIntgRefArea.raw2realRatio;
499
- var mStack = stack.map(function (st) {
500
- return Object.assign({}, st, {
501
- area: st.area * raw2realRatio
502
- });
503
- });
504
- return {
505
- refArea: raw2realRatio,
506
- refFactor: 1,
507
- shift: 0,
508
- stack: mStack,
509
- originStack: stack
510
- };
511
- };
512
-
513
- /*
514
- const range = (head, tail, length) => {
515
- const actTail = tail || length - 1;
516
- return (
517
- Array(actTail - head + 1).fill().map((_, idx) => head + idx)
518
- );
519
- };
520
- */
521
-
522
- var buildSimFeature = function buildSimFeature(jcamp) {
523
- var $CSSIMULATIONPEAKS = jcamp.info.$CSSIMULATIONPEAKS;
524
- var nmrSimPeaks = $CSSIMULATIONPEAKS ? $CSSIMULATIONPEAKS.split('\n') : [];
525
- nmrSimPeaks = nmrSimPeaks.map(function (x) {
526
- return parseFloat(x).toFixed(2);
527
- });
528
- return {
529
- nmrSimPeaks: nmrSimPeaks
530
- };
531
- };
532
- var buildMpyFeature = function buildMpyFeature(jcamp) {
533
- var _jcamp$info2 = jcamp.info,
534
- $OBSERVEDMULTIPLETS = _jcamp$info2.$OBSERVEDMULTIPLETS,
535
- $OBSERVEDMULTIPLETSPEAKS = _jcamp$info2.$OBSERVEDMULTIPLETSPEAKS;
536
- var regx = /[^A-Za-z0-9.,-]/g;
537
- var regxNum = /[^0-9.]/g;
538
- var stack = [];
539
- if (!$OBSERVEDMULTIPLETSPEAKS) return {
540
- stack: []
541
- };
542
- var allPeaks = $OBSERVEDMULTIPLETSPEAKS.split('\n').map(function (p) {
543
- return p.replace(regx, '').split(',');
544
- });
545
- if ($OBSERVEDMULTIPLETS) {
546
- var mp = $OBSERVEDMULTIPLETS.split('\n');
547
- var mpStack = mp.map(function (m) {
548
- var ms = m.replace(regx, '').split(',');
549
- var idx = ms[0];
550
- var ys = [];
551
- var peaks = allPeaks.map(function (p) {
552
- if (p[0] === idx) {
553
- ys = [].concat((0, _toConsumableArray2.default)(ys), [parseFloat(p[2])]);
554
- return {
555
- x: parseFloat(p[1]),
556
- y: parseFloat(p[2])
557
- };
558
- }
559
- return null;
560
- }).filter(function (r) {
561
- return r != null;
562
- });
563
- var js = m.split(',');
564
- js = js[js.length - 1].split(' ').map(function (j) {
565
- return parseFloat(j.replace(regxNum, ''));
566
- }).filter(Boolean);
567
- return {
568
- js: js,
569
- mpyType: ms[6],
570
- xExtent: {
571
- xL: parseFloat(ms[1]),
572
- xU: parseFloat(ms[2])
573
- },
574
- yExtent: {
575
- yL: Math.min.apply(Math, (0, _toConsumableArray2.default)(ys)),
576
- yU: Math.max.apply(Math, (0, _toConsumableArray2.default)(ys))
577
- },
578
- peaks: peaks
579
- };
580
- });
581
- stack = [].concat((0, _toConsumableArray2.default)(stack), (0, _toConsumableArray2.default)(mpStack));
582
- }
583
- return {
584
- stack: stack,
585
- shift: 0,
586
- smExtext: false
587
- };
588
- };
589
- var isPeakTable = function isPeakTable(s) {
590
- return s.dataType && (s.dataType.includes('PEAKTABLE') || s.dataType.includes('PEAK ASSIGNMENTS'));
591
- };
592
- var extrFeaturesNi = function extrFeaturesNi(jcamp, layout, peakUp, spectra) {
593
- var nfs = {};
594
- var category = jcamp.info.$CSCATEGORY;
595
- if (category) {
596
- var idxEditPeak = category.indexOf('EDIT_PEAK');
597
- if (idxEditPeak >= 0) {
598
- var sEP = jcamp.spectra[idxEditPeak];
599
- var thresRef = calcThresRef(sEP, peakUp);
600
- nfs.editPeak = buildPeakFeature(jcamp, layout, peakUp, sEP, thresRef);
601
- }
602
- var idxAutoPeak = category.indexOf('AUTO_PEAK');
603
- if (idxAutoPeak >= 0) {
604
- var sAP = jcamp.spectra[idxAutoPeak];
605
- var _thresRef = calcThresRef(sAP, peakUp);
606
- nfs.autoPeak = buildPeakFeature(jcamp, layout, peakUp, sAP, _thresRef);
607
- }
608
- nfs.integration = buildIntegFeature(jcamp, spectra);
609
- nfs.multiplicity = buildMpyFeature(jcamp);
610
- nfs.simulation = buildSimFeature(jcamp);
611
- return nfs;
612
- }
613
- // workaround for legacy design
614
- var features = jcamp.spectra.map(function (s) {
615
- var thresRef = calcThresRef(s, peakUp);
616
- return isPeakTable(s) ? buildPeakFeature(jcamp, layout, peakUp, s, thresRef) : null;
617
- }).filter(function (r) {
618
- return r != null;
619
- });
620
- var integration = buildIntegFeature(jcamp, spectra);
621
- var multiplicity = buildMpyFeature(jcamp);
622
- var simulation = buildSimFeature(jcamp);
623
- return {
624
- editPeak: features[0],
625
- autoPeak: features[1],
626
- integration: integration,
627
- multiplicity: multiplicity,
628
- simulation: simulation
629
- };
630
- };
631
- var extrFeaturesXrd = function extrFeaturesXrd(jcamp, layout, peakUp) {
632
- var base = jcamp.spectra[0];
633
- var features = jcamp.spectra.map(function (s) {
634
- var upperThres = _format.default.isXRDLayout(layout) ? 100 : calcUpperThres(s);
635
- var lowerThres = _format.default.isXRDLayout(layout) ? 100 : calcLowerThres(s);
636
- var cpo = buildPeakFeature(jcamp, layout, peakUp, s, 100, upperThres, lowerThres);
637
- var bnd = getBoundary(s);
638
- return Object.assign({}, base, cpo, bnd);
639
- }).filter(function (r) {
640
- return r != null;
641
- });
642
- var category = jcamp.info.$CSCATEGORY;
643
- if (category) {
644
- var idxEditPeak = category.indexOf('EDIT_PEAK');
645
- if (idxEditPeak >= 0) {
646
- var sEP = jcamp.spectra[idxEditPeak];
647
- var thresRef = calcThresRef(sEP, peakUp);
648
- features.editPeak = buildPeakFeature(jcamp, layout, peakUp, sEP, thresRef);
649
- }
650
- var idxAutoPeak = category.indexOf('AUTO_PEAK');
651
- if (idxAutoPeak >= 0) {
652
- var sAP = jcamp.spectra[idxAutoPeak];
653
- var _thresRef2 = calcThresRef(sAP, peakUp);
654
- features.autoPeak = buildPeakFeature(jcamp, layout, peakUp, sAP, _thresRef2);
655
- }
656
- }
657
- return features;
658
- };
659
- var extrFeaturesCylicVolta = function extrFeaturesCylicVolta(jcamp, layout, peakUp) {
660
- var base = jcamp.spectra[0];
661
- var features = jcamp.spectra.map(function (s) {
662
- var upperThres = _format.default.isXRDLayout(layout) ? 100 : calcUpperThres(s);
663
- var lowerThres = _format.default.isXRDLayout(layout) ? 100 : calcLowerThres(s);
664
- var cpo = buildPeakFeature(jcamp, layout, peakUp, s, 100, upperThres, lowerThres);
665
- var bnd = getBoundary(s);
666
- return Object.assign({}, base, cpo, bnd);
667
- }).filter(function (r) {
668
- return r != null;
669
- });
670
- return features;
671
- };
672
- var getBoundary = function getBoundary(s) {
673
- var _s$data$ = s.data[0],
674
- x = _s$data$.x,
675
- y = _s$data$.y;
676
- var maxX = Math.max.apply(Math, (0, _toConsumableArray2.default)(x));
677
- var minX = Math.min.apply(Math, (0, _toConsumableArray2.default)(x));
678
- var maxY = Math.max.apply(Math, (0, _toConsumableArray2.default)(y));
679
- var minY = Math.min.apply(Math, (0, _toConsumableArray2.default)(y));
680
- return {
681
- maxX: maxX,
682
- minX: minX,
683
- maxY: maxY,
684
- minY: minY
685
- };
686
- };
687
- var extrFeaturesMs = function extrFeaturesMs(jcamp, layout, peakUp) {
688
- // const nfs = {};
689
- // const category = jcamp.info.$CSCATEGORY;
690
- // const scanCount = parseInt(jcamp.info.$CSSCANCOUNT, 10) - 1;
691
- // if (category) {
692
- // const idxEditPeak = category.indexOf('EDIT_PEAK');
693
- // if (idxEditPeak >= 0) {
694
- // const sEP = jcamp.spectra[idxEditPeak + scanCount];
695
- // const thresRef = calcThresRef(sEP, peakUp);
696
- // nfs.editPeak = buildPeakFeature(jcamp, layout, peakUp, sEP, thresRef);
697
- // }
698
- // const idxAutoPeak = category.indexOf('AUTO_PEAK');
699
- // if (idxAutoPeak >= 0) {
700
- // const sAP = jcamp.spectra[idxAutoPeak + scanCount];
701
- // const thresRef = calcThresRef(sAP, peakUp);
702
- // nfs.autoPeak = buildPeakFeature(jcamp, layout, peakUp, sAP, thresRef);
703
- // }
704
- // return nfs;
705
- // }
706
- // // workaround for legacy design
707
- var thresRef = jcamp.info && jcamp.info.$CSTHRESHOLD * 100 || 5;
708
- var base = jcamp.spectra[0];
709
- var features = jcamp.spectra.map(function (s) {
710
- var cpo = buildPeakFeature(jcamp, layout, peakUp, s, +thresRef.toFixed(4));
711
- var bnd = getBoundary(s);
712
- return Object.assign({}, base, cpo, bnd);
713
- }).filter(function (r) {
714
- return r != null;
715
- });
716
- return features;
717
- };
718
- var ExtractJcamp = function ExtractJcamp(source) {
719
- var jcamp = _jcampconverter.default.convert(source, {
720
- xy: true,
721
- keepRecordsRegExp: /(\$CSTHRESHOLD|\$CSSCANAUTOTARGET|\$CSSCANEDITTARGET|\$CSSCANCOUNT|\$CSSOLVENTNAME|\$CSSOLVENTVALUE|\$CSSOLVENTX|\$CSCATEGORY|\$CSITAREA|\$CSITFACTOR|\$OBSERVEDINTEGRALS|\$OBSERVEDMULTIPLETS|\$OBSERVEDMULTIPLETSPEAKS|\.SOLVENTNAME|\.OBSERVEFREQUENCY|\$CSSIMULATIONPEAKS|\$CSUPPERTHRESHOLD|\$CSLOWERTHRESHOLD|\$CSCYCLICVOLTAMMETRYDATA)/ // eslint-disable-line
722
- });
723
-
724
- var layout = readLayout(jcamp);
725
- var peakUp = !_format.default.isIrLayout(layout);
726
- var spectra = _format.default.isMsLayout(layout) ? extrSpectraMs(jcamp, layout) : extrSpectraNi(jcamp, layout);
727
- var features = {};
728
- if (_format.default.isMsLayout(layout)) {
729
- features = extrFeaturesMs(jcamp, layout, peakUp);
730
- } else if (_format.default.isXRDLayout(layout) || _format.default.isCDSLayout(layout)) {
731
- features = extrFeaturesXrd(jcamp, layout, peakUp);
732
- } else if (_format.default.isCyclicVoltaLayout(layout)) {
733
- features = extrFeaturesCylicVolta(jcamp, layout, peakUp);
734
- } else {
735
- features = extrFeaturesNi(jcamp, layout, peakUp, spectra);
736
- }
737
- // const features = Format.isMsLayout(layout)
738
- // ? extrFeaturesMs(jcamp, layout, peakUp)
739
- // : ((Format.isXRDLayout(layout) || Format.isCyclicVoltaLayout(layout))
740
- // ? extrFeaturesXrd(jcamp, layout, peakUp) : extrFeaturesNi(jcamp, layout, peakUp, spectra));
741
-
742
- return {
743
- spectra: spectra,
744
- features: features,
745
- layout: layout
746
- };
747
- };
748
- exports.ExtractJcamp = ExtractJcamp;
749
- var Convert2Scan = function Convert2Scan(feature, scanSt) {
750
- var scanAutoTarget = feature.scanAutoTarget,
751
- scanEditTarget = feature.scanEditTarget;
752
- var target = scanSt.target,
753
- isAuto = scanSt.isAuto;
754
- var hasEdit = !!scanEditTarget;
755
- var defaultIdx = isAuto || !hasEdit ? scanAutoTarget : scanEditTarget;
756
- return target || defaultIdx;
757
- };
758
- exports.Convert2Scan = Convert2Scan;
759
- var Convert2Thres = function Convert2Thres(feature, thresSt) {
760
- var value = thresSt.value || feature.thresRef;
761
- return value;
762
- };
763
- exports.Convert2Thres = Convert2Thres;
764
- var Convert2DValue = function Convert2DValue(doubleTheta) {
765
- var lambda = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15406;
766
- var isRadian = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
767
- var theta = doubleTheta / 2;
768
- if (isRadian) {
769
- theta = theta / 180 * Math.PI;
770
- }
771
- var sinTheta = Math.sin(theta);
772
- var dValue = lambda / (2 * sinTheta);
773
- return dValue;
774
- };
775
- exports.Convert2DValue = Convert2DValue;
776
- var GetCyclicVoltaRatio = function GetCyclicVoltaRatio(y_max_peak, y_min_peak, y_pecker) {
777
- var firstExpr = Math.abs(y_min_peak) / Math.abs(y_max_peak);
778
- var secondExpr = 0.485 * Math.abs(y_pecker) / Math.abs(y_max_peak);
779
- var ratio = firstExpr + secondExpr + 0.086;
780
- return ratio;
781
- };
782
- exports.GetCyclicVoltaRatio = GetCyclicVoltaRatio;
783
- var GetCyclicVoltaPeakSeparate = function GetCyclicVoltaPeakSeparate(x_max_peak, x_min_peak) {
784
- var delta = Math.abs(x_max_peak - x_min_peak);
785
- return delta;
786
- };
787
- exports.GetCyclicVoltaPeakSeparate = GetCyclicVoltaPeakSeparate;