bartorch 0.0.2__tar.gz

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 (1271) hide show
  1. bartorch-0.0.2/.github/workflows/copilot-setup-steps.yml +34 -0
  2. bartorch-0.0.2/.github/workflows/docs.yml +88 -0
  3. bartorch-0.0.2/.github/workflows/lint.yml +26 -0
  4. bartorch-0.0.2/.github/workflows/publish.yml +241 -0
  5. bartorch-0.0.2/.github/workflows/tests.yml +138 -0
  6. bartorch-0.0.2/.github/workflows/typos.yml +30 -0
  7. bartorch-0.0.2/.gitignore +45 -0
  8. bartorch-0.0.2/.gitmodules +9 -0
  9. bartorch-0.0.2/.pre-commit-config.yaml +20 -0
  10. bartorch-0.0.2/AGENTS.md +944 -0
  11. bartorch-0.0.2/CMakeLists.txt +421 -0
  12. bartorch-0.0.2/LICENSE +21 -0
  13. bartorch-0.0.2/PKG-INFO +122 -0
  14. bartorch-0.0.2/README.md +62 -0
  15. bartorch-0.0.2/cmake/embed.cmake +8 -0
  16. bartorch-0.0.2/docs/.gitignore +5 -0
  17. bartorch-0.0.2/docs/_ext/gallery_order.py +11 -0
  18. bartorch-0.0.2/docs/_static/.gitkeep +0 -0
  19. bartorch-0.0.2/docs/_static/custom.css +4 -0
  20. bartorch-0.0.2/docs/api/functions.md +173 -0
  21. bartorch-0.0.2/docs/api/index.md +23 -0
  22. bartorch-0.0.2/docs/api/io.md +19 -0
  23. bartorch-0.0.2/docs/api/linop.md +65 -0
  24. bartorch-0.0.2/docs/api/nlop.md +41 -0
  25. bartorch-0.0.2/docs/api/optim.md +54 -0
  26. bartorch-0.0.2/docs/api/prox.md +104 -0
  27. bartorch-0.0.2/docs/api/tools.md +99 -0
  28. bartorch-0.0.2/docs/conf.py +100 -0
  29. bartorch-0.0.2/docs/examples/01_high_level_tools.ipynb +324 -0
  30. bartorch-0.0.2/docs/examples/index.rst +13 -0
  31. bartorch-0.0.2/docs/gallery/encoding.md +83 -0
  32. bartorch-0.0.2/docs/gallery/learning_resources.md +22 -0
  33. bartorch-0.0.2/docs/gallery/research.md +101 -0
  34. bartorch-0.0.2/docs/gallery_src/01_tools/GALLERY_HEADER.md +4 -0
  35. bartorch-0.0.2/docs/gallery_src/01_tools/plot_01_quickstart.py +7 -0
  36. bartorch-0.0.2/docs/gallery_src/01_tools/plot_02_coil_preparation.py +8 -0
  37. bartorch-0.0.2/docs/gallery_src/02_encoding/GALLERY_HEADER.md +4 -0
  38. bartorch-0.0.2/docs/gallery_src/02_encoding/optional_02_noncartesian.py +7 -0
  39. bartorch-0.0.2/docs/gallery_src/02_encoding/plot_01_cartesian.py +7 -0
  40. bartorch-0.0.2/docs/gallery_src/02_encoding/plot_03_epi_shots.py +7 -0
  41. bartorch-0.0.2/docs/gallery_src/02_encoding/plot_04_wave_subspace.py +7 -0
  42. bartorch-0.0.2/docs/gallery_src/03_apps/GALLERY_HEADER.md +4 -0
  43. bartorch-0.0.2/docs/gallery_src/03_apps/plot_01_custom_app.py +7 -0
  44. bartorch-0.0.2/docs/gallery_src/04_applications/GALLERY_HEADER.md +5 -0
  45. bartorch-0.0.2/docs/gallery_src/04_applications/optional_03_deepinverse.py +7 -0
  46. bartorch-0.0.2/docs/gallery_src/04_applications/plot_01_parallel_imaging.py +7 -0
  47. bartorch-0.0.2/docs/gallery_src/04_applications/plot_02_model_based.py +7 -0
  48. bartorch-0.0.2/docs/gallery_src/GALLERY_HEADER.md +9 -0
  49. bartorch-0.0.2/docs/guides/developer/conduct.md +21 -0
  50. bartorch-0.0.2/docs/guides/developer/contributing.md +44 -0
  51. bartorch-0.0.2/docs/guides/developer/documentation.md +72 -0
  52. bartorch-0.0.2/docs/guides/developer/style.md +16 -0
  53. bartorch-0.0.2/docs/guides/developer/toolchain.md +85 -0
  54. bartorch-0.0.2/docs/guides/user/conventions.md +71 -0
  55. bartorch-0.0.2/docs/guides/user/installation.md +85 -0
  56. bartorch-0.0.2/docs/guides/user/issues.md +27 -0
  57. bartorch-0.0.2/docs/index.md +50 -0
  58. bartorch-0.0.2/docs/misc/contributors.md +19 -0
  59. bartorch-0.0.2/docs/misc/license.md +22 -0
  60. bartorch-0.0.2/docs/misc/related_projects.md +15 -0
  61. bartorch-0.0.2/docs/requirements-examples.txt +4 -0
  62. bartorch-0.0.2/docs/requirements.txt +10 -0
  63. bartorch-0.0.2/examples/01_high_level_tools.ipynb +324 -0
  64. bartorch-0.0.2/examples/index.rst +13 -0
  65. bartorch-0.0.2/external/bart/.codespellrc +9 -0
  66. bartorch-0.0.2/external/bart/.github/workflows/linux.yml +29 -0
  67. bartorch-0.0.2/external/bart/.github/workflows/macos-arm.yml +47 -0
  68. bartorch-0.0.2/external/bart/.gitignore.main +71 -0
  69. bartorch-0.0.2/external/bart/.gitlab-ci.yml +703 -0
  70. bartorch-0.0.2/external/bart/ACKNOWLEDGEMENTS +77 -0
  71. bartorch-0.0.2/external/bart/LICENSE +30 -0
  72. bartorch-0.0.2/external/bart/Makefiles/README.md +52 -0
  73. bartorch-0.0.2/external/bart/README +560 -0
  74. bartorch-0.0.2/external/bart/README.md +33 -0
  75. bartorch-0.0.2/external/bart/ar_lock.sh +26 -0
  76. bartorch-0.0.2/external/bart/build_webasm.sh +31 -0
  77. bartorch-0.0.2/external/bart/commands/.gitignore +6 -0
  78. bartorch-0.0.2/external/bart/commands/sub +22 -0
  79. bartorch-0.0.2/external/bart/doc/applications.txt +146 -0
  80. bartorch-0.0.2/external/bart/doc/bart.1 +14 -0
  81. bartorch-0.0.2/external/bart/doc/bitmasks.txt +29 -0
  82. bartorch-0.0.2/external/bart/doc/building.txt +238 -0
  83. bartorch-0.0.2/external/bart/doc/debugging.txt +44 -0
  84. bartorch-0.0.2/external/bart/doc/dimensions-and-strides.txt +42 -0
  85. bartorch-0.0.2/external/bart/doc/distributed-architectures.txt +82 -0
  86. bartorch-0.0.2/external/bart/doc/environment.txt +33 -0
  87. bartorch-0.0.2/external/bart/doc/fft.txt +91 -0
  88. bartorch-0.0.2/external/bart/doc/nufft.md +43 -0
  89. bartorch-0.0.2/external/bart/doc/performance.txt +83 -0
  90. bartorch-0.0.2/external/bart/doc/phantom.txt +85 -0
  91. bartorch-0.0.2/external/bart/doc/pics.txt +26 -0
  92. bartorch-0.0.2/external/bart/doc/pytorch.txt +9 -0
  93. bartorch-0.0.2/external/bart/doc/random-numbers.txt +23 -0
  94. bartorch-0.0.2/external/bart/doc/references.txt +625 -0
  95. bartorch-0.0.2/external/bart/doc/resize.txt +28 -0
  96. bartorch-0.0.2/external/bart/doc/sequence.txt +66 -0
  97. bartorch-0.0.2/external/bart/doc/singularity/README.md +118 -0
  98. bartorch-0.0.2/external/bart/doc/singularity/bart_debian.def +55 -0
  99. bartorch-0.0.2/external/bart/doc/singularity/bart_ubuntu.def +60 -0
  100. bartorch-0.0.2/external/bart/doc/streaming.md +105 -0
  101. bartorch-0.0.2/external/bart/doc/style.txt +269 -0
  102. bartorch-0.0.2/external/bart/doc/tensorflow.txt +74 -0
  103. bartorch-0.0.2/external/bart/doc/webasm.txt +116 -0
  104. bartorch-0.0.2/external/bart/doxyconfig +1869 -0
  105. bartorch-0.0.2/external/bart/genctags +2 -0
  106. bartorch-0.0.2/external/bart/git-version.sh +21 -0
  107. bartorch-0.0.2/external/bart/lib/.gitignore +4 -0
  108. bartorch-0.0.2/external/bart/makedoc.sh +3 -0
  109. bartorch-0.0.2/external/bart/matlab/bart.m +132 -0
  110. bartorch-0.0.2/external/bart/matlab/get_bart_path.m +30 -0
  111. bartorch-0.0.2/external/bart/matlab/readcfl.m +42 -0
  112. bartorch-0.0.2/external/bart/matlab/test_bart.m +108 -0
  113. bartorch-0.0.2/external/bart/matlab/writecfl.m +45 -0
  114. bartorch-0.0.2/external/bart/matlab/wslPathCorrection.m +10 -0
  115. bartorch-0.0.2/external/bart/msys_setup.sh +14 -0
  116. bartorch-0.0.2/external/bart/pkg/python/LICENSE +30 -0
  117. bartorch-0.0.2/external/bart/pkg/python/README.md +33 -0
  118. bartorch-0.0.2/external/bart/pkg/python/bart/__init__.py +2 -0
  119. bartorch-0.0.2/external/bart/pkg/python/bart/bart.py +287 -0
  120. bartorch-0.0.2/external/bart/pkg/python/bart/cfl.py +149 -0
  121. bartorch-0.0.2/external/bart/pkg/python/bart/wslsupport.py +11 -0
  122. bartorch-0.0.2/external/bart/pkg/python/pyproject.toml +15 -0
  123. bartorch-0.0.2/external/bart/pkg/python/version.txt +1 -0
  124. bartorch-0.0.2/external/bart/pkg/rpm/bart.spec +56 -0
  125. bartorch-0.0.2/external/bart/pkg/rpm/libbart-dev.install +30 -0
  126. bartorch-0.0.2/external/bart/pkg/rpm/libbart-devel.spec +45 -0
  127. bartorch-0.0.2/external/bart/pkg/rpm/octave-bart.spec +70 -0
  128. bartorch-0.0.2/external/bart/pkg/rpm/rpkg.conf +2 -0
  129. bartorch-0.0.2/external/bart/pkg/rpm/rpkg.macros +23 -0
  130. bartorch-0.0.2/external/bart/python/bart.py +287 -0
  131. bartorch-0.0.2/external/bart/python/bart_tf.py +324 -0
  132. bartorch-0.0.2/external/bart/python/bartview.py +362 -0
  133. bartorch-0.0.2/external/bart/python/bartview3.py +363 -0
  134. bartorch-0.0.2/external/bart/python/cfl.py +149 -0
  135. bartorch-0.0.2/external/bart/python/splines_from_svg.py +464 -0
  136. bartorch-0.0.2/external/bart/python/wslsupport.py +11 -0
  137. bartorch-0.0.2/external/bart/rules/add_node_shebang.sh +13 -0
  138. bartorch-0.0.2/external/bart/rules/make_symbol_table.sh +6 -0
  139. bartorch-0.0.2/external/bart/rules/update_commands.sh +17 -0
  140. bartorch-0.0.2/external/bart/rules/update_if_changed.sh +3 -0
  141. bartorch-0.0.2/external/bart/rules/update_version.sh +4 -0
  142. bartorch-0.0.2/external/bart/save/fftw/README.txt +1 -0
  143. bartorch-0.0.2/external/bart/save/nsv/README.txt +1 -0
  144. bartorch-0.0.2/external/bart/scripts/affine_kspace.sh +99 -0
  145. bartorch-0.0.2/external/bart/scripts/bart_completion.sh +44 -0
  146. bartorch-0.0.2/external/bart/scripts/create_toolgraph.py +251 -0
  147. bartorch-0.0.2/external/bart/scripts/espirit_econ.sh +110 -0
  148. bartorch-0.0.2/external/bart/scripts/grasp.sh +227 -0
  149. bartorch-0.0.2/external/bart/scripts/kspace_precond.sh +139 -0
  150. bartorch-0.0.2/external/bart/scripts/life.sh +50 -0
  151. bartorch-0.0.2/external/bart/scripts/octview.m +11 -0
  152. bartorch-0.0.2/external/bart/scripts/phantom.sh +231 -0
  153. bartorch-0.0.2/external/bart/scripts/profile.sh +70 -0
  154. bartorch-0.0.2/external/bart/scripts/radial_dcf.sh +52 -0
  155. bartorch-0.0.2/external/bart/scripts/rovir.sh +119 -0
  156. bartorch-0.0.2/external/bart/scripts/rtnlinv.m +44 -0
  157. bartorch-0.0.2/external/bart/scripts/rtreco.sh +795 -0
  158. bartorch-0.0.2/external/bart/src/affinereg.c +143 -0
  159. bartorch-0.0.2/external/bart/src/avg.c +70 -0
  160. bartorch-0.0.2/external/bart/src/bart.c +744 -0
  161. bartorch-0.0.2/external/bart/src/bart_embed_api.h +122 -0
  162. bartorch-0.0.2/external/bart/src/bbox.c +4 -0
  163. bartorch-0.0.2/external/bart/src/bench.c +754 -0
  164. bartorch-0.0.2/external/bart/src/bin.c +470 -0
  165. bartorch-0.0.2/external/bart/src/bitmask.c +78 -0
  166. bartorch-0.0.2/external/bart/src/bloch.c +121 -0
  167. bartorch-0.0.2/external/bart/src/cabs.c +57 -0
  168. bartorch-0.0.2/external/bart/src/calc.c +124 -0
  169. bartorch-0.0.2/external/bart/src/caldir.c +79 -0
  170. bartorch-0.0.2/external/bart/src/calib/bin.c +337 -0
  171. bartorch-0.0.2/external/bart/src/calib/bin.h +28 -0
  172. bartorch-0.0.2/external/bart/src/calib/calib.c +1094 -0
  173. bartorch-0.0.2/external/bart/src/calib/calib.h +55 -0
  174. bartorch-0.0.2/external/bart/src/calib/calibcu.cu +266 -0
  175. bartorch-0.0.2/external/bart/src/calib/calibcu.h +11 -0
  176. bartorch-0.0.2/external/bart/src/calib/calmat.c +209 -0
  177. bartorch-0.0.2/external/bart/src/calib/calmat.h +17 -0
  178. bartorch-0.0.2/external/bart/src/calib/cc.c +241 -0
  179. bartorch-0.0.2/external/bart/src/calib/cc.h +9 -0
  180. bartorch-0.0.2/external/bart/src/calib/delays.c +441 -0
  181. bartorch-0.0.2/external/bart/src/calib/delays.h +26 -0
  182. bartorch-0.0.2/external/bart/src/calib/direct.c +81 -0
  183. bartorch-0.0.2/external/bart/src/calib/direct.h +8 -0
  184. bartorch-0.0.2/external/bart/src/calib/estvar.c +309 -0
  185. bartorch-0.0.2/external/bart/src/calib/estvar.h +51 -0
  186. bartorch-0.0.2/external/bart/src/calib/grog.c +356 -0
  187. bartorch-0.0.2/external/bart/src/calib/grog.h +5 -0
  188. bartorch-0.0.2/external/bart/src/calib/softweight.c +131 -0
  189. bartorch-0.0.2/external/bart/src/calib/softweight.h +36 -0
  190. bartorch-0.0.2/external/bart/src/calib/ssa.c +370 -0
  191. bartorch-0.0.2/external/bart/src/calib/ssa.h +25 -0
  192. bartorch-0.0.2/external/bart/src/calib/walsh.c +192 -0
  193. bartorch-0.0.2/external/bart/src/calib/walsh.h +9 -0
  194. bartorch-0.0.2/external/bart/src/calmat.c +115 -0
  195. bartorch-0.0.2/external/bart/src/carg.c +56 -0
  196. bartorch-0.0.2/external/bart/src/casorati.c +94 -0
  197. bartorch-0.0.2/external/bart/src/cc.c +186 -0
  198. bartorch-0.0.2/external/bart/src/ccapply.c +295 -0
  199. bartorch-0.0.2/external/bart/src/cdf97.c +78 -0
  200. bartorch-0.0.2/external/bart/src/circshift.c +67 -0
  201. bartorch-0.0.2/external/bart/src/coils.c +104 -0
  202. bartorch-0.0.2/external/bart/src/compress.c +106 -0
  203. bartorch-0.0.2/external/bart/src/conj.c +54 -0
  204. bartorch-0.0.2/external/bart/src/conv.c +63 -0
  205. bartorch-0.0.2/external/bart/src/conway.c +110 -0
  206. bartorch-0.0.2/external/bart/src/copy.c +166 -0
  207. bartorch-0.0.2/external/bart/src/cpyphs.c +57 -0
  208. bartorch-0.0.2/external/bart/src/creal.c +57 -0
  209. bartorch-0.0.2/external/bart/src/crop.c +72 -0
  210. bartorch-0.0.2/external/bart/src/cunet.c +168 -0
  211. bartorch-0.0.2/external/bart/src/delta.c +62 -0
  212. bartorch-0.0.2/external/bart/src/denoise.c +295 -0
  213. bartorch-0.0.2/external/bart/src/ecalib.c +263 -0
  214. bartorch-0.0.2/external/bart/src/ecaltwo.c +147 -0
  215. bartorch-0.0.2/external/bart/src/epg.c +249 -0
  216. bartorch-0.0.2/external/bart/src/estdelay.c +189 -0
  217. bartorch-0.0.2/external/bart/src/estdims.c +57 -0
  218. bartorch-0.0.2/external/bart/src/estmotion.c +156 -0
  219. bartorch-0.0.2/external/bart/src/estscaling.c +87 -0
  220. bartorch-0.0.2/external/bart/src/estshift.c +93 -0
  221. bartorch-0.0.2/external/bart/src/estvar.c +77 -0
  222. bartorch-0.0.2/external/bart/src/extract.c +96 -0
  223. bartorch-0.0.2/external/bart/src/fakeksp.c +123 -0
  224. bartorch-0.0.2/external/bart/src/fft.c +75 -0
  225. bartorch-0.0.2/external/bart/src/fftmod.c +70 -0
  226. bartorch-0.0.2/external/bart/src/fftrot.c +121 -0
  227. bartorch-0.0.2/external/bart/src/fftshift.c +65 -0
  228. bartorch-0.0.2/external/bart/src/filter.c +170 -0
  229. bartorch-0.0.2/external/bart/src/flatten.c +61 -0
  230. bartorch-0.0.2/external/bart/src/flip.c +58 -0
  231. bartorch-0.0.2/external/bart/src/fmac.c +114 -0
  232. bartorch-0.0.2/external/bart/src/fovshift.c +147 -0
  233. bartorch-0.0.2/external/bart/src/geom/brain.c +3967 -0
  234. bartorch-0.0.2/external/bart/src/geom/brain.h +2 -0
  235. bartorch-0.0.2/external/bart/src/geom/draw.c +261 -0
  236. bartorch-0.0.2/external/bart/src/geom/draw.h +10 -0
  237. bartorch-0.0.2/external/bart/src/geom/logo.c +92 -0
  238. bartorch-0.0.2/external/bart/src/geom/logo.h +3 -0
  239. bartorch-0.0.2/external/bart/src/geom/polygon.c +56 -0
  240. bartorch-0.0.2/external/bart/src/geom/polygon.h +6 -0
  241. bartorch-0.0.2/external/bart/src/geom/polyhedron.c +50 -0
  242. bartorch-0.0.2/external/bart/src/geom/polyhedron.h +4 -0
  243. bartorch-0.0.2/external/bart/src/geom/triangle.c +67 -0
  244. bartorch-0.0.2/external/bart/src/geom/triangle.h +7 -0
  245. bartorch-0.0.2/external/bart/src/gmm.c +165 -0
  246. bartorch-0.0.2/external/bart/src/grecon/italgo.c +280 -0
  247. bartorch-0.0.2/external/bart/src/grecon/italgo.h +53 -0
  248. bartorch-0.0.2/external/bart/src/grecon/losses.c +108 -0
  249. bartorch-0.0.2/external/bart/src/grecon/losses.h +10 -0
  250. bartorch-0.0.2/external/bart/src/grecon/model.c +152 -0
  251. bartorch-0.0.2/external/bart/src/grecon/model.h +32 -0
  252. bartorch-0.0.2/external/bart/src/grecon/network.c +190 -0
  253. bartorch-0.0.2/external/bart/src/grecon/network.h +32 -0
  254. bartorch-0.0.2/external/bart/src/grecon/opt_iter6.c +215 -0
  255. bartorch-0.0.2/external/bart/src/grecon/opt_iter6.h +21 -0
  256. bartorch-0.0.2/external/bart/src/grecon/optreg.c +910 -0
  257. bartorch-0.0.2/external/bart/src/grecon/optreg.h +69 -0
  258. bartorch-0.0.2/external/bart/src/grecon/priors.c +193 -0
  259. bartorch-0.0.2/external/bart/src/grecon/priors.h +19 -0
  260. bartorch-0.0.2/external/bart/src/grid.c +114 -0
  261. bartorch-0.0.2/external/bart/src/grog.c +240 -0
  262. bartorch-0.0.2/external/bart/src/hist.c +113 -0
  263. bartorch-0.0.2/external/bart/src/homodyne.c +216 -0
  264. bartorch-0.0.2/external/bart/src/ictv.c +124 -0
  265. bartorch-0.0.2/external/bart/src/index.c +94 -0
  266. bartorch-0.0.2/external/bart/src/interpolate.c +145 -0
  267. bartorch-0.0.2/external/bart/src/invert.c +74 -0
  268. bartorch-0.0.2/external/bart/src/ismrm/read.c +569 -0
  269. bartorch-0.0.2/external/bart/src/ismrm/read.h +96 -0
  270. bartorch-0.0.2/external/bart/src/ismrm/xml_wrapper.cc +247 -0
  271. bartorch-0.0.2/external/bart/src/ismrm/xml_wrapper.h +25 -0
  272. bartorch-0.0.2/external/bart/src/ismrmrd.c +119 -0
  273. bartorch-0.0.2/external/bart/src/iter/admm.c +537 -0
  274. bartorch-0.0.2/external/bart/src/iter/admm.h +129 -0
  275. bartorch-0.0.2/external/bart/src/iter/asl.c +161 -0
  276. bartorch-0.0.2/external/bart/src/iter/asl.h +12 -0
  277. bartorch-0.0.2/external/bart/src/iter/batch_gen.c +426 -0
  278. bartorch-0.0.2/external/bart/src/iter/batch_gen.h +32 -0
  279. bartorch-0.0.2/external/bart/src/iter/italgos.c +2158 -0
  280. bartorch-0.0.2/external/bart/src/iter/italgos.h +296 -0
  281. bartorch-0.0.2/external/bart/src/iter/iter.c +303 -0
  282. bartorch-0.0.2/external/bart/src/iter/iter.h +199 -0
  283. bartorch-0.0.2/external/bart/src/iter/iter2.c +767 -0
  284. bartorch-0.0.2/external/bart/src/iter/iter2.h +86 -0
  285. bartorch-0.0.2/external/bart/src/iter/iter3.c +80 -0
  286. bartorch-0.0.2/external/bart/src/iter/iter3.h +71 -0
  287. bartorch-0.0.2/external/bart/src/iter/iter4.c +285 -0
  288. bartorch-0.0.2/external/bart/src/iter/iter4.h +29 -0
  289. bartorch-0.0.2/external/bart/src/iter/iter5.c +105 -0
  290. bartorch-0.0.2/external/bart/src/iter/iter5.h +14 -0
  291. bartorch-0.0.2/external/bart/src/iter/iter6.c +692 -0
  292. bartorch-0.0.2/external/bart/src/iter/iter6.h +112 -0
  293. bartorch-0.0.2/external/bart/src/iter/iter6_ops.c +306 -0
  294. bartorch-0.0.2/external/bart/src/iter/iter6_ops.h +6 -0
  295. bartorch-0.0.2/external/bart/src/iter/iter_dump.c +124 -0
  296. bartorch-0.0.2/external/bart/src/iter/iter_dump.h +26 -0
  297. bartorch-0.0.2/external/bart/src/iter/itop.c +200 -0
  298. bartorch-0.0.2/external/bart/src/iter/itop.h +40 -0
  299. bartorch-0.0.2/external/bart/src/iter/lad.c +196 -0
  300. bartorch-0.0.2/external/bart/src/iter/lad.h +37 -0
  301. bartorch-0.0.2/external/bart/src/iter/lsqr.c +297 -0
  302. bartorch-0.0.2/external/bart/src/iter/lsqr.h +94 -0
  303. bartorch-0.0.2/external/bart/src/iter/misc.c +78 -0
  304. bartorch-0.0.2/external/bart/src/iter/misc.h +10 -0
  305. bartorch-0.0.2/external/bart/src/iter/monitor.c +103 -0
  306. bartorch-0.0.2/external/bart/src/iter/monitor.h +49 -0
  307. bartorch-0.0.2/external/bart/src/iter/monitor_iter6.c +573 -0
  308. bartorch-0.0.2/external/bart/src/iter/monitor_iter6.h +26 -0
  309. bartorch-0.0.2/external/bart/src/iter/niht.c +262 -0
  310. bartorch-0.0.2/external/bart/src/iter/niht.h +45 -0
  311. bartorch-0.0.2/external/bart/src/iter/proj.c +298 -0
  312. bartorch-0.0.2/external/bart/src/iter/proj.h +6 -0
  313. bartorch-0.0.2/external/bart/src/iter/prox.c +589 -0
  314. bartorch-0.0.2/external/bart/src/iter/prox.h +21 -0
  315. bartorch-0.0.2/external/bart/src/iter/prox2.c +476 -0
  316. bartorch-0.0.2/external/bart/src/iter/prox2.h +23 -0
  317. bartorch-0.0.2/external/bart/src/iter/tgv.c +483 -0
  318. bartorch-0.0.2/external/bart/src/iter/tgv.h +29 -0
  319. bartorch-0.0.2/external/bart/src/iter/thresh.c +279 -0
  320. bartorch-0.0.2/external/bart/src/iter/thresh.h +26 -0
  321. bartorch-0.0.2/external/bart/src/iter/vec.c +40 -0
  322. bartorch-0.0.2/external/bart/src/iter/vec.h +55 -0
  323. bartorch-0.0.2/external/bart/src/itsense.c +213 -0
  324. bartorch-0.0.2/external/bart/src/join.c +236 -0
  325. bartorch-0.0.2/external/bart/src/lapacke/LICENSE +26 -0
  326. bartorch-0.0.2/external/bart/src/lapacke/README +7 -0
  327. bartorch-0.0.2/external/bart/src/lapacke/lapacke.h +12903 -0
  328. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cge_nancheck.c +61 -0
  329. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cge_trans.c +64 -0
  330. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgees.c +104 -0
  331. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgees_work.c +117 -0
  332. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgesdd.c +107 -0
  333. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgesdd_work.c +157 -0
  334. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgesvd.c +95 -0
  335. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cgesvd_work.c +150 -0
  336. bartorch-0.0.2/external/bart/src/lapacke/lapacke_che_nancheck.c +42 -0
  337. bartorch-0.0.2/external/bart/src/lapacke/lapacke_che_trans.c +44 -0
  338. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cheev.c +87 -0
  339. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cheev_work.c +96 -0
  340. bartorch-0.0.2/external/bart/src/lapacke/lapacke_chegv.c +92 -0
  341. bartorch-0.0.2/external/bart/src/lapacke/lapacke_chegv_work.c +110 -0
  342. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cpo_nancheck.c +42 -0
  343. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cpo_trans.c +44 -0
  344. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cpotrf.c +51 -0
  345. bartorch-0.0.2/external/bart/src/lapacke/lapacke_cpotrf_work.c +81 -0
  346. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctr_nancheck.c +84 -0
  347. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctr_trans.c +84 -0
  348. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrsyl.c +62 -0
  349. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrsyl_work.c +119 -0
  350. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrtri.c +51 -0
  351. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrtri_work.c +83 -0
  352. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrtrs.c +57 -0
  353. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ctrtrs_work.c +102 -0
  354. bartorch-0.0.2/external/bart/src/lapacke/lapacke_lsame.c +41 -0
  355. bartorch-0.0.2/external/bart/src/lapacke/lapacke_mangling.h +17 -0
  356. bartorch-0.0.2/external/bart/src/lapacke/lapacke_nancheck.c +59 -0
  357. bartorch-0.0.2/external/bart/src/lapacke/lapacke_utils.h +612 -0
  358. bartorch-0.0.2/external/bart/src/lapacke/lapacke_xerbla.c +45 -0
  359. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zge_nancheck.c +61 -0
  360. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zge_trans.c +64 -0
  361. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zgees.c +104 -0
  362. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zgees_work.c +117 -0
  363. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zgesdd.c +107 -0
  364. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zgesdd_work.c +157 -0
  365. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zhe_nancheck.c +42 -0
  366. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zhe_trans.c +44 -0
  367. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zheev.c +87 -0
  368. bartorch-0.0.2/external/bart/src/lapacke/lapacke_zheev_work.c +96 -0
  369. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ztr_nancheck.c +84 -0
  370. bartorch-0.0.2/external/bart/src/lapacke/lapacke_ztr_trans.c +84 -0
  371. bartorch-0.0.2/external/bart/src/linops/casorati.c +329 -0
  372. bartorch-0.0.2/external/bart/src/linops/casorati.h +8 -0
  373. bartorch-0.0.2/external/bart/src/linops/decompose_complex.c +104 -0
  374. bartorch-0.0.2/external/bart/src/linops/decompose_complex.h +6 -0
  375. bartorch-0.0.2/external/bart/src/linops/fmac.c +175 -0
  376. bartorch-0.0.2/external/bart/src/linops/fmac.h +10 -0
  377. bartorch-0.0.2/external/bart/src/linops/grad.c +240 -0
  378. bartorch-0.0.2/external/bart/src/linops/grad.h +11 -0
  379. bartorch-0.0.2/external/bart/src/linops/linop.c +1220 -0
  380. bartorch-0.0.2/external/bart/src/linops/linop.h +137 -0
  381. bartorch-0.0.2/external/bart/src/linops/lintest.c +139 -0
  382. bartorch-0.0.2/external/bart/src/linops/lintest.h +9 -0
  383. bartorch-0.0.2/external/bart/src/linops/realval.c +60 -0
  384. bartorch-0.0.2/external/bart/src/linops/realval.h +7 -0
  385. bartorch-0.0.2/external/bart/src/linops/someops.c +2184 -0
  386. bartorch-0.0.2/external/bart/src/linops/someops.h +80 -0
  387. bartorch-0.0.2/external/bart/src/linops/sum.c +267 -0
  388. bartorch-0.0.2/external/bart/src/linops/sum.h +6 -0
  389. bartorch-0.0.2/external/bart/src/linops/waveop.c +151 -0
  390. bartorch-0.0.2/external/bart/src/linops/waveop.h +13 -0
  391. bartorch-0.0.2/external/bart/src/looklocker.c +90 -0
  392. bartorch-0.0.2/external/bart/src/lowrank/batchsvd.c +110 -0
  393. bartorch-0.0.2/external/bart/src/lowrank/batchsvd.h +6 -0
  394. bartorch-0.0.2/external/bart/src/lowrank/lrthresh.c +453 -0
  395. bartorch-0.0.2/external/bart/src/lowrank/lrthresh.h +33 -0
  396. bartorch-0.0.2/external/bart/src/lowrank/svthresh.c +290 -0
  397. bartorch-0.0.2/external/bart/src/lowrank/svthresh.h +30 -0
  398. bartorch-0.0.2/external/bart/src/lrmatrix.c +256 -0
  399. bartorch-0.0.2/external/bart/src/main.c +8 -0
  400. bartorch-0.0.2/external/bart/src/main.h +22 -0
  401. bartorch-0.0.2/external/bart/src/mandelbrot.c +112 -0
  402. bartorch-0.0.2/external/bart/src/measure.c +170 -0
  403. bartorch-0.0.2/external/bart/src/mip.c +96 -0
  404. bartorch-0.0.2/external/bart/src/misc/Orchestra.cc +51 -0
  405. bartorch-0.0.2/external/bart/src/misc/bench.c +66 -0
  406. bartorch-0.0.2/external/bart/src/misc/bench.h +8 -0
  407. bartorch-0.0.2/external/bart/src/misc/cppmap.h +44 -0
  408. bartorch-0.0.2/external/bart/src/misc/cppwrap.h +32 -0
  409. bartorch-0.0.2/external/bart/src/misc/debug.c +371 -0
  410. bartorch-0.0.2/external/bart/src/misc/debug.h +67 -0
  411. bartorch-0.0.2/external/bart/src/misc/dicom.c +283 -0
  412. bartorch-0.0.2/external/bart/src/misc/dicom.h +5 -0
  413. bartorch-0.0.2/external/bart/src/misc/dllspec.h +32 -0
  414. bartorch-0.0.2/external/bart/src/misc/egraph.c +630 -0
  415. bartorch-0.0.2/external/bart/src/misc/egraph.h +65 -0
  416. bartorch-0.0.2/external/bart/src/misc/graph.c +1272 -0
  417. bartorch-0.0.2/external/bart/src/misc/graph.h +108 -0
  418. bartorch-0.0.2/external/bart/src/misc/io.c +1199 -0
  419. bartorch-0.0.2/external/bart/src/misc/io.h +55 -0
  420. bartorch-0.0.2/external/bart/src/misc/list.c +537 -0
  421. bartorch-0.0.2/external/bart/src/misc/list.h +35 -0
  422. bartorch-0.0.2/external/bart/src/misc/lock.c +156 -0
  423. bartorch-0.0.2/external/bart/src/misc/lock.h +20 -0
  424. bartorch-0.0.2/external/bart/src/misc/memcfl.c +191 -0
  425. bartorch-0.0.2/external/bart/src/misc/memcfl.h +12 -0
  426. bartorch-0.0.2/external/bart/src/misc/misc.c +802 -0
  427. bartorch-0.0.2/external/bart/src/misc/misc.h +171 -0
  428. bartorch-0.0.2/external/bart/src/misc/mmio.c +1594 -0
  429. bartorch-0.0.2/external/bart/src/misc/mmio.h +64 -0
  430. bartorch-0.0.2/external/bart/src/misc/mri.h +64 -0
  431. bartorch-0.0.2/external/bart/src/misc/mri2.c +306 -0
  432. bartorch-0.0.2/external/bart/src/misc/mri2.h +23 -0
  433. bartorch-0.0.2/external/bart/src/misc/nested.h +38 -0
  434. bartorch-0.0.2/external/bart/src/misc/opts.c +1564 -0
  435. bartorch-0.0.2/external/bart/src/misc/opts.h +206 -0
  436. bartorch-0.0.2/external/bart/src/misc/pd.c +349 -0
  437. bartorch-0.0.2/external/bart/src/misc/pd.h +8 -0
  438. bartorch-0.0.2/external/bart/src/misc/png.c +109 -0
  439. bartorch-0.0.2/external/bart/src/misc/png.h +7 -0
  440. bartorch-0.0.2/external/bart/src/misc/resize.c +302 -0
  441. bartorch-0.0.2/external/bart/src/misc/resize.h +12 -0
  442. bartorch-0.0.2/external/bart/src/misc/shrdptr.c +78 -0
  443. bartorch-0.0.2/external/bart/src/misc/shrdptr.h +36 -0
  444. bartorch-0.0.2/external/bart/src/misc/stream.c +1363 -0
  445. bartorch-0.0.2/external/bart/src/misc/stream.h +80 -0
  446. bartorch-0.0.2/external/bart/src/misc/stream_protocol.c +95 -0
  447. bartorch-0.0.2/external/bart/src/misc/stream_protocol.h +49 -0
  448. bartorch-0.0.2/external/bart/src/misc/subpixel.c +55 -0
  449. bartorch-0.0.2/external/bart/src/misc/subpixel.h +3 -0
  450. bartorch-0.0.2/external/bart/src/misc/tree.c +485 -0
  451. bartorch-0.0.2/external/bart/src/misc/tree.h +30 -0
  452. bartorch-0.0.2/external/bart/src/misc/types.h +58 -0
  453. bartorch-0.0.2/external/bart/src/misc/utils.c +175 -0
  454. bartorch-0.0.2/external/bart/src/misc/utils.h +14 -0
  455. bartorch-0.0.2/external/bart/src/misc/version.c +106 -0
  456. bartorch-0.0.2/external/bart/src/misc/version.h +13 -0
  457. bartorch-0.0.2/external/bart/src/misc/ya_getopt.c +342 -0
  458. bartorch-0.0.2/external/bart/src/misc/ya_getopt.h +79 -0
  459. bartorch-0.0.2/external/bart/src/mnist.c +252 -0
  460. bartorch-0.0.2/external/bart/src/moba/T1fun.c +346 -0
  461. bartorch-0.0.2/external/bart/src/moba/T1fun.h +12 -0
  462. bartorch-0.0.2/external/bart/src/moba/T1phyfun.c +382 -0
  463. bartorch-0.0.2/external/bart/src/moba/T1phyfun.h +16 -0
  464. bartorch-0.0.2/external/bart/src/moba/T2fun.c +243 -0
  465. bartorch-0.0.2/external/bart/src/moba/T2fun.h +6 -0
  466. bartorch-0.0.2/external/bart/src/moba/blochfun.c +745 -0
  467. bartorch-0.0.2/external/bart/src/moba/blochfun.h +12 -0
  468. bartorch-0.0.2/external/bart/src/moba/exp.c +45 -0
  469. bartorch-0.0.2/external/bart/src/moba/exp.h +4 -0
  470. bartorch-0.0.2/external/bart/src/moba/ir_meco.c +1155 -0
  471. bartorch-0.0.2/external/bart/src/moba/ir_meco.h +34 -0
  472. bartorch-0.0.2/external/bart/src/moba/iter_l1.c +615 -0
  473. bartorch-0.0.2/external/bart/src/moba/iter_l1.h +41 -0
  474. bartorch-0.0.2/external/bart/src/moba/lorentzian.c +102 -0
  475. bartorch-0.0.2/external/bart/src/moba/lorentzian.h +4 -0
  476. bartorch-0.0.2/external/bart/src/moba/meco.c +1032 -0
  477. bartorch-0.0.2/external/bart/src/moba/meco.h +50 -0
  478. bartorch-0.0.2/external/bart/src/moba/moba.c +113 -0
  479. bartorch-0.0.2/external/bart/src/moba/moba.h +113 -0
  480. bartorch-0.0.2/external/bart/src/moba/model_T1.c +195 -0
  481. bartorch-0.0.2/external/bart/src/moba/model_T1.h +25 -0
  482. bartorch-0.0.2/external/bart/src/moba/model_T2.c +66 -0
  483. bartorch-0.0.2/external/bart/src/moba/model_T2.h +21 -0
  484. bartorch-0.0.2/external/bart/src/moba/model_meco.c +69 -0
  485. bartorch-0.0.2/external/bart/src/moba/model_meco.h +20 -0
  486. bartorch-0.0.2/external/bart/src/moba/model_moba.c +212 -0
  487. bartorch-0.0.2/external/bart/src/moba/model_moba.h +44 -0
  488. bartorch-0.0.2/external/bart/src/moba/optreg.c +542 -0
  489. bartorch-0.0.2/external/bart/src/moba/optreg.h +34 -0
  490. bartorch-0.0.2/external/bart/src/moba/recon.c +498 -0
  491. bartorch-0.0.2/external/bart/src/moba/recon.h +10 -0
  492. bartorch-0.0.2/external/bart/src/moba/recon_meco.c +418 -0
  493. bartorch-0.0.2/external/bart/src/moba/recon_meco.h +24 -0
  494. bartorch-0.0.2/external/bart/src/moba.c +714 -0
  495. bartorch-0.0.2/external/bart/src/mobafit.c +646 -0
  496. bartorch-0.0.2/external/bart/src/mobasig.c +75 -0
  497. bartorch-0.0.2/external/bart/src/morphop.c +164 -0
  498. bartorch-0.0.2/external/bart/src/motion/affine.c +720 -0
  499. bartorch-0.0.2/external/bart/src/motion/affine.h +31 -0
  500. bartorch-0.0.2/external/bart/src/motion/displacement.c +125 -0
  501. bartorch-0.0.2/external/bart/src/motion/displacement.h +9 -0
  502. bartorch-0.0.2/external/bart/src/motion/gpu_interpolate.cu +597 -0
  503. bartorch-0.0.2/external/bart/src/motion/gpu_interpolate.h +26 -0
  504. bartorch-0.0.2/external/bart/src/motion/interpolate.c +1042 -0
  505. bartorch-0.0.2/external/bart/src/motion/interpolate.h +21 -0
  506. bartorch-0.0.2/external/bart/src/motion/opticalflow.c +360 -0
  507. bartorch-0.0.2/external/bart/src/motion/opticalflow.h +5 -0
  508. bartorch-0.0.2/external/bart/src/motion/pyramide.c +129 -0
  509. bartorch-0.0.2/external/bart/src/motion/pyramide.h +11 -0
  510. bartorch-0.0.2/external/bart/src/motion/syn.c +293 -0
  511. bartorch-0.0.2/external/bart/src/motion/syn.h +6 -0
  512. bartorch-0.0.2/external/bart/src/multicfl.c +98 -0
  513. bartorch-0.0.2/external/bart/src/ncalib.c +410 -0
  514. bartorch-0.0.2/external/bart/src/networks/cnn.c +585 -0
  515. bartorch-0.0.2/external/bart/src/networks/cnn.h +97 -0
  516. bartorch-0.0.2/external/bart/src/networks/cunet.c +327 -0
  517. bartorch-0.0.2/external/bart/src/networks/cunet.h +24 -0
  518. bartorch-0.0.2/external/bart/src/networks/losses.c +501 -0
  519. bartorch-0.0.2/external/bart/src/networks/losses.h +41 -0
  520. bartorch-0.0.2/external/bart/src/networks/misc.c +607 -0
  521. bartorch-0.0.2/external/bart/src/networks/misc.h +67 -0
  522. bartorch-0.0.2/external/bart/src/networks/nlinvnet.c +1161 -0
  523. bartorch-0.0.2/external/bart/src/networks/nlinvnet.h +88 -0
  524. bartorch-0.0.2/external/bart/src/networks/nnet.c +405 -0
  525. bartorch-0.0.2/external/bart/src/networks/nnet.h +59 -0
  526. bartorch-0.0.2/external/bart/src/networks/reconet.c +1205 -0
  527. bartorch-0.0.2/external/bart/src/networks/reconet.h +79 -0
  528. bartorch-0.0.2/external/bart/src/networks/score.c +320 -0
  529. bartorch-0.0.2/external/bart/src/networks/score.h +11 -0
  530. bartorch-0.0.2/external/bart/src/networks/tf.c +106 -0
  531. bartorch-0.0.2/external/bart/src/networks/tf.h +16 -0
  532. bartorch-0.0.2/external/bart/src/networks/unet.c +1080 -0
  533. bartorch-0.0.2/external/bart/src/networks/unet.h +90 -0
  534. bartorch-0.0.2/external/bart/src/nlinv.c +580 -0
  535. bartorch-0.0.2/external/bart/src/nlinvnet.c +512 -0
  536. bartorch-0.0.2/external/bart/src/nlmeans.c +74 -0
  537. bartorch-0.0.2/external/bart/src/nlops/cast.c +44 -0
  538. bartorch-0.0.2/external/bart/src/nlops/cast.h +5 -0
  539. bartorch-0.0.2/external/bart/src/nlops/chain.c +848 -0
  540. bartorch-0.0.2/external/bart/src/nlops/chain.h +35 -0
  541. bartorch-0.0.2/external/bart/src/nlops/checkpointing.c +686 -0
  542. bartorch-0.0.2/external/bart/src/nlops/checkpointing.h +10 -0
  543. bartorch-0.0.2/external/bart/src/nlops/const.c +300 -0
  544. bartorch-0.0.2/external/bart/src/nlops/const.h +14 -0
  545. bartorch-0.0.2/external/bart/src/nlops/conv.c +341 -0
  546. bartorch-0.0.2/external/bart/src/nlops/conv.h +9 -0
  547. bartorch-0.0.2/external/bart/src/nlops/gmm.c +124 -0
  548. bartorch-0.0.2/external/bart/src/nlops/gmm.h +2 -0
  549. bartorch-0.0.2/external/bart/src/nlops/losses.c +297 -0
  550. bartorch-0.0.2/external/bart/src/nlops/losses.h +10 -0
  551. bartorch-0.0.2/external/bart/src/nlops/mi_metric.c +356 -0
  552. bartorch-0.0.2/external/bart/src/nlops/mi_metric.h +5 -0
  553. bartorch-0.0.2/external/bart/src/nlops/mri_ops.c +1265 -0
  554. bartorch-0.0.2/external/bart/src/nlops/mri_ops.h +53 -0
  555. bartorch-0.0.2/external/bart/src/nlops/nlop.c +1824 -0
  556. bartorch-0.0.2/external/bart/src/nlops/nlop.h +174 -0
  557. bartorch-0.0.2/external/bart/src/nlops/nlop_jacobian.c +1366 -0
  558. bartorch-0.0.2/external/bart/src/nlops/nlop_jacobian.h +61 -0
  559. bartorch-0.0.2/external/bart/src/nlops/nltest.c +668 -0
  560. bartorch-0.0.2/external/bart/src/nlops/nltest.h +11 -0
  561. bartorch-0.0.2/external/bart/src/nlops/norm_inv.c +531 -0
  562. bartorch-0.0.2/external/bart/src/nlops/norm_inv.h +15 -0
  563. bartorch-0.0.2/external/bart/src/nlops/smath.c +455 -0
  564. bartorch-0.0.2/external/bart/src/nlops/smath.h +63 -0
  565. bartorch-0.0.2/external/bart/src/nlops/snlop.c +1063 -0
  566. bartorch-0.0.2/external/bart/src/nlops/snlop.h +100 -0
  567. bartorch-0.0.2/external/bart/src/nlops/someops.c +642 -0
  568. bartorch-0.0.2/external/bart/src/nlops/someops.h +27 -0
  569. bartorch-0.0.2/external/bart/src/nlops/stack.c +1140 -0
  570. bartorch-0.0.2/external/bart/src/nlops/stack.h +13 -0
  571. bartorch-0.0.2/external/bart/src/nlops/tenmul.c +288 -0
  572. bartorch-0.0.2/external/bart/src/nlops/tenmul.h +9 -0
  573. bartorch-0.0.2/external/bart/src/nlops/zexp.c +87 -0
  574. bartorch-0.0.2/external/bart/src/nlops/zexp.h +5 -0
  575. bartorch-0.0.2/external/bart/src/nlops/zhyperbolic.c +83 -0
  576. bartorch-0.0.2/external/bart/src/nlops/zhyperbolic.h +5 -0
  577. bartorch-0.0.2/external/bart/src/nlops/ztrigon.c +84 -0
  578. bartorch-0.0.2/external/bart/src/nlops/ztrigon.h +5 -0
  579. bartorch-0.0.2/external/bart/src/nn/activation.c +656 -0
  580. bartorch-0.0.2/external/bart/src/nn/activation.h +28 -0
  581. bartorch-0.0.2/external/bart/src/nn/activation_nn.c +52 -0
  582. bartorch-0.0.2/external/bart/src/nn/activation_nn.h +10 -0
  583. bartorch-0.0.2/external/bart/src/nn/batchnorm.c +937 -0
  584. bartorch-0.0.2/external/bart/src/nn/batchnorm.h +15 -0
  585. bartorch-0.0.2/external/bart/src/nn/chain.c +1683 -0
  586. bartorch-0.0.2/external/bart/src/nn/chain.h +70 -0
  587. bartorch-0.0.2/external/bart/src/nn/const.c +188 -0
  588. bartorch-0.0.2/external/bart/src/nn/const.h +13 -0
  589. bartorch-0.0.2/external/bart/src/nn/data_list.c +266 -0
  590. bartorch-0.0.2/external/bart/src/nn/data_list.h +22 -0
  591. bartorch-0.0.2/external/bart/src/nn/ext_wrapper.c +133 -0
  592. bartorch-0.0.2/external/bart/src/nn/ext_wrapper.h +6 -0
  593. bartorch-0.0.2/external/bart/src/nn/init.c +689 -0
  594. bartorch-0.0.2/external/bart/src/nn/init.h +31 -0
  595. bartorch-0.0.2/external/bart/src/nn/layers.c +755 -0
  596. bartorch-0.0.2/external/bart/src/nn/layers.h +30 -0
  597. bartorch-0.0.2/external/bart/src/nn/layers_nn.c +361 -0
  598. bartorch-0.0.2/external/bart/src/nn/layers_nn.h +27 -0
  599. bartorch-0.0.2/external/bart/src/nn/losses.c +1065 -0
  600. bartorch-0.0.2/external/bart/src/nn/losses.h +15 -0
  601. bartorch-0.0.2/external/bart/src/nn/losses_nn.c +81 -0
  602. bartorch-0.0.2/external/bart/src/nn/losses_nn.h +10 -0
  603. bartorch-0.0.2/external/bart/src/nn/misc.c +278 -0
  604. bartorch-0.0.2/external/bart/src/nn/misc.h +9 -0
  605. bartorch-0.0.2/external/bart/src/nn/nn.c +975 -0
  606. bartorch-0.0.2/external/bart/src/nn/nn.h +139 -0
  607. bartorch-0.0.2/external/bart/src/nn/nn_ops.c +635 -0
  608. bartorch-0.0.2/external/bart/src/nn/nn_ops.h +20 -0
  609. bartorch-0.0.2/external/bart/src/nn/pytorch_cpp_wrapper.cc +259 -0
  610. bartorch-0.0.2/external/bart/src/nn/pytorch_cpp_wrapper.h +18 -0
  611. bartorch-0.0.2/external/bart/src/nn/pytorch_wrapper.c +158 -0
  612. bartorch-0.0.2/external/bart/src/nn/pytorch_wrapper.h +6 -0
  613. bartorch-0.0.2/external/bart/src/nn/rbf.c +411 -0
  614. bartorch-0.0.2/external/bart/src/nn/rbf.h +2 -0
  615. bartorch-0.0.2/external/bart/src/nn/tf_wrapper.c +1362 -0
  616. bartorch-0.0.2/external/bart/src/nn/tf_wrapper.h +19 -0
  617. bartorch-0.0.2/external/bart/src/nn/weights.c +389 -0
  618. bartorch-0.0.2/external/bart/src/nn/weights.h +41 -0
  619. bartorch-0.0.2/external/bart/src/nnet.c +296 -0
  620. bartorch-0.0.2/external/bart/src/noir/misc.c +272 -0
  621. bartorch-0.0.2/external/bart/src/noir/misc.h +22 -0
  622. bartorch-0.0.2/external/bart/src/noir/model.c +285 -0
  623. bartorch-0.0.2/external/bart/src/noir/model.h +37 -0
  624. bartorch-0.0.2/external/bart/src/noir/model2.c +906 -0
  625. bartorch-0.0.2/external/bart/src/noir/model2.h +120 -0
  626. bartorch-0.0.2/external/bart/src/noir/model_net.c +1268 -0
  627. bartorch-0.0.2/external/bart/src/noir/model_net.h +74 -0
  628. bartorch-0.0.2/external/bart/src/noir/pole.c +550 -0
  629. bartorch-0.0.2/external/bart/src/noir/pole.h +32 -0
  630. bartorch-0.0.2/external/bart/src/noir/recon.c +189 -0
  631. bartorch-0.0.2/external/bart/src/noir/recon.h +37 -0
  632. bartorch-0.0.2/external/bart/src/noir/recon2.c +847 -0
  633. bartorch-0.0.2/external/bart/src/noir/recon2.h +85 -0
  634. bartorch-0.0.2/external/bart/src/noir/utils.c +142 -0
  635. bartorch-0.0.2/external/bart/src/noir/utils.h +8 -0
  636. bartorch-0.0.2/external/bart/src/noise.c +136 -0
  637. bartorch-0.0.2/external/bart/src/noncart/gpu_grid.cu +1101 -0
  638. bartorch-0.0.2/external/bart/src/noncart/gpu_grid.h +13 -0
  639. bartorch-0.0.2/external/bart/src/noncart/grid.c +678 -0
  640. bartorch-0.0.2/external/bart/src/noncart/grid.h +47 -0
  641. bartorch-0.0.2/external/bart/src/noncart/nudft.c +348 -0
  642. bartorch-0.0.2/external/bart/src/noncart/nudft.h +45 -0
  643. bartorch-0.0.2/external/bart/src/noncart/nufft.c +2075 -0
  644. bartorch-0.0.2/external/bart/src/noncart/nufft.h +100 -0
  645. bartorch-0.0.2/external/bart/src/noncart/nufft_chain.c +244 -0
  646. bartorch-0.0.2/external/bart/src/noncart/nufft_chain.h +21 -0
  647. bartorch-0.0.2/external/bart/src/noncart/nufft_priv.h +71 -0
  648. bartorch-0.0.2/external/bart/src/noncart/precond.c +164 -0
  649. bartorch-0.0.2/external/bart/src/noncart/precond.h +10 -0
  650. bartorch-0.0.2/external/bart/src/noncart/radial.c +198 -0
  651. bartorch-0.0.2/external/bart/src/noncart/radial.h +10 -0
  652. bartorch-0.0.2/external/bart/src/noncart/traj.c +360 -0
  653. bartorch-0.0.2/external/bart/src/noncart/traj.h +45 -0
  654. bartorch-0.0.2/external/bart/src/normalize.c +73 -0
  655. bartorch-0.0.2/external/bart/src/nrmse.c +116 -0
  656. bartorch-0.0.2/external/bart/src/nufft.c +332 -0
  657. bartorch-0.0.2/external/bart/src/nufftbase.c +90 -0
  658. bartorch-0.0.2/external/bart/src/num/blas.c +815 -0
  659. bartorch-0.0.2/external/bart/src/num/blas.h +60 -0
  660. bartorch-0.0.2/external/bart/src/num/blas_md_wrapper.c +829 -0
  661. bartorch-0.0.2/external/bart/src/num/blas_md_wrapper.h +23 -0
  662. bartorch-0.0.2/external/bart/src/num/blockproc.c +399 -0
  663. bartorch-0.0.2/external/bart/src/num/blockproc.h +59 -0
  664. bartorch-0.0.2/external/bart/src/num/casorati.c +155 -0
  665. bartorch-0.0.2/external/bart/src/num/casorati.h +17 -0
  666. bartorch-0.0.2/external/bart/src/num/chebfun.c +239 -0
  667. bartorch-0.0.2/external/bart/src/num/chebfun.h +13 -0
  668. bartorch-0.0.2/external/bart/src/num/compress.c +279 -0
  669. bartorch-0.0.2/external/bart/src/num/compress.h +16 -0
  670. bartorch-0.0.2/external/bart/src/num/conv.c +297 -0
  671. bartorch-0.0.2/external/bart/src/num/conv.h +25 -0
  672. bartorch-0.0.2/external/bart/src/num/convcorr.c +1416 -0
  673. bartorch-0.0.2/external/bart/src/num/convcorr.h +47 -0
  674. bartorch-0.0.2/external/bart/src/num/convoaa.c +817 -0
  675. bartorch-0.0.2/external/bart/src/num/convoaa.h +19 -0
  676. bartorch-0.0.2/external/bart/src/num/cudnn_wrapper.c +1583 -0
  677. bartorch-0.0.2/external/bart/src/num/cudnn_wrapper.h +20 -0
  678. bartorch-0.0.2/external/bart/src/num/delayed.c +2829 -0
  679. bartorch-0.0.2/external/bart/src/num/delayed.h +63 -0
  680. bartorch-0.0.2/external/bart/src/num/fft-cuda.c +401 -0
  681. bartorch-0.0.2/external/bart/src/num/fft-cuda.h +7 -0
  682. bartorch-0.0.2/external/bart/src/num/fft.c +496 -0
  683. bartorch-0.0.2/external/bart/src/num/fft.h +58 -0
  684. bartorch-0.0.2/external/bart/src/num/fft_plan.c +431 -0
  685. bartorch-0.0.2/external/bart/src/num/fft_plan.h +12 -0
  686. bartorch-0.0.2/external/bart/src/num/filter.c +433 -0
  687. bartorch-0.0.2/external/bart/src/num/filter.h +32 -0
  688. bartorch-0.0.2/external/bart/src/num/flpmath.c +4728 -0
  689. bartorch-0.0.2/external/bart/src/num/flpmath.h +434 -0
  690. bartorch-0.0.2/external/bart/src/num/fltools.c +42 -0
  691. bartorch-0.0.2/external/bart/src/num/fltools.h +6 -0
  692. bartorch-0.0.2/external/bart/src/num/gaussians.c +455 -0
  693. bartorch-0.0.2/external/bart/src/num/gaussians.h +46 -0
  694. bartorch-0.0.2/external/bart/src/num/gpu_conv.cu +351 -0
  695. bartorch-0.0.2/external/bart/src/num/gpu_conv.h +11 -0
  696. bartorch-0.0.2/external/bart/src/num/gpu_reduce.cu +399 -0
  697. bartorch-0.0.2/external/bart/src/num/gpu_reduce.h +16 -0
  698. bartorch-0.0.2/external/bart/src/num/gpukrnls.cu +1865 -0
  699. bartorch-0.0.2/external/bart/src/num/gpukrnls.h +94 -0
  700. bartorch-0.0.2/external/bart/src/num/gpukrnls_bat.cu +233 -0
  701. bartorch-0.0.2/external/bart/src/num/gpukrnls_bat.h +12 -0
  702. bartorch-0.0.2/external/bart/src/num/gpukrnls_copy.cu +366 -0
  703. bartorch-0.0.2/external/bart/src/num/gpukrnls_copy.h +14 -0
  704. bartorch-0.0.2/external/bart/src/num/gpukrnls_misc.cu +115 -0
  705. bartorch-0.0.2/external/bart/src/num/gpukrnls_misc.h +43 -0
  706. bartorch-0.0.2/external/bart/src/num/gpukrnls_triagmat.cu +95 -0
  707. bartorch-0.0.2/external/bart/src/num/gpukrnls_triagmat.h +10 -0
  708. bartorch-0.0.2/external/bart/src/num/gpukrnls_unfold.cu +287 -0
  709. bartorch-0.0.2/external/bart/src/num/gpukrnls_unfold.h +20 -0
  710. bartorch-0.0.2/external/bart/src/num/gpuops.c +667 -0
  711. bartorch-0.0.2/external/bart/src/num/gpuops.h +54 -0
  712. bartorch-0.0.2/external/bart/src/num/gpurand.cu +154 -0
  713. bartorch-0.0.2/external/bart/src/num/gpurand.h +16 -0
  714. bartorch-0.0.2/external/bart/src/num/init.c +231 -0
  715. bartorch-0.0.2/external/bart/src/num/init.h +16 -0
  716. bartorch-0.0.2/external/bart/src/num/iovec.c +105 -0
  717. bartorch-0.0.2/external/bart/src/num/iovec.h +29 -0
  718. bartorch-0.0.2/external/bart/src/num/lapack.c +184 -0
  719. bartorch-0.0.2/external/bart/src/num/lapack.h +39 -0
  720. bartorch-0.0.2/external/bart/src/num/linalg.c +1531 -0
  721. bartorch-0.0.2/external/bart/src/num/linalg.h +84 -0
  722. bartorch-0.0.2/external/bart/src/num/linalg_rand.c +289 -0
  723. bartorch-0.0.2/external/bart/src/num/linalg_rand.h +10 -0
  724. bartorch-0.0.2/external/bart/src/num/loop.c +184 -0
  725. bartorch-0.0.2/external/bart/src/num/loop.h +30 -0
  726. bartorch-0.0.2/external/bart/src/num/matexp.c +83 -0
  727. bartorch-0.0.2/external/bart/src/num/matexp.h +10 -0
  728. bartorch-0.0.2/external/bart/src/num/md_wrapper.c +432 -0
  729. bartorch-0.0.2/external/bart/src/num/md_wrapper.h +16 -0
  730. bartorch-0.0.2/external/bart/src/num/mdfft.c +320 -0
  731. bartorch-0.0.2/external/bart/src/num/mdfft.h +20 -0
  732. bartorch-0.0.2/external/bart/src/num/mem.c +372 -0
  733. bartorch-0.0.2/external/bart/src/num/mem.h +15 -0
  734. bartorch-0.0.2/external/bart/src/num/morph.c +317 -0
  735. bartorch-0.0.2/external/bart/src/num/morph.h +16 -0
  736. bartorch-0.0.2/external/bart/src/num/mpi_ops.c +840 -0
  737. bartorch-0.0.2/external/bart/src/num/mpi_ops.h +42 -0
  738. bartorch-0.0.2/external/bart/src/num/multind.c +2776 -0
  739. bartorch-0.0.2/external/bart/src/num/multind.h +290 -0
  740. bartorch-0.0.2/external/bart/src/num/multiplace.c +244 -0
  741. bartorch-0.0.2/external/bart/src/num/multiplace.h +14 -0
  742. bartorch-0.0.2/external/bart/src/num/nlmeans.c +196 -0
  743. bartorch-0.0.2/external/bart/src/num/nlmeans.h +21 -0
  744. bartorch-0.0.2/external/bart/src/num/ode.c +517 -0
  745. bartorch-0.0.2/external/bart/src/num/ode.h +69 -0
  746. bartorch-0.0.2/external/bart/src/num/ops.c +2825 -0
  747. bartorch-0.0.2/external/bart/src/num/ops.h +164 -0
  748. bartorch-0.0.2/external/bart/src/num/ops_graph.c +757 -0
  749. bartorch-0.0.2/external/bart/src/num/ops_graph.h +35 -0
  750. bartorch-0.0.2/external/bart/src/num/ops_p.c +436 -0
  751. bartorch-0.0.2/external/bart/src/num/ops_p.h +78 -0
  752. bartorch-0.0.2/external/bart/src/num/optimize.c +810 -0
  753. bartorch-0.0.2/external/bart/src/num/optimize.h +27 -0
  754. bartorch-0.0.2/external/bart/src/num/philox.inc +77 -0
  755. bartorch-0.0.2/external/bart/src/num/polynom.c +169 -0
  756. bartorch-0.0.2/external/bart/src/num/polynom.h +16 -0
  757. bartorch-0.0.2/external/bart/src/num/qform.c +105 -0
  758. bartorch-0.0.2/external/bart/src/num/qform.h +6 -0
  759. bartorch-0.0.2/external/bart/src/num/quadrature.c +75 -0
  760. bartorch-0.0.2/external/bart/src/num/quadrature.h +14 -0
  761. bartorch-0.0.2/external/bart/src/num/rand.c +701 -0
  762. bartorch-0.0.2/external/bart/src/num/rand.h +32 -0
  763. bartorch-0.0.2/external/bart/src/num/reduce_md_wrapper.c +281 -0
  764. bartorch-0.0.2/external/bart/src/num/reduce_md_wrapper.h +11 -0
  765. bartorch-0.0.2/external/bart/src/num/shuffle.c +133 -0
  766. bartorch-0.0.2/external/bart/src/num/shuffle.h +26 -0
  767. bartorch-0.0.2/external/bart/src/num/simplex.c +241 -0
  768. bartorch-0.0.2/external/bart/src/num/simplex.h +4 -0
  769. bartorch-0.0.2/external/bart/src/num/specfun.c +558 -0
  770. bartorch-0.0.2/external/bart/src/num/specfun.h +19 -0
  771. bartorch-0.0.2/external/bart/src/num/splines.c +404 -0
  772. bartorch-0.0.2/external/bart/src/num/splines.h +24 -0
  773. bartorch-0.0.2/external/bart/src/num/triagmat.c +461 -0
  774. bartorch-0.0.2/external/bart/src/num/triagmat.h +18 -0
  775. bartorch-0.0.2/external/bart/src/num/vec3.c +70 -0
  776. bartorch-0.0.2/external/bart/src/num/vec3.h +14 -0
  777. bartorch-0.0.2/external/bart/src/num/vecops.c +998 -0
  778. bartorch-0.0.2/external/bart/src/num/vecops.h +104 -0
  779. bartorch-0.0.2/external/bart/src/num/vecops_strided.c +1384 -0
  780. bartorch-0.0.2/external/bart/src/num/vecops_strided.h +39 -0
  781. bartorch-0.0.2/external/bart/src/num/vptr.c +2095 -0
  782. bartorch-0.0.2/external/bart/src/num/vptr.h +117 -0
  783. bartorch-0.0.2/external/bart/src/num/vptr_fun.c +145 -0
  784. bartorch-0.0.2/external/bart/src/num/vptr_fun.h +18 -0
  785. bartorch-0.0.2/external/bart/src/num/vptr_iter.c +385 -0
  786. bartorch-0.0.2/external/bart/src/num/vptr_iter.h +3 -0
  787. bartorch-0.0.2/external/bart/src/num/wavelet.c +301 -0
  788. bartorch-0.0.2/external/bart/src/num/wavelet.h +20 -0
  789. bartorch-0.0.2/external/bart/src/onehotenc.c +92 -0
  790. bartorch-0.0.2/external/bart/src/ones.c +66 -0
  791. bartorch-0.0.2/external/bart/src/pattern.c +68 -0
  792. bartorch-0.0.2/external/bart/src/phantom.c +460 -0
  793. bartorch-0.0.2/external/bart/src/phasepole.c +198 -0
  794. bartorch-0.0.2/external/bart/src/pics.c +796 -0
  795. bartorch-0.0.2/external/bart/src/pocsense.c +229 -0
  796. bartorch-0.0.2/external/bart/src/poisson.c +294 -0
  797. bartorch-0.0.2/external/bart/src/pol2mask.c +113 -0
  798. bartorch-0.0.2/external/bart/src/poly.c +82 -0
  799. bartorch-0.0.2/external/bart/src/psf.c +99 -0
  800. bartorch-0.0.2/external/bart/src/pulse.c +144 -0
  801. bartorch-0.0.2/external/bart/src/python/pyBART.cpp.in +471 -0
  802. bartorch-0.0.2/external/bart/src/python/pyBART_docstrings.c +271 -0
  803. bartorch-0.0.2/external/bart/src/python/pyBART_pybind11_patch.h +89 -0
  804. bartorch-0.0.2/external/bart/src/raga.c +127 -0
  805. bartorch-0.0.2/external/bart/src/reconet.c +410 -0
  806. bartorch-0.0.2/external/bart/src/repmat.c +76 -0
  807. bartorch-0.0.2/external/bart/src/reshape.c +176 -0
  808. bartorch-0.0.2/external/bart/src/resize.c +110 -0
  809. bartorch-0.0.2/external/bart/src/rmfreq.c +270 -0
  810. bartorch-0.0.2/external/bart/src/rof.c +106 -0
  811. bartorch-0.0.2/external/bart/src/roistat.c +231 -0
  812. bartorch-0.0.2/external/bart/src/rovir.c +97 -0
  813. bartorch-0.0.2/external/bart/src/rss.c +61 -0
  814. bartorch-0.0.2/external/bart/src/rtnlinv.c +576 -0
  815. bartorch-0.0.2/external/bart/src/sake/sake.c +249 -0
  816. bartorch-0.0.2/external/bart/src/sake/sake.h +6 -0
  817. bartorch-0.0.2/external/bart/src/sake.c +83 -0
  818. bartorch-0.0.2/external/bart/src/sample.c +650 -0
  819. bartorch-0.0.2/external/bart/src/saxpy.c +69 -0
  820. bartorch-0.0.2/external/bart/src/scale.c +58 -0
  821. bartorch-0.0.2/external/bart/src/sdot.c +65 -0
  822. bartorch-0.0.2/external/bart/src/sense/model.c +130 -0
  823. bartorch-0.0.2/external/bart/src/sense/model.h +22 -0
  824. bartorch-0.0.2/external/bart/src/sense/modelnc.c +69 -0
  825. bartorch-0.0.2/external/bart/src/sense/modelnc.h +16 -0
  826. bartorch-0.0.2/external/bart/src/sense/optcom.c +246 -0
  827. bartorch-0.0.2/external/bart/src/sense/optcom.h +25 -0
  828. bartorch-0.0.2/external/bart/src/sense/pocs.c +290 -0
  829. bartorch-0.0.2/external/bart/src/sense/pocs.h +25 -0
  830. bartorch-0.0.2/external/bart/src/sense/recon.c +133 -0
  831. bartorch-0.0.2/external/bart/src/sense/recon.h +55 -0
  832. bartorch-0.0.2/external/bart/src/seq/adc_rf.c +232 -0
  833. bartorch-0.0.2/external/bart/src/seq/adc_rf.h +28 -0
  834. bartorch-0.0.2/external/bart/src/seq/anglecalc.c +115 -0
  835. bartorch-0.0.2/external/bart/src/seq/anglecalc.h +21 -0
  836. bartorch-0.0.2/external/bart/src/seq/config.c +152 -0
  837. bartorch-0.0.2/external/bart/src/seq/config.h +126 -0
  838. bartorch-0.0.2/external/bart/src/seq/custom_ui.c +156 -0
  839. bartorch-0.0.2/external/bart/src/seq/custom_ui.h +87 -0
  840. bartorch-0.0.2/external/bart/src/seq/event.c +212 -0
  841. bartorch-0.0.2/external/bart/src/seq/event.h +120 -0
  842. bartorch-0.0.2/external/bart/src/seq/flash.c +437 -0
  843. bartorch-0.0.2/external/bart/src/seq/flash.h +50 -0
  844. bartorch-0.0.2/external/bart/src/seq/gradient.c +84 -0
  845. bartorch-0.0.2/external/bart/src/seq/gradient.h +30 -0
  846. bartorch-0.0.2/external/bart/src/seq/helpers.c +458 -0
  847. bartorch-0.0.2/external/bart/src/seq/helpers.h +157 -0
  848. bartorch-0.0.2/external/bart/src/seq/kernel.c +155 -0
  849. bartorch-0.0.2/external/bart/src/seq/kernel.h +18 -0
  850. bartorch-0.0.2/external/bart/src/seq/mag_prep.c +36 -0
  851. bartorch-0.0.2/external/bart/src/seq/mag_prep.h +16 -0
  852. bartorch-0.0.2/external/bart/src/seq/misc.c +53 -0
  853. bartorch-0.0.2/external/bart/src/seq/misc.h +19 -0
  854. bartorch-0.0.2/external/bart/src/seq/opts.c +129 -0
  855. bartorch-0.0.2/external/bart/src/seq/opts.h +13 -0
  856. bartorch-0.0.2/external/bart/src/seq/pulse.c +425 -0
  857. bartorch-0.0.2/external/bart/src/seq/pulse.h +124 -0
  858. bartorch-0.0.2/external/bart/src/seq/pulse_library.c +1020 -0
  859. bartorch-0.0.2/external/bart/src/seq/pulse_library.h +14 -0
  860. bartorch-0.0.2/external/bart/src/seq/pulseq.c +666 -0
  861. bartorch-0.0.2/external/bart/src/seq/pulseq.h +126 -0
  862. bartorch-0.0.2/external/bart/src/seq/seq.c +429 -0
  863. bartorch-0.0.2/external/bart/src/seq/seq.h +87 -0
  864. bartorch-0.0.2/external/bart/src/seq/ui_enums.h +39 -0
  865. bartorch-0.0.2/external/bart/src/seq.c +522 -0
  866. bartorch-0.0.2/external/bart/src/show.c +161 -0
  867. bartorch-0.0.2/external/bart/src/signal.c +262 -0
  868. bartorch-0.0.2/external/bart/src/sim.c +333 -0
  869. bartorch-0.0.2/external/bart/src/simu/biot_savart.c +85 -0
  870. bartorch-0.0.2/external/bart/src/simu/biot_savart.h +7 -0
  871. bartorch-0.0.2/external/bart/src/simu/bloch.c +511 -0
  872. bartorch-0.0.2/external/bart/src/simu/bloch.h +49 -0
  873. bartorch-0.0.2/external/bart/src/simu/coil.c +40 -0
  874. bartorch-0.0.2/external/bart/src/simu/coil.h +11 -0
  875. bartorch-0.0.2/external/bart/src/simu/crb.c +118 -0
  876. bartorch-0.0.2/external/bart/src/simu/crb.h +8 -0
  877. bartorch-0.0.2/external/bart/src/simu/epg.c +697 -0
  878. bartorch-0.0.2/external/bart/src/simu/epg.h +54 -0
  879. bartorch-0.0.2/external/bart/src/simu/grid.c +173 -0
  880. bartorch-0.0.2/external/bart/src/simu/grid.h +32 -0
  881. bartorch-0.0.2/external/bart/src/simu/phantom.c +1315 -0
  882. bartorch-0.0.2/external/bart/src/simu/phantom.h +57 -0
  883. bartorch-0.0.2/external/bart/src/simu/sens.c +2749 -0
  884. bartorch-0.0.2/external/bart/src/simu/sens.h +39 -0
  885. bartorch-0.0.2/external/bart/src/simu/shape.c +179 -0
  886. bartorch-0.0.2/external/bart/src/simu/shape.h +23 -0
  887. bartorch-0.0.2/external/bart/src/simu/shepplogan.c +348 -0
  888. bartorch-0.0.2/external/bart/src/simu/shepplogan.h +73 -0
  889. bartorch-0.0.2/external/bart/src/simu/signals.c +594 -0
  890. bartorch-0.0.2/external/bart/src/simu/signals.h +105 -0
  891. bartorch-0.0.2/external/bart/src/simu/simulation.c +1232 -0
  892. bartorch-0.0.2/external/bart/src/simu/simulation.h +144 -0
  893. bartorch-0.0.2/external/bart/src/simu/tsegf.c +204 -0
  894. bartorch-0.0.2/external/bart/src/simu/tsegf.h +12 -0
  895. bartorch-0.0.2/external/bart/src/slice.c +92 -0
  896. bartorch-0.0.2/external/bart/src/spow.c +57 -0
  897. bartorch-0.0.2/external/bart/src/sqpics.c +739 -0
  898. bartorch-0.0.2/external/bart/src/squeeze.c +68 -0
  899. bartorch-0.0.2/external/bart/src/ssa.c +203 -0
  900. bartorch-0.0.2/external/bart/src/std.c +68 -0
  901. bartorch-0.0.2/external/bart/src/stl/misc.c +661 -0
  902. bartorch-0.0.2/external/bart/src/stl/misc.h +58 -0
  903. bartorch-0.0.2/external/bart/src/stl/models.c +91 -0
  904. bartorch-0.0.2/external/bart/src/stl/models.h +8 -0
  905. bartorch-0.0.2/external/bart/src/stl.c +173 -0
  906. bartorch-0.0.2/external/bart/src/svd.c +81 -0
  907. bartorch-0.0.2/external/bart/src/tee.c +187 -0
  908. bartorch-0.0.2/external/bart/src/tensorflow.c +121 -0
  909. bartorch-0.0.2/external/bart/src/tgv.c +132 -0
  910. bartorch-0.0.2/external/bart/src/threshold.c +245 -0
  911. bartorch-0.0.2/external/bart/src/toimg.c +238 -0
  912. bartorch-0.0.2/external/bart/src/toraw.c +113 -0
  913. bartorch-0.0.2/external/bart/src/traj.c +465 -0
  914. bartorch-0.0.2/external/bart/src/trajcor.c +164 -0
  915. bartorch-0.0.2/external/bart/src/transpose.c +66 -0
  916. bartorch-0.0.2/external/bart/src/twixread.c +826 -0
  917. bartorch-0.0.2/external/bart/src/unwrap.c +90 -0
  918. bartorch-0.0.2/external/bart/src/upat.c +67 -0
  919. bartorch-0.0.2/external/bart/src/var.c +68 -0
  920. bartorch-0.0.2/external/bart/src/vec.c +53 -0
  921. bartorch-0.0.2/external/bart/src/version.c +135 -0
  922. bartorch-0.0.2/external/bart/src/walsh.c +83 -0
  923. bartorch-0.0.2/external/bart/src/wave.c +465 -0
  924. bartorch-0.0.2/external/bart/src/wavelet/wavelet.c +829 -0
  925. bartorch-0.0.2/external/bart/src/wavelet/wavelet.h +36 -0
  926. bartorch-0.0.2/external/bart/src/wavelet/wavthresh.c +152 -0
  927. bartorch-0.0.2/external/bart/src/wavelet/wavthresh.h +15 -0
  928. bartorch-0.0.2/external/bart/src/wavelet/wl3-cuda.cu +156 -0
  929. bartorch-0.0.2/external/bart/src/wavelet/wl3-cuda.h +10 -0
  930. bartorch-0.0.2/external/bart/src/wavelet.c +121 -0
  931. bartorch-0.0.2/external/bart/src/wavepsf.c +165 -0
  932. bartorch-0.0.2/external/bart/src/whiten.c +204 -0
  933. bartorch-0.0.2/external/bart/src/win/basename_patch.h +26 -0
  934. bartorch-0.0.2/external/bart/src/win/fmemopen.c +39 -0
  935. bartorch-0.0.2/external/bart/src/win/fmemopen.h +14 -0
  936. bartorch-0.0.2/external/bart/src/win/mman.c +282 -0
  937. bartorch-0.0.2/external/bart/src/win/mman.h +100 -0
  938. bartorch-0.0.2/external/bart/src/win/open_patch.h +16 -0
  939. bartorch-0.0.2/external/bart/src/win/rand_r.h +26 -0
  940. bartorch-0.0.2/external/bart/src/win/vdprintf.h +29 -0
  941. bartorch-0.0.2/external/bart/src/window.c +66 -0
  942. bartorch-0.0.2/external/bart/src/wshfl.c +1273 -0
  943. bartorch-0.0.2/external/bart/src/zeros.c +65 -0
  944. bartorch-0.0.2/external/bart/src/zexp.c +67 -0
  945. bartorch-0.0.2/external/bart/startup.m +3 -0
  946. bartorch-0.0.2/external/bart/startup.py +11 -0
  947. bartorch-0.0.2/external/bart/startup.sh +6 -0
  948. bartorch-0.0.2/external/bart/tests/asl.mk +35 -0
  949. bartorch-0.0.2/external/bart/tests/bin.mk +195 -0
  950. bartorch-0.0.2/external/bart/tests/bitmask.mk +24 -0
  951. bartorch-0.0.2/external/bart/tests/calc.mk +161 -0
  952. bartorch-0.0.2/external/bart/tests/casorati.mk +19 -0
  953. bartorch-0.0.2/external/bart/tests/cc.mk +94 -0
  954. bartorch-0.0.2/external/bart/tests/ccapply.mk +101 -0
  955. bartorch-0.0.2/external/bart/tests/cdf97.mk +11 -0
  956. bartorch-0.0.2/external/bart/tests/coils.mk +55 -0
  957. bartorch-0.0.2/external/bart/tests/compress.mk +18 -0
  958. bartorch-0.0.2/external/bart/tests/copy.mk +50 -0
  959. bartorch-0.0.2/external/bart/tests/denoise.mk +66 -0
  960. bartorch-0.0.2/external/bart/tests/ecalib.mk +84 -0
  961. bartorch-0.0.2/external/bart/tests/estdelay.mk +153 -0
  962. bartorch-0.0.2/external/bart/tests/estscaling.mk +16 -0
  963. bartorch-0.0.2/external/bart/tests/estshift.mk +14 -0
  964. bartorch-0.0.2/external/bart/tests/extract.mk +23 -0
  965. bartorch-0.0.2/external/bart/tests/fakeksp.mk +24 -0
  966. bartorch-0.0.2/external/bart/tests/fft.mk +102 -0
  967. bartorch-0.0.2/external/bart/tests/filter.mk +42 -0
  968. bartorch-0.0.2/external/bart/tests/flatten.mk +15 -0
  969. bartorch-0.0.2/external/bart/tests/fmac.mk +16 -0
  970. bartorch-0.0.2/external/bart/tests/fovshift.mk +34 -0
  971. bartorch-0.0.2/external/bart/tests/gmm.mk +22 -0
  972. bartorch-0.0.2/external/bart/tests/gpu.mk +193 -0
  973. bartorch-0.0.2/external/bart/tests/grid.mk +59 -0
  974. bartorch-0.0.2/external/bart/tests/grog.mk +82 -0
  975. bartorch-0.0.2/external/bart/tests/homodyne.mk +35 -0
  976. bartorch-0.0.2/external/bart/tests/io.mk +24 -0
  977. bartorch-0.0.2/external/bart/tests/ismrmrd.mk +13 -0
  978. bartorch-0.0.2/external/bart/tests/ismrmrd_h5tocfl.py +25 -0
  979. bartorch-0.0.2/external/bart/tests/itsense.mk +15 -0
  980. bartorch-0.0.2/external/bart/tests/join.mk +35 -0
  981. bartorch-0.0.2/external/bart/tests/linsub.mk +110 -0
  982. bartorch-0.0.2/external/bart/tests/lrmatrix.mk +102 -0
  983. bartorch-0.0.2/external/bart/tests/measure.mk +32 -0
  984. bartorch-0.0.2/external/bart/tests/moba.mk +649 -0
  985. bartorch-0.0.2/external/bart/tests/mobafit.mk +354 -0
  986. bartorch-0.0.2/external/bart/tests/mobasig.mk +101 -0
  987. bartorch-0.0.2/external/bart/tests/morph.mk +41 -0
  988. bartorch-0.0.2/external/bart/tests/motion.mk +96 -0
  989. bartorch-0.0.2/external/bart/tests/multicfl.mk +14 -0
  990. bartorch-0.0.2/external/bart/tests/network.mk +507 -0
  991. bartorch-0.0.2/external/bart/tests/network_tf1.py +61 -0
  992. bartorch-0.0.2/external/bart/tests/network_tf2.py +89 -0
  993. bartorch-0.0.2/external/bart/tests/nlinv-mpi.mk +25 -0
  994. bartorch-0.0.2/external/bart/tests/nlinv.mk +441 -0
  995. bartorch-0.0.2/external/bart/tests/nlmeans.mk +12 -0
  996. bartorch-0.0.2/external/bart/tests/noise.mk +96 -0
  997. bartorch-0.0.2/external/bart/tests/nrmse.mk +11 -0
  998. bartorch-0.0.2/external/bart/tests/nufft.mk +563 -0
  999. bartorch-0.0.2/external/bart/tests/opts.mk +22 -0
  1000. bartorch-0.0.2/external/bart/tests/out/.gitignore +4 -0
  1001. bartorch-0.0.2/external/bart/tests/phantom.mk +427 -0
  1002. bartorch-0.0.2/external/bart/tests/pics-loop.mk +110 -0
  1003. bartorch-0.0.2/external/bart/tests/pics-mpi.mk +200 -0
  1004. bartorch-0.0.2/external/bart/tests/pics.mk +733 -0
  1005. bartorch-0.0.2/external/bart/tests/pocsense.mk +34 -0
  1006. bartorch-0.0.2/external/bart/tests/pol2mask.mk +49 -0
  1007. bartorch-0.0.2/external/bart/tests/pole.mk +30 -0
  1008. bartorch-0.0.2/external/bart/tests/poly.mk +9 -0
  1009. bartorch-0.0.2/external/bart/tests/print_max_rss.sh +2 -0
  1010. bartorch-0.0.2/external/bart/tests/psf.mk +21 -0
  1011. bartorch-0.0.2/external/bart/tests/pulse.mk +15 -0
  1012. bartorch-0.0.2/external/bart/tests/pyBART.cmake +47 -0
  1013. bartorch-0.0.2/external/bart/tests/pyBART_run_test.py +14 -0
  1014. bartorch-0.0.2/external/bart/tests/python_bart.mk +28 -0
  1015. bartorch-0.0.2/external/bart/tests/pythoncfl.mk +36 -0
  1016. bartorch-0.0.2/external/bart/tests/pythoncfl.py +21 -0
  1017. bartorch-0.0.2/external/bart/tests/pythonmulticfl.py +21 -0
  1018. bartorch-0.0.2/external/bart/tests/raga.mk +82 -0
  1019. bartorch-0.0.2/external/bart/tests/reshape.mk +33 -0
  1020. bartorch-0.0.2/external/bart/tests/rof.mk +17 -0
  1021. bartorch-0.0.2/external/bart/tests/roistat.mk +70 -0
  1022. bartorch-0.0.2/external/bart/tests/rtnlinv.mk +120 -0
  1023. bartorch-0.0.2/external/bart/tests/sample.mk +380 -0
  1024. bartorch-0.0.2/external/bart/tests/seq.mk +171 -0
  1025. bartorch-0.0.2/external/bart/tests/signal.mk +133 -0
  1026. bartorch-0.0.2/external/bart/tests/sim.mk +353 -0
  1027. bartorch-0.0.2/external/bart/tests/slice.mk +23 -0
  1028. bartorch-0.0.2/external/bart/tests/smallfov.mk +73 -0
  1029. bartorch-0.0.2/external/bart/tests/squeeze.mk +16 -0
  1030. bartorch-0.0.2/external/bart/tests/ssa.mk +79 -0
  1031. bartorch-0.0.2/external/bart/tests/stl.mk +45 -0
  1032. bartorch-0.0.2/external/bart/tests/stream.mk +130 -0
  1033. bartorch-0.0.2/external/bart/tests/sub.mk +10 -0
  1034. bartorch-0.0.2/external/bart/tests/tgv.mk +33 -0
  1035. bartorch-0.0.2/external/bart/tests/tmp/.gitignore +4 -0
  1036. bartorch-0.0.2/external/bart/tests/traj.mk +299 -0
  1037. bartorch-0.0.2/external/bart/tests/trajcor.mk +54 -0
  1038. bartorch-0.0.2/external/bart/tests/twixread.mk +55 -0
  1039. bartorch-0.0.2/external/bart/tests/upat.mk +20 -0
  1040. bartorch-0.0.2/external/bart/tests/vec.mk +23 -0
  1041. bartorch-0.0.2/external/bart/tests/version.mk +20 -0
  1042. bartorch-0.0.2/external/bart/tests/wave.mk +15 -0
  1043. bartorch-0.0.2/external/bart/tests/wavelet.mk +107 -0
  1044. bartorch-0.0.2/external/bart/tests/whiten.mk +24 -0
  1045. bartorch-0.0.2/external/bart/tests/wshfl.mk +21 -0
  1046. bartorch-0.0.2/external/bart/tests/zexp.mk +44 -0
  1047. bartorch-0.0.2/external/bart/utests/exp_grad.pb +0 -0
  1048. bartorch-0.0.2/external/bart/utests/exp_grad_jac.pb +0 -0
  1049. bartorch-0.0.2/external/bart/utests/exp_grad_jac_real.pb +0 -0
  1050. bartorch-0.0.2/external/bart/utests/test_adc_rf.c +192 -0
  1051. bartorch-0.0.2/external/bart/utests/test_affine.c +213 -0
  1052. bartorch-0.0.2/external/bart/utests/test_angle_calc.c +49 -0
  1053. bartorch-0.0.2/external/bart/utests/test_asl.c +104 -0
  1054. bartorch-0.0.2/external/bart/utests/test_batchsvd.c +73 -0
  1055. bartorch-0.0.2/external/bart/utests/test_biot_savart.c +57 -0
  1056. bartorch-0.0.2/external/bart/utests/test_blas.c +79 -0
  1057. bartorch-0.0.2/external/bart/utests/test_casorati.c +103 -0
  1058. bartorch-0.0.2/external/bart/utests/test_conv.c +186 -0
  1059. bartorch-0.0.2/external/bart/utests/test_convcorr.c +233 -0
  1060. bartorch-0.0.2/external/bart/utests/test_cuda_affine.c +203 -0
  1061. bartorch-0.0.2/external/bart/utests/test_cuda_convcorr.c +248 -0
  1062. bartorch-0.0.2/external/bart/utests/test_cuda_flpmath.c +212 -0
  1063. bartorch-0.0.2/external/bart/utests/test_cuda_flpmath2.c +698 -0
  1064. bartorch-0.0.2/external/bart/utests/test_cuda_gpukrnls.c +222 -0
  1065. bartorch-0.0.2/external/bart/utests/test_cuda_memcache_clear.c +52 -0
  1066. bartorch-0.0.2/external/bart/utests/test_cuda_multind.c +50 -0
  1067. bartorch-0.0.2/external/bart/utests/test_cuda_rand.c +241 -0
  1068. bartorch-0.0.2/external/bart/utests/test_cuda_shuffle.c +163 -0
  1069. bartorch-0.0.2/external/bart/utests/test_cudafft.c +161 -0
  1070. bartorch-0.0.2/external/bart/utests/test_delayed.c +200 -0
  1071. bartorch-0.0.2/external/bart/utests/test_epg.c +93 -0
  1072. bartorch-0.0.2/external/bart/utests/test_events.c +48 -0
  1073. bartorch-0.0.2/external/bart/utests/test_fft.c +59 -0
  1074. bartorch-0.0.2/external/bart/utests/test_fib.c +31 -0
  1075. bartorch-0.0.2/external/bart/utests/test_filter.c +51 -0
  1076. bartorch-0.0.2/external/bart/utests/test_flash.c +454 -0
  1077. bartorch-0.0.2/external/bart/utests/test_flpmath.c +405 -0
  1078. bartorch-0.0.2/external/bart/utests/test_flpmath2.c +787 -0
  1079. bartorch-0.0.2/external/bart/utests/test_flpmath_data.h +479 -0
  1080. bartorch-0.0.2/external/bart/utests/test_gaussians.c +323 -0
  1081. bartorch-0.0.2/external/bart/utests/test_geom.c +83 -0
  1082. bartorch-0.0.2/external/bart/utests/test_gradient.c +105 -0
  1083. bartorch-0.0.2/external/bart/utests/test_graph.c +102 -0
  1084. bartorch-0.0.2/external/bart/utests/test_grog.c +216 -0
  1085. bartorch-0.0.2/external/bart/utests/test_iter.c +464 -0
  1086. bartorch-0.0.2/external/bart/utests/test_lapack.c +36 -0
  1087. bartorch-0.0.2/external/bart/utests/test_linalg.c +652 -0
  1088. bartorch-0.0.2/external/bart/utests/test_linalg_rand.c +538 -0
  1089. bartorch-0.0.2/external/bart/utests/test_linop.c +410 -0
  1090. bartorch-0.0.2/external/bart/utests/test_linop_matrix.c +192 -0
  1091. bartorch-0.0.2/external/bart/utests/test_matexp.c +43 -0
  1092. bartorch-0.0.2/external/bart/utests/test_md_gaussians.c +245 -0
  1093. bartorch-0.0.2/external/bart/utests/test_mdfft.c +47 -0
  1094. bartorch-0.0.2/external/bart/utests/test_memcfl.c +120 -0
  1095. bartorch-0.0.2/external/bart/utests/test_misc.c +98 -0
  1096. bartorch-0.0.2/external/bart/utests/test_moba.c +332 -0
  1097. bartorch-0.0.2/external/bart/utests/test_morph.c +85 -0
  1098. bartorch-0.0.2/external/bart/utests/test_mpi.c +137 -0
  1099. bartorch-0.0.2/external/bart/utests/test_mpi_fft.c +108 -0
  1100. bartorch-0.0.2/external/bart/utests/test_mpi_flpmath.c +244 -0
  1101. bartorch-0.0.2/external/bart/utests/test_mpi_multind.c +218 -0
  1102. bartorch-0.0.2/external/bart/utests/test_mpi_reduction.c +177 -0
  1103. bartorch-0.0.2/external/bart/utests/test_multind.c +408 -0
  1104. bartorch-0.0.2/external/bart/utests/test_nlmeans.c +117 -0
  1105. bartorch-0.0.2/external/bart/utests/test_nlop.c +1456 -0
  1106. bartorch-0.0.2/external/bart/utests/test_nlop_jacobian.c +224 -0
  1107. bartorch-0.0.2/external/bart/utests/test_nn.c +368 -0
  1108. bartorch-0.0.2/external/bart/utests/test_nn_ops.c +839 -0
  1109. bartorch-0.0.2/external/bart/utests/test_nn_pytorch.c +70 -0
  1110. bartorch-0.0.2/external/bart/utests/test_nn_pytorch.pt +0 -0
  1111. bartorch-0.0.2/external/bart/utests/test_nn_pytorch_cuda.c +76 -0
  1112. bartorch-0.0.2/external/bart/utests/test_nn_tf.c +216 -0
  1113. bartorch-0.0.2/external/bart/utests/test_nn_tf.pb +0 -0
  1114. bartorch-0.0.2/external/bart/utests/test_nufft.c +264 -0
  1115. bartorch-0.0.2/external/bart/utests/test_ode.c +225 -0
  1116. bartorch-0.0.2/external/bart/utests/test_ode_bloch.c +1105 -0
  1117. bartorch-0.0.2/external/bart/utests/test_ode_simu.c +2011 -0
  1118. bartorch-0.0.2/external/bart/utests/test_ops.c +132 -0
  1119. bartorch-0.0.2/external/bart/utests/test_ops_p.c +242 -0
  1120. bartorch-0.0.2/external/bart/utests/test_padding.c +144 -0
  1121. bartorch-0.0.2/external/bart/utests/test_pattern.c +81 -0
  1122. bartorch-0.0.2/external/bart/utests/test_phantom.c +160 -0
  1123. bartorch-0.0.2/external/bart/utests/test_polynom.c +182 -0
  1124. bartorch-0.0.2/external/bart/utests/test_prox.c +276 -0
  1125. bartorch-0.0.2/external/bart/utests/test_prox2.c +110 -0
  1126. bartorch-0.0.2/external/bart/utests/test_pulse.c +253 -0
  1127. bartorch-0.0.2/external/bart/utests/test_pulseq.c +244 -0
  1128. bartorch-0.0.2/external/bart/utests/test_qform.c +69 -0
  1129. bartorch-0.0.2/external/bart/utests/test_rand.c +334 -0
  1130. bartorch-0.0.2/external/bart/utests/test_score.c +161 -0
  1131. bartorch-0.0.2/external/bart/utests/test_seq.c +243 -0
  1132. bartorch-0.0.2/external/bart/utests/test_signals.c +244 -0
  1133. bartorch-0.0.2/external/bart/utests/test_snlop.c +578 -0
  1134. bartorch-0.0.2/external/bart/utests/test_specfun.c +186 -0
  1135. bartorch-0.0.2/external/bart/utests/test_splines.c +310 -0
  1136. bartorch-0.0.2/external/bart/utests/test_stl.c +340 -0
  1137. bartorch-0.0.2/external/bart/utests/test_streams.c +396 -0
  1138. bartorch-0.0.2/external/bart/utests/test_tree.c +97 -0
  1139. bartorch-0.0.2/external/bart/utests/test_tsegf.c +174 -0
  1140. bartorch-0.0.2/external/bart/utests/test_types.c +71 -0
  1141. bartorch-0.0.2/external/bart/utests/test_window.c +89 -0
  1142. bartorch-0.0.2/external/bart/utests/utest.c +123 -0
  1143. bartorch-0.0.2/external/bart/utests/utest.h +56 -0
  1144. bartorch-0.0.2/external/bart/utests/utests-collect.sh +7 -0
  1145. bartorch-0.0.2/external/bart/utests/utests.ld +13 -0
  1146. bartorch-0.0.2/external/bart/utests/utests_gpu-collect.sh +7 -0
  1147. bartorch-0.0.2/external/bart/utests/utests_run.sh +26 -0
  1148. bartorch-0.0.2/external/bart/version.txt +1 -0
  1149. bartorch-0.0.2/external/bart/web/serve.py +32 -0
  1150. bartorch-0.0.2/external/bart/web/wwwroot/bart_base.js +105 -0
  1151. bartorch-0.0.2/external/bart/web/wwwroot/bart_worker.js +180 -0
  1152. bartorch-0.0.2/external/bart/web/wwwroot/cmd.html +134 -0
  1153. bartorch-0.0.2/external/bart/web/wwwroot/cmd.js +250 -0
  1154. bartorch-0.0.2/external/bart/web/wwwroot/index.html +62 -0
  1155. bartorch-0.0.2/external/bart/web/wwwroot/test.js +455 -0
  1156. bartorch-0.0.2/external/bart/web/wwwroot/worker.html +13 -0
  1157. bartorch-0.0.2/external/blocksruntime/Block.h +59 -0
  1158. bartorch-0.0.2/external/blocksruntime/Block_private.h +179 -0
  1159. bartorch-0.0.2/external/blocksruntime/LICENSE.TXT +76 -0
  1160. bartorch-0.0.2/external/blocksruntime/config.h +8 -0
  1161. bartorch-0.0.2/external/blocksruntime/data.c +41 -0
  1162. bartorch-0.0.2/external/blocksruntime/runtime.c +700 -0
  1163. bartorch-0.0.2/external/pocketfft/LICENSE.md +25 -0
  1164. bartorch-0.0.2/external/pocketfft/pocketfft_hdronly.h +3853 -0
  1165. bartorch-0.0.2/pyproject.toml +122 -0
  1166. bartorch-0.0.2/scripts/build_docs.sh +107 -0
  1167. bartorch-0.0.2/scripts/check_device.py +255 -0
  1168. bartorch-0.0.2/scripts/gen_abi.py +263 -0
  1169. bartorch-0.0.2/scripts/gen_catalogue.py +538 -0
  1170. bartorch-0.0.2/scripts/lint.sh +37 -0
  1171. bartorch-0.0.2/scripts/run_tests.sh +100 -0
  1172. bartorch-0.0.2/scripts/sources.py +88 -0
  1173. bartorch-0.0.2/setup.py +5 -0
  1174. bartorch-0.0.2/src/bartorch/__init__.py +61 -0
  1175. bartorch-0.0.2/src/bartorch/_abi.py +588 -0
  1176. bartorch-0.0.2/src/bartorch/_backend.py +245 -0
  1177. bartorch-0.0.2/src/bartorch/_buffer.py +76 -0
  1178. bartorch-0.0.2/src/bartorch/_call.py +379 -0
  1179. bartorch-0.0.2/src/bartorch/_catalogue.py +3708 -0
  1180. bartorch-0.0.2/src/bartorch/_coverage.py +138 -0
  1181. bartorch-0.0.2/src/bartorch/_cuda.py +102 -0
  1182. bartorch-0.0.2/src/bartorch/_deepinv.py +105 -0
  1183. bartorch-0.0.2/src/bartorch/_dispatch.py +480 -0
  1184. bartorch-0.0.2/src/bartorch/_finufft.py +614 -0
  1185. bartorch-0.0.2/src/bartorch/_flags.py +88 -0
  1186. bartorch-0.0.2/src/bartorch/_lib.py +82 -0
  1187. bartorch-0.0.2/src/bartorch/_marshal.py +120 -0
  1188. bartorch-0.0.2/src/bartorch/_operator.py +225 -0
  1189. bartorch-0.0.2/src/bartorch/_options.py +165 -0
  1190. bartorch-0.0.2/src/bartorch/_settings.py +69 -0
  1191. bartorch-0.0.2/src/bartorch/fourier.py +154 -0
  1192. bartorch-0.0.2/src/bartorch/interp.py +342 -0
  1193. bartorch-0.0.2/src/bartorch/io.py +51 -0
  1194. bartorch-0.0.2/src/bartorch/linop/__init__.py +22 -0
  1195. bartorch-0.0.2/src/bartorch/linop/autograd.py +57 -0
  1196. bartorch-0.0.2/src/bartorch/linop/base.py +227 -0
  1197. bartorch-0.0.2/src/bartorch/linop/basic.py +219 -0
  1198. bartorch-0.0.2/src/bartorch/linop/nufft.py +107 -0
  1199. bartorch-0.0.2/src/bartorch/linop/sense.py +190 -0
  1200. bartorch-0.0.2/src/bartorch/metrics.py +141 -0
  1201. bartorch-0.0.2/src/bartorch/nlop/__init__.py +8 -0
  1202. bartorch-0.0.2/src/bartorch/nlop/autograd.py +34 -0
  1203. bartorch-0.0.2/src/bartorch/nlop/base.py +140 -0
  1204. bartorch-0.0.2/src/bartorch/nlop/callback.py +113 -0
  1205. bartorch-0.0.2/src/bartorch/optim/__init__.py +23 -0
  1206. bartorch-0.0.2/src/bartorch/optim/linear.py +424 -0
  1207. bartorch-0.0.2/src/bartorch/optim/nonlinear.py +106 -0
  1208. bartorch-0.0.2/src/bartorch/optim/scaling.py +81 -0
  1209. bartorch-0.0.2/src/bartorch/prox/__init__.py +49 -0
  1210. bartorch-0.0.2/src/bartorch/prox/base.py +192 -0
  1211. bartorch-0.0.2/src/bartorch/prox/denoise.py +155 -0
  1212. bartorch-0.0.2/src/bartorch/prox/terms.py +325 -0
  1213. bartorch-0.0.2/src/bartorch/registration.py +222 -0
  1214. bartorch-0.0.2/src/bartorch/thresh.py +48 -0
  1215. bartorch-0.0.2/src/bartorch/tools/__init__.py +15 -0
  1216. bartorch-0.0.2/src/bartorch/tools/calib.py +127 -0
  1217. bartorch-0.0.2/src/bartorch/tools/recon.py +263 -0
  1218. bartorch-0.0.2/src/bartorch/tools/sampling.py +90 -0
  1219. bartorch-0.0.2/src/bartorch/tools/simulate.py +102 -0
  1220. bartorch-0.0.2/src/bartorch/util.py +342 -0
  1221. bartorch-0.0.2/src/bartorch/wavelet.py +172 -0
  1222. bartorch-0.0.2/src/csrc/abi/api.c +234 -0
  1223. bartorch-0.0.2/src/csrc/abi/cuda.c +585 -0
  1224. bartorch-0.0.2/src/csrc/abi/host_reads.c +79 -0
  1225. bartorch-0.0.2/src/csrc/abi/memcfl.c +349 -0
  1226. bartorch-0.0.2/src/csrc/compat/cblas.h +32 -0
  1227. bartorch-0.0.2/src/csrc/compat/fftw3.h +38 -0
  1228. bartorch-0.0.2/src/csrc/compat/lapacke.h +47 -0
  1229. bartorch-0.0.2/src/csrc/include/bartorch.h +417 -0
  1230. bartorch-0.0.2/src/csrc/ops/coset.cuh +112 -0
  1231. bartorch-0.0.2/src/csrc/ops/fft_callbacks.cu +249 -0
  1232. bartorch-0.0.2/src/csrc/ops/fft_callbacks_lto.cu +73 -0
  1233. bartorch-0.0.2/src/csrc/ops/iter.c +338 -0
  1234. bartorch-0.0.2/src/csrc/ops/kernels.cu +290 -0
  1235. bartorch-0.0.2/src/csrc/ops/ops.c +654 -0
  1236. bartorch-0.0.2/src/csrc/ops/paired.cu +660 -0
  1237. bartorch-0.0.2/src/csrc/ops/sense.c +1042 -0
  1238. bartorch-0.0.2/src/csrc/substitute/backend.c +75 -0
  1239. bartorch-0.0.2/src/csrc/substitute/backend.h +70 -0
  1240. bartorch-0.0.2/src/csrc/substitute/cblas_shim.c +116 -0
  1241. bartorch-0.0.2/src/csrc/substitute/fft.cpp +381 -0
  1242. bartorch-0.0.2/src/csrc/substitute/finufft.c +289 -0
  1243. bartorch-0.0.2/src/csrc/substitute/lapacke_shim.c +410 -0
  1244. bartorch-0.0.2/src/csrc/substitute/nufft_finufft.c +3083 -0
  1245. bartorch-0.0.2/src/csrc/substitute/psf.c +534 -0
  1246. bartorch-0.0.2/src/csrc/substitute/ref_blas.c +215 -0
  1247. bartorch-0.0.2/tests/__init__.py +0 -0
  1248. bartorch-0.0.2/tests/conftest.py +21 -0
  1249. bartorch-0.0.2/tests/test_abi.py +106 -0
  1250. bartorch-0.0.2/tests/test_build.py +51 -0
  1251. bartorch-0.0.2/tests/test_catalogue.py +195 -0
  1252. bartorch-0.0.2/tests/test_cfl.py +48 -0
  1253. bartorch-0.0.2/tests/test_core.py +227 -0
  1254. bartorch-0.0.2/tests/test_cuda.py +166 -0
  1255. bartorch-0.0.2/tests/test_denoise.py +127 -0
  1256. bartorch-0.0.2/tests/test_dependencies.py +105 -0
  1257. bartorch-0.0.2/tests/test_docs.py +51 -0
  1258. bartorch-0.0.2/tests/test_fft.py +126 -0
  1259. bartorch-0.0.2/tests/test_finufft.py +1873 -0
  1260. bartorch-0.0.2/tests/test_flags.py +156 -0
  1261. bartorch-0.0.2/tests/test_interp.py +231 -0
  1262. bartorch-0.0.2/tests/test_linop.py +309 -0
  1263. bartorch-0.0.2/tests/test_ops.py +185 -0
  1264. bartorch-0.0.2/tests/test_options.py +121 -0
  1265. bartorch-0.0.2/tests/test_recon.py +84 -0
  1266. bartorch-0.0.2/tests/test_registration_metrics.py +224 -0
  1267. bartorch-0.0.2/tests/test_sense.py +407 -0
  1268. bartorch-0.0.2/tests/test_solve.py +438 -0
  1269. bartorch-0.0.2/tests/test_tools.py +276 -0
  1270. bartorch-0.0.2/tests/test_util.py +248 -0
  1271. bartorch-0.0.2/tests/test_wavelet_thresh.py +144 -0
@@ -0,0 +1,34 @@
1
+ name: "Copilot Setup Steps"
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ paths:
7
+ - .github/workflows/copilot-setup-steps.yml
8
+ pull_request:
9
+ paths:
10
+ - .github/workflows/copilot-setup-steps.yml
11
+
12
+ jobs:
13
+ copilot-setup-steps:
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ contents: read
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ with:
20
+ submodules: recursive
21
+
22
+ - name: Install compiler and CMake
23
+ run: sudo apt-get install -y cmake clang
24
+
25
+ - name: Install torch (CPU) and the build backend
26
+ run: |
27
+ pip install scikit-build-core setuptools-scm numpy pytest scipy ruff
28
+ pip install torch --index-url https://download.pytorch.org/whl/cpu
29
+
30
+ - name: Build and install bartorch
31
+ env:
32
+ CC: clang
33
+ CXX: clang++
34
+ run: pip install -e . --no-build-isolation
@@ -0,0 +1,88 @@
1
+ name: Docs
2
+
3
+ # Builds the reference on every pull request, and publishes it to GitHub Pages
4
+ # from `main`. Both use the same `./scripts/build_docs.sh` a contributor runs,
5
+ # so a page that renders here rendered for them too.
6
+ #
7
+ # One-time setup: Settings -> Pages -> Source: "GitHub Actions". Nothing else;
8
+ # the deploy job below carries its own permissions and environment.
9
+
10
+ on:
11
+ push:
12
+ branches: [main]
13
+ paths:
14
+ - "docs/**"
15
+ - "src/**"
16
+ - "*.md"
17
+ - "*.rst"
18
+ pull_request:
19
+ branches: [main]
20
+ paths:
21
+ - "docs/**"
22
+ - "src/**"
23
+
24
+ env:
25
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
26
+
27
+ jobs:
28
+ # -------------------------------------------------------------------------
29
+ # Job 1: validate that the docs build (runs on every PR and push)
30
+ # Nothing is compiled: docs/conf.py extracts the reference from the checkout
31
+ # rather than from an installed package, and the gallery is rendered without
32
+ # being executed unless BARTORCH_DOCS_EXECUTE says otherwise. This is what
33
+ # ./scripts/build_docs.sh runs locally.
34
+ # -------------------------------------------------------------------------
35
+ build-docs:
36
+ name: Build Sphinx docs
37
+ runs-on: ubuntu-latest
38
+
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+ with:
42
+ # For `docs/misc/license.rst`, which includes BART's own.
43
+ submodules: recursive
44
+
45
+ - uses: actions/setup-python@v5
46
+ with:
47
+ python-version: "3.11"
48
+ cache: pip
49
+
50
+ - name: Install the documentation requirements
51
+ run: pip install -r docs/requirements.txt
52
+
53
+ - name: Build Sphinx HTML
54
+ run: ./scripts/build_docs.sh
55
+
56
+ - name: Upload docs artifact
57
+ uses: actions/upload-artifact@v4
58
+ if: always()
59
+ with:
60
+ name: sphinx-html
61
+ path: docs/_build/html/
62
+ retention-days: 7
63
+
64
+ # The same HTML again, in the layout Pages deploys from. Uploaded on
65
+ # pull requests too, so that a change which breaks the packaging step
66
+ # says so on the pull request rather than on main.
67
+ - name: Package the site for Pages
68
+ uses: actions/upload-pages-artifact@v3
69
+ with:
70
+ path: docs/_build/html/
71
+
72
+ # Only from `main`, and only on a push: a pull request builds the site and
73
+ # says whether it would deploy, but does not publish it.
74
+ deploy:
75
+ name: Publish to GitHub Pages
76
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
77
+ needs: build-docs
78
+ runs-on: ubuntu-latest
79
+ permissions:
80
+ pages: write
81
+ id-token: write
82
+ environment:
83
+ name: github-pages
84
+ url: ${{ steps.deployment.outputs.page_url }}
85
+ steps:
86
+ - name: Deploy
87
+ id: deployment
88
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,26 @@
1
+ name: Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
11
+
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.11"
21
+
22
+ - name: Install ruff
23
+ run: pip install ruff
24
+
25
+ - name: Ruff
26
+ run: ./scripts/lint.sh
@@ -0,0 +1,241 @@
1
+ name: Publish to PyPI
2
+
3
+ # Wheels carry a Python-independent C library, so one wheel per platform
4
+ # serves every interpreter and every torch version. They are built with
5
+ # cibuildwheel from a pure-Python "py3" target and published through PyPI's
6
+ # trusted publisher on a version tag.
7
+ #
8
+ # One-time setup on PyPI: add a trusted publisher for owner mcencini,
9
+ # repository bartorch, workflow publish.yml, environment pypi, and create the
10
+ # "pypi" environment in this repository's settings.
11
+
12
+ on:
13
+ push:
14
+ tags:
15
+ - "v*"
16
+ # A tag is the one thing that cannot be taken back: the version it builds
17
+ # can never be reused on PyPI, and nothing else in the repository runs this
18
+ # file, so every defect in it waits until a release to appear. Running it
19
+ # by hand builds, repairs and tests every wheel exactly as a tag would;
20
+ # what it does not do is publish, because the two jobs that hand anything
21
+ # over ask for a tag ref and a branch is not one.
22
+ workflow_dispatch:
23
+
24
+ jobs:
25
+ sdist:
26
+ name: Build source distribution
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ with:
31
+ submodules: recursive
32
+ # setuptools-scm reads the version from the tag history.
33
+ fetch-depth: 0
34
+ - uses: actions/setup-python@v5
35
+ with:
36
+ python-version: "3.12"
37
+ - run: pip install build
38
+ - run: python -m build --sdist
39
+ - uses: actions/upload-artifact@v4
40
+ with:
41
+ name: sdist
42
+ path: dist/*.tar.gz
43
+
44
+ wheels:
45
+ name: Build wheels (${{ matrix.os }})
46
+ runs-on: ${{ matrix.os }}
47
+ strategy:
48
+ fail-fast: false
49
+ matrix:
50
+ # No Linux aarch64 wheel. FINUFFT computes every non-Cartesian
51
+ # transform here and ships no wheel for that platform, so a wheel
52
+ # built for it would install a bartorch that cannot do non-Cartesian
53
+ # work -- and requiring the source build instead would ask for CMake,
54
+ # ninja and a C++ compiler from someone installing a wheel. aarch64
55
+ # is served by the sdist, where that toolchain is already the price of
56
+ # entry.
57
+ os: [ubuntu-latest, macos-latest]
58
+ steps:
59
+ - uses: actions/checkout@v4
60
+ with:
61
+ submodules: recursive
62
+ # setuptools-scm reads the version from the tag history.
63
+ fetch-depth: 0
64
+ - uses: pypa/cibuildwheel@v2.23
65
+ env:
66
+ # One build per platform: the wheel is tagged py3 and carries no
67
+ # interpreter, so building it once per Python would only produce the
68
+ # same file under the same name. What the interpreters get is the
69
+ # test matrix below.
70
+ CIBW_BUILD: "cp312-*"
71
+ CIBW_SKIP: "*-musllinux_*"
72
+ # cibuildwheel's Linux default is auto64 *and* auto32, so an x86_64
73
+ # runner also builds a 32-bit i686 wheel -- in the i686 image, which
74
+ # is still manylinux2014 and its GCC 10. Nobody could install that
75
+ # wheel in any case: torch publishes no i686 build, and it is a hard
76
+ # dependency here.
77
+ CIBW_ARCHS_LINUX: x86_64
78
+ # BART's nested functions need heap trampolines -- GCC 14 -- or
79
+ # clang's Blocks. cibuildwheel's default Linux image has neither:
80
+ # manylinux2014 is CentOS 7, whose GCC is 10 and whose `clang` is
81
+ # 3.4.2, so old that it cannot link a hello world against the
82
+ # devtoolset runtime it is installed beside. manylinux_2_28 is the
83
+ # image the CUDA wheel below already builds in, and its default cc
84
+ # is GCC 14.2.1: nothing to install, and no compiler to override.
85
+ # The floor it sets, glibc 2.28, is the one torch and FINUFFT
86
+ # already ship their own Linux wheels against.
87
+ CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
88
+ # FINUFFT is a dependency, so installing the wheel brings it and the
89
+ # non-Cartesian tests run.
90
+ CIBW_TEST_REQUIRES: pytest numpy scipy
91
+ CIBW_TEST_COMMAND: pip install torch --index-url https://download.pytorch.org/whl/cpu && pytest {project}/tests -q
92
+ - uses: actions/upload-artifact@v4
93
+ with:
94
+ name: wheels-${{ matrix.os }}
95
+ path: wheelhouse/*.whl
96
+
97
+ # The wheel carries no interpreter, so what has to be checked across Python
98
+ # versions is that the package drives it: ctypes signatures, the torch and
99
+ # numpy APIs it uses, and the tools' generated wrappers.
100
+ test-wheels:
101
+ name: Test ${{ matrix.os }} on Python ${{ matrix.python }}
102
+ needs: [wheels]
103
+ runs-on: ${{ matrix.os }}
104
+ strategy:
105
+ fail-fast: false
106
+ matrix:
107
+ os: [ubuntu-latest, macos-latest]
108
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
109
+ steps:
110
+ - uses: actions/checkout@v4
111
+ - uses: actions/setup-python@v5
112
+ with:
113
+ python-version: ${{ matrix.python }}
114
+ - uses: actions/download-artifact@v4
115
+ with:
116
+ name: wheels-${{ matrix.os }}
117
+ path: wheelhouse
118
+ - shell: bash
119
+ run: |
120
+ python -m pip install --upgrade pip
121
+ pip install torch --index-url https://download.pytorch.org/whl/cpu \
122
+ --extra-index-url https://pypi.org/simple
123
+ pip install pytest numpy scipy wheelhouse/*.whl
124
+ pytest tests -q
125
+
126
+ # A CUDA wheel carries BART's device code and links the runtime libraries
127
+ # dynamically, so it stays a few megabytes rather than bundling cuFFT and
128
+ # cuBLAS. It has the same name, version and platform tag as the CPU wheel,
129
+ # which PyPI cannot hold twice, so it goes to the release instead:
130
+ #
131
+ # pip install https://github.com/mcencini/bartorch/releases/download/<tag>/<wheel>
132
+ #
133
+ # The runners have no card, so this proves the wheel loads and reports the
134
+ # absence of one; scripts/check_device.py is what a machine with a card runs.
135
+ wheels-cuda:
136
+ name: Build CUDA wheel (linux x86_64)
137
+ runs-on: ubuntu-latest
138
+ container:
139
+ image: quay.io/pypa/manylinux_2_28_x86_64
140
+ steps:
141
+ - uses: actions/checkout@v4
142
+ with:
143
+ submodules: recursive
144
+ # setuptools-scm reads the version from the tag history.
145
+ fetch-depth: 0
146
+ - name: Install the CUDA toolkit
147
+ run: |
148
+ dnf install -y dnf-plugins-core
149
+ dnf config-manager --add-repo \
150
+ https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
151
+ dnf install -y --nogpgcheck cuda-nvcc-12-8 cuda-cudart-devel-12-8 \
152
+ libcufft-devel-12-8 libcublas-devel-12-8
153
+ echo /usr/local/cuda-12.8/bin >> $GITHUB_PATH
154
+ echo /opt/python/cp312-cp312/bin >> $GITHUB_PATH
155
+ # BART needs GCC 14 for -ftrampoline-impl=heap, or clang 16+ for Blocks;
156
+ # the manylinux image's default toolchain is checked at configure time
157
+ # and the build fails loudly if it is older.
158
+ # The pair kernels are cuFFTDx, whose headers come with MathDx: only the
159
+ # build reads them, and the wheel carries what they compile to, so a
160
+ # machine running it needs the driver and nothing else. The sizes they
161
+ # are compiled for are BARTORCH_PAIRED_SIZES's default (CMakeLists.txt).
162
+ - name: Fetch MathDx
163
+ run: |
164
+ python -m pip install nvidia-mathdx==25.6.0
165
+ echo "MATHDX_DIR=$(python -c 'import os, sysconfig; print(os.path.join(sysconfig.get_paths()["purelib"], "nvidia", "mathdx"))')" >> $GITHUB_ENV
166
+ - name: Build the wheel
167
+ env:
168
+ CUDACXX: /usr/local/cuda-12.8/bin/nvcc
169
+ run: |
170
+ cc --version
171
+ python -m pip install build
172
+ python -m build --wheel --outdir dist/ \
173
+ -C cmake.define.BARTORCH_CUDA=ON \
174
+ -C "cmake.define.BARTORCH_MATHDX_DIR=$MATHDX_DIR"
175
+ # The CUDA runtimes are excluded rather than vendored: torch already
176
+ # brings them, and bundling them would add hundreds of megabytes.
177
+ - name: Repair to a manylinux tag
178
+ run: |
179
+ /opt/python/cp312-cp312/bin/python -m pip install auditwheel
180
+ LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64 \
181
+ /opt/python/cp312-cp312/bin/python -m auditwheel repair dist/*.whl \
182
+ -w wheelhouse/ --plat manylinux_2_28_x86_64 \
183
+ --exclude libcudart.so.12 --exclude libcufft.so.11 \
184
+ --exclude libcublas.so.12 --exclude libcublasLt.so.12
185
+ - name: Check that it loads without a card
186
+ run: |
187
+ /opt/python/cp312-cp312/bin/python -m pip install wheelhouse/*.whl \
188
+ torch --index-url https://download.pytorch.org/whl/cpu \
189
+ --extra-index-url https://pypi.org/simple
190
+ /opt/python/cp312-cp312/bin/python -c "
191
+ import bartorch
192
+ from bartorch import _cuda
193
+ info = bartorch.build_info()
194
+ print(info)
195
+ assert 'cuda=ON' in info, info
196
+ print('devices:', _cuda.device_count())
197
+ "
198
+ - uses: actions/upload-artifact@v4
199
+ with:
200
+ name: cuda-wheel
201
+ path: wheelhouse/*.whl
202
+
203
+ publish:
204
+ name: Publish to PyPI
205
+ runs-on: ubuntu-latest
206
+ needs: [sdist, wheels, test-wheels]
207
+ if: startsWith(github.ref, 'refs/tags/v')
208
+ environment:
209
+ name: pypi
210
+ url: https://pypi.org/p/bartorch
211
+ permissions:
212
+ id-token: write
213
+ steps:
214
+ - uses: actions/download-artifact@v4
215
+ with:
216
+ name: sdist
217
+ path: dist
218
+ - uses: actions/download-artifact@v4
219
+ with:
220
+ pattern: wheels-*
221
+ path: dist
222
+ merge-multiple: true
223
+ - uses: pypa/gh-action-pypi-publish@release/v1
224
+
225
+ # The CUDA wheel cannot go to PyPI beside the CPU one, so it is attached to
226
+ # the release the tag made.
227
+ release-cuda:
228
+ name: Attach the CUDA wheel to the release
229
+ runs-on: ubuntu-latest
230
+ needs: [wheels-cuda]
231
+ if: startsWith(github.ref, 'refs/tags/v')
232
+ permissions:
233
+ contents: write
234
+ steps:
235
+ - uses: actions/download-artifact@v4
236
+ with:
237
+ name: cuda-wheel
238
+ path: wheelhouse
239
+ - uses: softprops/action-gh-release@v2
240
+ with:
241
+ files: wheelhouse/*.whl
@@ -0,0 +1,138 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
11
+
12
+ jobs:
13
+ # libbartorch is a clang build: BART's nested functions become Blocks.
14
+ tests:
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ include:
19
+ - os: ubuntu-latest
20
+ python-version: "3.10"
21
+ cc: clang
22
+ - os: ubuntu-latest
23
+ python-version: "3.12"
24
+ cc: clang
25
+ - os: ubuntu-latest
26
+ python-version: "3.12"
27
+ cc: gcc-14
28
+ extras: "[mkl,deepinv]"
29
+ - os: macos-latest
30
+ python-version: "3.12"
31
+ cc: clang
32
+ runs-on: ${{ matrix.os }}
33
+
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ with:
37
+ submodules: recursive
38
+ # setuptools-scm reads the version from the tag history.
39
+ fetch-depth: 0
40
+
41
+ - uses: actions/setup-python@v5
42
+ with:
43
+ python-version: ${{ matrix.python-version }}
44
+ cache: pip
45
+
46
+ - name: Install compiler, OpenMP and CMake (Linux)
47
+ if: runner.os == 'Linux'
48
+ run: sudo apt-get install -y cmake ${{ matrix.cc }} libomp-dev
49
+
50
+ - name: Install CMake (macOS)
51
+ if: runner.os == 'macOS'
52
+ run: brew install cmake
53
+
54
+ - name: Install torch (CPU) and the build backend
55
+ run: |
56
+ pip install scikit-build-core setuptools-scm numpy scipy pytest
57
+ pip install torch --index-url https://download.pytorch.org/whl/cpu
58
+
59
+ # deepinv pulls in torchvision, whose compiled operators are built
60
+ # against one particular torch. Left to PyPI it takes the default
61
+ # build while torch here is the CPU one, and the mismatch shows up as
62
+ # `operator torchvision::nms does not exist` the moment deepinv is
63
+ # imported. Taking it from the same index makes the pair agree.
64
+ # Linux only: that index publishes no macOS wheel, and no macOS entry
65
+ # in the matrix asks for the deepinv extra.
66
+ - name: Install torchvision from the same index as torch
67
+ if: runner.os == 'Linux' && contains(matrix.extras, 'deepinv')
68
+ run: pip install torchvision --index-url https://download.pytorch.org/whl/cpu
69
+
70
+ - name: Build and install bartorch
71
+ env:
72
+ CC: ${{ matrix.cc }}
73
+ CXX: ${{ matrix.cc == 'gcc-14' && 'g++-14' || 'clang++' }}
74
+ run: pip install -e ".${{ matrix.extras }}" --no-build-isolation -v
75
+
76
+ # Before the suite, because the suite is where the information goes
77
+ # missing: bringing the library up is what installs the FINUFFT
78
+ # substitution, and that probes itself by running `bart nufft` both
79
+ # ways. When that aborts -- as it does on macOS -- pytest has stdout
80
+ # and stderr captured for collection and the process dies with the
81
+ # reason unprinted. Run it once with the log going straight to the
82
+ # console, so a failure says what it was.
83
+ - name: Report what the library came up with
84
+ run: |
85
+ python - <<'EOF'
86
+ import logging, traceback
87
+ logging.basicConfig(level=logging.DEBUG, format="%(name)s: %(message)s")
88
+ import bartorch
89
+ print("build:", bartorch.build_info())
90
+ print("backends:", bartorch.backend_sources())
91
+ try:
92
+ from bartorch import _finufft
93
+ print("finufft available:", _finufft.available())
94
+ print("finufft in tools:", _finufft.used_in_tools())
95
+ except Exception:
96
+ # A diagnostic must not be able to fail the thing it is
97
+ # diagnosing. An abort still ends the job, which is the point;
98
+ # a name that moved should not.
99
+ traceback.print_exc()
100
+ EOF
101
+
102
+ - name: Run the test suite
103
+ run: pytest tests/ -v
104
+
105
+ # The runners have no GPU, so the CUDA build is checked as far as a machine
106
+ # without a card allows: it compiles, links, loads, and runs the host suite.
107
+ cuda-build:
108
+ runs-on: ubuntu-latest
109
+ steps:
110
+ - uses: actions/checkout@v4
111
+ with:
112
+ submodules: recursive
113
+ # setuptools-scm reads the version from the tag history.
114
+ fetch-depth: 0
115
+
116
+ - uses: actions/setup-python@v5
117
+ with:
118
+ python-version: "3.12"
119
+ cache: pip
120
+
121
+ - name: Install the CUDA toolkit, clang and OpenMP
122
+ run: sudo apt-get update -qq && sudo apt-get install -y --no-install-recommends cmake clang libomp-dev nvidia-cuda-toolkit
123
+
124
+ - name: Install torch (CPU) and the build backend
125
+ run: |
126
+ pip install scikit-build-core setuptools-scm numpy scipy pytest
127
+ pip install torch --index-url https://download.pytorch.org/whl/cpu
128
+
129
+ - name: Build with BART's CUDA kernels
130
+ env:
131
+ CC: clang
132
+ CXX: clang++
133
+ run: pip install -e . --no-build-isolation --config-settings=cmake.define.BARTORCH_CUDA=ON
134
+
135
+ - name: The CUDA build must report its device code and run on the host
136
+ run: |
137
+ python -c "import bartorch; assert 'cuda=ON' in bartorch.build_info()"
138
+ pytest tests/ -v
@@ -0,0 +1,30 @@
1
+ name: Typos
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
11
+
12
+ jobs:
13
+ typos:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - name: Install codespell
19
+ run: pip install codespell
20
+
21
+ - name: Run codespell
22
+ # The skips need the `./` codespell prints, or they match nothing:
23
+ # `external/` did not exclude `./external/bart`, which is why this
24
+ # check had never passed. `nd` and `optin` are identifiers rather
25
+ # than typos -- BART writes `int ND` for a doubled dimension count,
26
+ # and CUDA spells its own attribute
27
+ # `cudaDevAttrMaxSharedMemoryPerBlockOptin`. `build` and
28
+ # `docs/_build` are outputs a fresh checkout does not have and a
29
+ # local run does.
30
+ run: codespell --skip="./attic,./external,./.git,./build,./docs/_build,*.ipynb,pyproject.toml" --ignore-words-list=ist,te,reconet,pyramide,nd,optin,lamda
@@ -0,0 +1,45 @@
1
+ __pycache__
2
+ */__pycache__
3
+ .pytest_cache/
4
+ .ruff_cache/
5
+ dist/
6
+ bartpy.egg-info/
7
+ bartorch.egg-info/
8
+ .vscode/
9
+
10
+ # Build trees. A named one -- build-cpu, build-cuda -- is how two
11
+ # configurations are kept side by side; build_tools/ is source and is not one.
12
+ build/
13
+ build-*/
14
+ _skbuild/
15
+ .venv/
16
+
17
+ # Compiled output
18
+ *.so
19
+ *.so.*
20
+ *.dylib
21
+ *.dll
22
+ *.pyd
23
+ *.o
24
+ *.a
25
+ *.obj
26
+ *.lib
27
+
28
+ # CFL data files
29
+ *.cfl
30
+ *.hdr
31
+
32
+ # CMake build artifacts
33
+ bartorch/csrc/build/
34
+ CMakeCache.txt
35
+ CMakeFiles/
36
+ cmake_install.cmake
37
+ Makefile
38
+
39
+ # Docs build
40
+ docs/_build/
41
+ docs/_templates/
42
+
43
+ # Attic / legacy demos
44
+ attic/demos/.ipynb_checkpoints/
45
+ **/.DS_Store
@@ -0,0 +1,9 @@
1
+ [submodule "bart"]
2
+ path = external/bart
3
+ # Canonical upstream: https://codeberg.org/mrirecon/bart.git
4
+ # The GitHub mirror (https://github.com/mrirecon/bart) is used here
5
+ # because Codeberg may not be reachable in all CI/CD environments.
6
+ # To switch to Codeberg, run:
7
+ # git config submodule.bart.url https://codeberg.org/mrirecon/bart.git
8
+ # git submodule update --remote
9
+ url = https://github.com/mrirecon/bart.git
@@ -0,0 +1,20 @@
1
+ repos:
2
+ - repo: https://github.com/kynan/nbstripout
3
+ rev: 0.7.1
4
+ hooks:
5
+ - id: nbstripout
6
+
7
+ - repo: https://github.com/codespell-project/codespell
8
+ rev: v2.3.0
9
+ hooks:
10
+ - id: codespell
11
+ args:
12
+ - --skip=attic/,.git/,bart/,*.ipynb,pyproject.toml
13
+ - --ignore-words-list=ist,te,reconet,pyramide
14
+
15
+ - repo: https://github.com/astral-sh/ruff-pre-commit
16
+ rev: v0.4.4
17
+ hooks:
18
+ - id: ruff
19
+ args: [--fix]
20
+ - id: ruff-format