vbi 0.1.3__cp310-cp310-manylinux2014_x86_64.whl

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 (121) hide show
  1. vbi/__init__.py +37 -0
  2. vbi/_version.py +17 -0
  3. vbi/dataset/__init__.py +0 -0
  4. vbi/dataset/connectivity_84/centers.txt +84 -0
  5. vbi/dataset/connectivity_84/centres.txt +84 -0
  6. vbi/dataset/connectivity_84/cortical.txt +84 -0
  7. vbi/dataset/connectivity_84/tract_lengths.txt +84 -0
  8. vbi/dataset/connectivity_84/weights.txt +84 -0
  9. vbi/dataset/connectivity_88/Aud_88.txt +88 -0
  10. vbi/dataset/connectivity_88/Bold.npz +0 -0
  11. vbi/dataset/connectivity_88/Labels.txt +17 -0
  12. vbi/dataset/connectivity_88/Region_labels.txt +88 -0
  13. vbi/dataset/connectivity_88/tract_lengths.txt +88 -0
  14. vbi/dataset/connectivity_88/weights.txt +88 -0
  15. vbi/feature_extraction/__init__.py +1 -0
  16. vbi/feature_extraction/calc_features.py +293 -0
  17. vbi/feature_extraction/features.json +535 -0
  18. vbi/feature_extraction/features.py +2124 -0
  19. vbi/feature_extraction/features_settings.py +374 -0
  20. vbi/feature_extraction/features_utils.py +1357 -0
  21. vbi/feature_extraction/infodynamics.jar +0 -0
  22. vbi/feature_extraction/utility.py +507 -0
  23. vbi/inference.py +98 -0
  24. vbi/models/__init__.py +0 -0
  25. vbi/models/cpp/__init__.py +0 -0
  26. vbi/models/cpp/_src/__init__.py +0 -0
  27. vbi/models/cpp/_src/__pycache__/mpr_sde.cpython-310.pyc +0 -0
  28. vbi/models/cpp/_src/_do.cpython-310-x86_64-linux-gnu.so +0 -0
  29. vbi/models/cpp/_src/_jr_sdde.cpython-310-x86_64-linux-gnu.so +0 -0
  30. vbi/models/cpp/_src/_jr_sde.cpython-310-x86_64-linux-gnu.so +0 -0
  31. vbi/models/cpp/_src/_km_sde.cpython-310-x86_64-linux-gnu.so +0 -0
  32. vbi/models/cpp/_src/_mpr_sde.cpython-310-x86_64-linux-gnu.so +0 -0
  33. vbi/models/cpp/_src/_vep.cpython-310-x86_64-linux-gnu.so +0 -0
  34. vbi/models/cpp/_src/_wc_ode.cpython-310-x86_64-linux-gnu.so +0 -0
  35. vbi/models/cpp/_src/bold.hpp +303 -0
  36. vbi/models/cpp/_src/do.hpp +167 -0
  37. vbi/models/cpp/_src/do.i +17 -0
  38. vbi/models/cpp/_src/do.py +467 -0
  39. vbi/models/cpp/_src/do_wrap.cxx +12811 -0
  40. vbi/models/cpp/_src/jr_sdde.hpp +352 -0
  41. vbi/models/cpp/_src/jr_sdde.i +19 -0
  42. vbi/models/cpp/_src/jr_sdde.py +688 -0
  43. vbi/models/cpp/_src/jr_sdde_wrap.cxx +18718 -0
  44. vbi/models/cpp/_src/jr_sde.hpp +264 -0
  45. vbi/models/cpp/_src/jr_sde.i +17 -0
  46. vbi/models/cpp/_src/jr_sde.py +470 -0
  47. vbi/models/cpp/_src/jr_sde_wrap.cxx +13406 -0
  48. vbi/models/cpp/_src/km_sde.hpp +158 -0
  49. vbi/models/cpp/_src/km_sde.i +19 -0
  50. vbi/models/cpp/_src/km_sde.py +671 -0
  51. vbi/models/cpp/_src/km_sde_wrap.cxx +17367 -0
  52. vbi/models/cpp/_src/makefile +52 -0
  53. vbi/models/cpp/_src/mpr_sde.hpp +327 -0
  54. vbi/models/cpp/_src/mpr_sde.i +19 -0
  55. vbi/models/cpp/_src/mpr_sde.py +711 -0
  56. vbi/models/cpp/_src/mpr_sde_wrap.cxx +18618 -0
  57. vbi/models/cpp/_src/utility.hpp +307 -0
  58. vbi/models/cpp/_src/vep.hpp +171 -0
  59. vbi/models/cpp/_src/vep.i +16 -0
  60. vbi/models/cpp/_src/vep.py +464 -0
  61. vbi/models/cpp/_src/vep_wrap.cxx +12968 -0
  62. vbi/models/cpp/_src/wc_ode.hpp +294 -0
  63. vbi/models/cpp/_src/wc_ode.i +19 -0
  64. vbi/models/cpp/_src/wc_ode.py +686 -0
  65. vbi/models/cpp/_src/wc_ode_wrap.cxx +24263 -0
  66. vbi/models/cpp/damp_oscillator.py +143 -0
  67. vbi/models/cpp/jansen_rit.py +543 -0
  68. vbi/models/cpp/km.py +187 -0
  69. vbi/models/cpp/mpr.py +289 -0
  70. vbi/models/cpp/vep.py +150 -0
  71. vbi/models/cpp/wc.py +216 -0
  72. vbi/models/cupy/__init__.py +0 -0
  73. vbi/models/cupy/bold.py +111 -0
  74. vbi/models/cupy/ghb.py +284 -0
  75. vbi/models/cupy/jansen_rit.py +473 -0
  76. vbi/models/cupy/km.py +224 -0
  77. vbi/models/cupy/mpr.py +475 -0
  78. vbi/models/cupy/mpr_modified_bold.py +12 -0
  79. vbi/models/cupy/utils.py +184 -0
  80. vbi/models/numba/__init__.py +0 -0
  81. vbi/models/numba/_ww_EI.py +444 -0
  82. vbi/models/numba/damp_oscillator.py +162 -0
  83. vbi/models/numba/ghb.py +208 -0
  84. vbi/models/numba/mpr.py +383 -0
  85. vbi/models/pytorch/__init__.py +0 -0
  86. vbi/models/pytorch/data/default_parameters.npz +0 -0
  87. vbi/models/pytorch/data/input/ROI_sim.mat +0 -0
  88. vbi/models/pytorch/data/input/fc_test.csv +68 -0
  89. vbi/models/pytorch/data/input/fc_train.csv +68 -0
  90. vbi/models/pytorch/data/input/fc_vali.csv +68 -0
  91. vbi/models/pytorch/data/input/fcd_test.mat +0 -0
  92. vbi/models/pytorch/data/input/fcd_test_high_window.mat +0 -0
  93. vbi/models/pytorch/data/input/fcd_test_low_window.mat +0 -0
  94. vbi/models/pytorch/data/input/fcd_train.mat +0 -0
  95. vbi/models/pytorch/data/input/fcd_vali.mat +0 -0
  96. vbi/models/pytorch/data/input/myelin.csv +68 -0
  97. vbi/models/pytorch/data/input/rsfc_gradient.csv +68 -0
  98. vbi/models/pytorch/data/input/run_label_testset.mat +0 -0
  99. vbi/models/pytorch/data/input/sc_test.csv +68 -0
  100. vbi/models/pytorch/data/input/sc_train.csv +68 -0
  101. vbi/models/pytorch/data/input/sc_vali.csv +68 -0
  102. vbi/models/pytorch/data/obs_kong0.npz +0 -0
  103. vbi/models/pytorch/ww_sde_kong.py +570 -0
  104. vbi/models/tvbk/__init__.py +9 -0
  105. vbi/models/tvbk/tvbk_wrapper.py +166 -0
  106. vbi/models/tvbk/utils.py +72 -0
  107. vbi/papers/__init__.py +0 -0
  108. vbi/papers/pavlides_pcb_2015/pavlides.py +211 -0
  109. vbi/tests/__init__.py +0 -0
  110. vbi/tests/_test_mpr_nb.py +36 -0
  111. vbi/tests/test_features.py +355 -0
  112. vbi/tests/test_ghb_cupy.py +90 -0
  113. vbi/tests/test_mpr_cupy.py +49 -0
  114. vbi/tests/test_mpr_numba.py +84 -0
  115. vbi/tests/test_suite.py +19 -0
  116. vbi/utils.py +402 -0
  117. vbi-0.1.3.dist-info/METADATA +166 -0
  118. vbi-0.1.3.dist-info/RECORD +121 -0
  119. vbi-0.1.3.dist-info/WHEEL +5 -0
  120. vbi-0.1.3.dist-info/licenses/LICENSE +201 -0
  121. vbi-0.1.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,467 @@
1
+ # This file was automatically generated by SWIG (https://www.swig.org).
2
+ # Version 4.3.1
3
+ #
4
+ # Do not make changes to this file unless you know what you are doing - modify
5
+ # the SWIG interface file instead.
6
+
7
+ from sys import version_info as _swig_python_version_info
8
+ # Import the low-level C/C++ module
9
+ if __package__ or "." in __name__:
10
+ from . import _do
11
+ else:
12
+ import _do
13
+
14
+ try:
15
+ import builtins as __builtin__
16
+ except ImportError:
17
+ import __builtin__
18
+
19
+ def _swig_repr(self):
20
+ try:
21
+ strthis = "proxy of " + self.this.__repr__()
22
+ except __builtin__.Exception:
23
+ strthis = ""
24
+ return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
25
+
26
+
27
+ def _swig_setattr_nondynamic_instance_variable(set):
28
+ def set_instance_attr(self, name, value):
29
+ if name == "this":
30
+ set(self, name, value)
31
+ elif name == "thisown":
32
+ self.this.own(value)
33
+ elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
34
+ set(self, name, value)
35
+ else:
36
+ raise AttributeError("You cannot add instance attributes to %s" % self)
37
+ return set_instance_attr
38
+
39
+
40
+ def _swig_setattr_nondynamic_class_variable(set):
41
+ def set_class_attr(cls, name, value):
42
+ if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
43
+ set(cls, name, value)
44
+ else:
45
+ raise AttributeError("You cannot add class attributes to %s" % cls)
46
+ return set_class_attr
47
+
48
+
49
+ def _swig_add_metaclass(metaclass):
50
+ """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
51
+ def wrapper(cls):
52
+ return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
53
+ return wrapper
54
+
55
+
56
+ class _SwigNonDynamicMeta(type):
57
+ """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
58
+ __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
59
+
60
+
61
+ class SwigPyIterator(object):
62
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
63
+
64
+ def __init__(self, *args, **kwargs):
65
+ raise AttributeError("No constructor defined - class is abstract")
66
+ __repr__ = _swig_repr
67
+ __swig_destroy__ = _do.delete_SwigPyIterator
68
+
69
+ def value(self):
70
+ return _do.SwigPyIterator_value(self)
71
+
72
+ def incr(self, n=1):
73
+ return _do.SwigPyIterator_incr(self, n)
74
+
75
+ def decr(self, n=1):
76
+ return _do.SwigPyIterator_decr(self, n)
77
+
78
+ def distance(self, x):
79
+ return _do.SwigPyIterator_distance(self, x)
80
+
81
+ def equal(self, x):
82
+ return _do.SwigPyIterator_equal(self, x)
83
+
84
+ def copy(self):
85
+ return _do.SwigPyIterator_copy(self)
86
+
87
+ def next(self):
88
+ return _do.SwigPyIterator_next(self)
89
+
90
+ def __next__(self):
91
+ return _do.SwigPyIterator___next__(self)
92
+
93
+ def previous(self):
94
+ return _do.SwigPyIterator_previous(self)
95
+
96
+ def advance(self, n):
97
+ return _do.SwigPyIterator_advance(self, n)
98
+
99
+ def __eq__(self, x):
100
+ return _do.SwigPyIterator___eq__(self, x)
101
+
102
+ def __ne__(self, x):
103
+ return _do.SwigPyIterator___ne__(self, x)
104
+
105
+ def __iadd__(self, n):
106
+ return _do.SwigPyIterator___iadd__(self, n)
107
+
108
+ def __isub__(self, n):
109
+ return _do.SwigPyIterator___isub__(self, n)
110
+
111
+ def __add__(self, n):
112
+ return _do.SwigPyIterator___add__(self, n)
113
+
114
+ def __sub__(self, *args):
115
+ return _do.SwigPyIterator___sub__(self, *args)
116
+ def __iter__(self):
117
+ return self
118
+
119
+ # Register SwigPyIterator in _do:
120
+ _do.SwigPyIterator_swigregister(SwigPyIterator)
121
+ class IntVector(object):
122
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
123
+ __repr__ = _swig_repr
124
+
125
+ def iterator(self):
126
+ return _do.IntVector_iterator(self)
127
+ def __iter__(self):
128
+ return self.iterator()
129
+
130
+ def __nonzero__(self):
131
+ return _do.IntVector___nonzero__(self)
132
+
133
+ def __bool__(self):
134
+ return _do.IntVector___bool__(self)
135
+
136
+ def __len__(self):
137
+ return _do.IntVector___len__(self)
138
+
139
+ def __getslice__(self, i, j):
140
+ return _do.IntVector___getslice__(self, i, j)
141
+
142
+ def __setslice__(self, *args):
143
+ return _do.IntVector___setslice__(self, *args)
144
+
145
+ def __delslice__(self, i, j):
146
+ return _do.IntVector___delslice__(self, i, j)
147
+
148
+ def __delitem__(self, *args):
149
+ return _do.IntVector___delitem__(self, *args)
150
+
151
+ def __getitem__(self, *args):
152
+ return _do.IntVector___getitem__(self, *args)
153
+
154
+ def __setitem__(self, *args):
155
+ return _do.IntVector___setitem__(self, *args)
156
+
157
+ def pop(self):
158
+ return _do.IntVector_pop(self)
159
+
160
+ def append(self, x):
161
+ return _do.IntVector_append(self, x)
162
+
163
+ def empty(self):
164
+ return _do.IntVector_empty(self)
165
+
166
+ def size(self):
167
+ return _do.IntVector_size(self)
168
+
169
+ def swap(self, v):
170
+ return _do.IntVector_swap(self, v)
171
+
172
+ def begin(self):
173
+ return _do.IntVector_begin(self)
174
+
175
+ def end(self):
176
+ return _do.IntVector_end(self)
177
+
178
+ def rbegin(self):
179
+ return _do.IntVector_rbegin(self)
180
+
181
+ def rend(self):
182
+ return _do.IntVector_rend(self)
183
+
184
+ def clear(self):
185
+ return _do.IntVector_clear(self)
186
+
187
+ def get_allocator(self):
188
+ return _do.IntVector_get_allocator(self)
189
+
190
+ def pop_back(self):
191
+ return _do.IntVector_pop_back(self)
192
+
193
+ def erase(self, *args):
194
+ return _do.IntVector_erase(self, *args)
195
+
196
+ def __init__(self, *args):
197
+ _do.IntVector_swiginit(self, _do.new_IntVector(*args))
198
+
199
+ def push_back(self, x):
200
+ return _do.IntVector_push_back(self, x)
201
+
202
+ def front(self):
203
+ return _do.IntVector_front(self)
204
+
205
+ def back(self):
206
+ return _do.IntVector_back(self)
207
+
208
+ def assign(self, n, x):
209
+ return _do.IntVector_assign(self, n, x)
210
+
211
+ def resize(self, *args):
212
+ return _do.IntVector_resize(self, *args)
213
+
214
+ def insert(self, *args):
215
+ return _do.IntVector_insert(self, *args)
216
+
217
+ def reserve(self, n):
218
+ return _do.IntVector_reserve(self, n)
219
+
220
+ def capacity(self):
221
+ return _do.IntVector_capacity(self)
222
+ __swig_destroy__ = _do.delete_IntVector
223
+
224
+ # Register IntVector in _do:
225
+ _do.IntVector_swigregister(IntVector)
226
+ class DoubleVector(object):
227
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
228
+ __repr__ = _swig_repr
229
+
230
+ def iterator(self):
231
+ return _do.DoubleVector_iterator(self)
232
+ def __iter__(self):
233
+ return self.iterator()
234
+
235
+ def __nonzero__(self):
236
+ return _do.DoubleVector___nonzero__(self)
237
+
238
+ def __bool__(self):
239
+ return _do.DoubleVector___bool__(self)
240
+
241
+ def __len__(self):
242
+ return _do.DoubleVector___len__(self)
243
+
244
+ def __getslice__(self, i, j):
245
+ return _do.DoubleVector___getslice__(self, i, j)
246
+
247
+ def __setslice__(self, *args):
248
+ return _do.DoubleVector___setslice__(self, *args)
249
+
250
+ def __delslice__(self, i, j):
251
+ return _do.DoubleVector___delslice__(self, i, j)
252
+
253
+ def __delitem__(self, *args):
254
+ return _do.DoubleVector___delitem__(self, *args)
255
+
256
+ def __getitem__(self, *args):
257
+ return _do.DoubleVector___getitem__(self, *args)
258
+
259
+ def __setitem__(self, *args):
260
+ return _do.DoubleVector___setitem__(self, *args)
261
+
262
+ def pop(self):
263
+ return _do.DoubleVector_pop(self)
264
+
265
+ def append(self, x):
266
+ return _do.DoubleVector_append(self, x)
267
+
268
+ def empty(self):
269
+ return _do.DoubleVector_empty(self)
270
+
271
+ def size(self):
272
+ return _do.DoubleVector_size(self)
273
+
274
+ def swap(self, v):
275
+ return _do.DoubleVector_swap(self, v)
276
+
277
+ def begin(self):
278
+ return _do.DoubleVector_begin(self)
279
+
280
+ def end(self):
281
+ return _do.DoubleVector_end(self)
282
+
283
+ def rbegin(self):
284
+ return _do.DoubleVector_rbegin(self)
285
+
286
+ def rend(self):
287
+ return _do.DoubleVector_rend(self)
288
+
289
+ def clear(self):
290
+ return _do.DoubleVector_clear(self)
291
+
292
+ def get_allocator(self):
293
+ return _do.DoubleVector_get_allocator(self)
294
+
295
+ def pop_back(self):
296
+ return _do.DoubleVector_pop_back(self)
297
+
298
+ def erase(self, *args):
299
+ return _do.DoubleVector_erase(self, *args)
300
+
301
+ def __init__(self, *args):
302
+ _do.DoubleVector_swiginit(self, _do.new_DoubleVector(*args))
303
+
304
+ def push_back(self, x):
305
+ return _do.DoubleVector_push_back(self, x)
306
+
307
+ def front(self):
308
+ return _do.DoubleVector_front(self)
309
+
310
+ def back(self):
311
+ return _do.DoubleVector_back(self)
312
+
313
+ def assign(self, n, x):
314
+ return _do.DoubleVector_assign(self, n, x)
315
+
316
+ def resize(self, *args):
317
+ return _do.DoubleVector_resize(self, *args)
318
+
319
+ def insert(self, *args):
320
+ return _do.DoubleVector_insert(self, *args)
321
+
322
+ def reserve(self, n):
323
+ return _do.DoubleVector_reserve(self, n)
324
+
325
+ def capacity(self):
326
+ return _do.DoubleVector_capacity(self)
327
+ __swig_destroy__ = _do.delete_DoubleVector
328
+
329
+ # Register DoubleVector in _do:
330
+ _do.DoubleVector_swigregister(DoubleVector)
331
+ class DoubleVector2(object):
332
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
333
+ __repr__ = _swig_repr
334
+
335
+ def iterator(self):
336
+ return _do.DoubleVector2_iterator(self)
337
+ def __iter__(self):
338
+ return self.iterator()
339
+
340
+ def __nonzero__(self):
341
+ return _do.DoubleVector2___nonzero__(self)
342
+
343
+ def __bool__(self):
344
+ return _do.DoubleVector2___bool__(self)
345
+
346
+ def __len__(self):
347
+ return _do.DoubleVector2___len__(self)
348
+
349
+ def __getslice__(self, i, j):
350
+ return _do.DoubleVector2___getslice__(self, i, j)
351
+
352
+ def __setslice__(self, *args):
353
+ return _do.DoubleVector2___setslice__(self, *args)
354
+
355
+ def __delslice__(self, i, j):
356
+ return _do.DoubleVector2___delslice__(self, i, j)
357
+
358
+ def __delitem__(self, *args):
359
+ return _do.DoubleVector2___delitem__(self, *args)
360
+
361
+ def __getitem__(self, *args):
362
+ return _do.DoubleVector2___getitem__(self, *args)
363
+
364
+ def __setitem__(self, *args):
365
+ return _do.DoubleVector2___setitem__(self, *args)
366
+
367
+ def pop(self):
368
+ return _do.DoubleVector2_pop(self)
369
+
370
+ def append(self, x):
371
+ return _do.DoubleVector2_append(self, x)
372
+
373
+ def empty(self):
374
+ return _do.DoubleVector2_empty(self)
375
+
376
+ def size(self):
377
+ return _do.DoubleVector2_size(self)
378
+
379
+ def swap(self, v):
380
+ return _do.DoubleVector2_swap(self, v)
381
+
382
+ def begin(self):
383
+ return _do.DoubleVector2_begin(self)
384
+
385
+ def end(self):
386
+ return _do.DoubleVector2_end(self)
387
+
388
+ def rbegin(self):
389
+ return _do.DoubleVector2_rbegin(self)
390
+
391
+ def rend(self):
392
+ return _do.DoubleVector2_rend(self)
393
+
394
+ def clear(self):
395
+ return _do.DoubleVector2_clear(self)
396
+
397
+ def get_allocator(self):
398
+ return _do.DoubleVector2_get_allocator(self)
399
+
400
+ def pop_back(self):
401
+ return _do.DoubleVector2_pop_back(self)
402
+
403
+ def erase(self, *args):
404
+ return _do.DoubleVector2_erase(self, *args)
405
+
406
+ def __init__(self, *args):
407
+ _do.DoubleVector2_swiginit(self, _do.new_DoubleVector2(*args))
408
+
409
+ def push_back(self, x):
410
+ return _do.DoubleVector2_push_back(self, x)
411
+
412
+ def front(self):
413
+ return _do.DoubleVector2_front(self)
414
+
415
+ def back(self):
416
+ return _do.DoubleVector2_back(self)
417
+
418
+ def assign(self, n, x):
419
+ return _do.DoubleVector2_assign(self, n, x)
420
+
421
+ def resize(self, *args):
422
+ return _do.DoubleVector2_resize(self, *args)
423
+
424
+ def insert(self, *args):
425
+ return _do.DoubleVector2_insert(self, *args)
426
+
427
+ def reserve(self, n):
428
+ return _do.DoubleVector2_reserve(self, n)
429
+
430
+ def capacity(self):
431
+ return _do.DoubleVector2_capacity(self)
432
+ __swig_destroy__ = _do.delete_DoubleVector2
433
+
434
+ # Register DoubleVector2 in _do:
435
+ _do.DoubleVector2_swigregister(DoubleVector2)
436
+ class DO(object):
437
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
438
+ __repr__ = _swig_repr
439
+
440
+ def __init__(self, dt, a, b, t_initial, t_final, y):
441
+ _do.DO_swiginit(self, _do.new_DO(dt, a, b, t_initial, t_final, y))
442
+
443
+ def derivative(self, x, dxdt, t):
444
+ return _do.DO_derivative(self, x, dxdt, t)
445
+
446
+ def eulerIntegrate(self):
447
+ return _do.DO_eulerIntegrate(self)
448
+
449
+ def euler(self, y, t):
450
+ return _do.DO_euler(self, y, t)
451
+
452
+ def rk4Integrate(self):
453
+ return _do.DO_rk4Integrate(self)
454
+
455
+ def rk4(self, y, t):
456
+ return _do.DO_rk4(self, y, t)
457
+
458
+ def get_coordinates(self):
459
+ return _do.DO_get_coordinates(self)
460
+
461
+ def get_times(self):
462
+ return _do.DO_get_times(self)
463
+ __swig_destroy__ = _do.delete_DO
464
+
465
+ # Register DO in _do:
466
+ _do.DO_swigregister(DO)
467
+