larmor-dmri 1.0.0__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.
Potentially problematic release.
This version of larmor-dmri might be problematic. Click here for more details.
- larmor_dmri-1.0.0/.gitattributes +17 -0
- larmor_dmri-1.0.0/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- larmor_dmri-1.0.0/.github/ISSUE_TEMPLATE/config.yml +2 -0
- larmor_dmri-1.0.0/.github/ISSUE_TEMPLATE/feature_request.md +30 -0
- larmor_dmri-1.0.0/.github/pull_request_template.md +36 -0
- larmor_dmri-1.0.0/.github/workflows/ci.yml +218 -0
- larmor_dmri-1.0.0/.github/workflows/docs.yml +153 -0
- larmor_dmri-1.0.0/.github/workflows/wheels.yml +102 -0
- larmor_dmri-1.0.0/.gitignore +67 -0
- larmor_dmri-1.0.0/CITATION.cff +29 -0
- larmor_dmri-1.0.0/CODE_OF_CONDUCT.md +132 -0
- larmor_dmri-1.0.0/CONTRIBUTING.md +20 -0
- larmor_dmri-1.0.0/COPYING +674 -0
- larmor_dmri-1.0.0/COPYING.LESSER +165 -0
- larmor_dmri-1.0.0/NOTICE +67 -0
- larmor_dmri-1.0.0/PKG-INFO +125 -0
- larmor_dmri-1.0.0/README.md +80 -0
- larmor_dmri-1.0.0/SECURITY.md +36 -0
- larmor_dmri-1.0.0/cpp/.clang-format +17 -0
- larmor_dmri-1.0.0/cpp/.clang-tidy +54 -0
- larmor_dmri-1.0.0/cpp/CMakeLists.txt +160 -0
- larmor_dmri-1.0.0/cpp/CMakePresets.json +51 -0
- larmor_dmri-1.0.0/cpp/cmake/blas.cmake +29 -0
- larmor_dmri-1.0.0/cpp/cmake/third_party.cmake +13 -0
- larmor_dmri-1.0.0/cpp/cmake/vendor.cmake +25 -0
- larmor_dmri-1.0.0/cpp/src/common/CMakeLists.txt +4 -0
- larmor_dmri-1.0.0/cpp/src/common/blas.cpp +32 -0
- larmor_dmri-1.0.0/cpp/src/common/blas.hpp +29 -0
- larmor_dmri-1.0.0/cpp/src/common/maths.cpp +32 -0
- larmor_dmri-1.0.0/cpp/src/common/maths.hpp +36 -0
- larmor_dmri-1.0.0/cpp/src/common/parallel.hpp +105 -0
- larmor_dmri-1.0.0/cpp/src/common/types.hpp +29 -0
- larmor_dmri-1.0.0/cpp/src/dwi/CMakeLists.txt +6 -0
- larmor_dmri-1.0.0/cpp/src/dwi/gibbs.cpp +205 -0
- larmor_dmri-1.0.0/cpp/src/dwi/gibbs.hpp +114 -0
- larmor_dmri-1.0.0/cpp/src/dwi/log_fit.cpp +184 -0
- larmor_dmri-1.0.0/cpp/src/dwi/log_fit.hpp +96 -0
- larmor_dmri-1.0.0/cpp/src/dwi/mppca.cpp +122 -0
- larmor_dmri-1.0.0/cpp/src/dwi/mppca.hpp +97 -0
- larmor_dmri-1.0.0/cpp/src/python/CMakeLists.txt +18 -0
- larmor_dmri-1.0.0/cpp/src/python/arrays.hpp +192 -0
- larmor_dmri-1.0.0/cpp/src/python/bindings.hpp +26 -0
- larmor_dmri-1.0.0/cpp/src/python/dwi.cpp +262 -0
- larmor_dmri-1.0.0/cpp/src/python/module.cpp +67 -0
- larmor_dmri-1.0.0/cpp/src/python/sd.cpp +372 -0
- larmor_dmri-1.0.0/cpp/src/python/sh.cpp +230 -0
- larmor_dmri-1.0.0/cpp/src/python/streamlines.cpp +179 -0
- larmor_dmri-1.0.0/cpp/src/python/tracking.cpp +508 -0
- larmor_dmri-1.0.0/cpp/src/sd/CMakeLists.txt +9 -0
- larmor_dmri-1.0.0/cpp/src/sd/drl.cpp +101 -0
- larmor_dmri-1.0.0/cpp/src/sd/drl.hpp +40 -0
- larmor_dmri-1.0.0/cpp/src/sd/elastic_net.cpp +152 -0
- larmor_dmri-1.0.0/cpp/src/sd/elastic_net.hpp +61 -0
- larmor_dmri-1.0.0/cpp/src/sd/fractions.cpp +78 -0
- larmor_dmri-1.0.0/cpp/src/sd/fractions.hpp +79 -0
- larmor_dmri-1.0.0/cpp/src/sd/multi_tissue.cpp +102 -0
- larmor_dmri-1.0.0/cpp/src/sd/multi_tissue.hpp +48 -0
- larmor_dmri-1.0.0/cpp/src/sd/nnls.cpp +330 -0
- larmor_dmri-1.0.0/cpp/src/sd/nnls.hpp +69 -0
- larmor_dmri-1.0.0/cpp/src/sd/solver.cpp +47 -0
- larmor_dmri-1.0.0/cpp/src/sd/solver.hpp +98 -0
- larmor_dmri-1.0.0/cpp/src/sh/CMakeLists.txt +5 -0
- larmor_dmri-1.0.0/cpp/src/sh/harmonics.cpp +195 -0
- larmor_dmri-1.0.0/cpp/src/sh/harmonics.hpp +111 -0
- larmor_dmri-1.0.0/cpp/src/sh/peaks.cpp +134 -0
- larmor_dmri-1.0.0/cpp/src/sh/peaks.hpp +87 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/CMakeLists.txt +5 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/density.cpp +160 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/density.hpp +67 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/resample.cpp +372 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/resample.hpp +111 -0
- larmor_dmri-1.0.0/cpp/src/streamlines/spline.hpp +84 -0
- larmor_dmri-1.0.0/cpp/src/tracking/CMakeLists.txt +11 -0
- larmor_dmri-1.0.0/cpp/src/tracking/algorithm.cpp +18 -0
- larmor_dmri-1.0.0/cpp/src/tracking/algorithm.hpp +100 -0
- larmor_dmri-1.0.0/cpp/src/tracking/calibrate.cpp +107 -0
- larmor_dmri-1.0.0/cpp/src/tracking/calibrate.hpp +53 -0
- larmor_dmri-1.0.0/cpp/src/tracking/det.cpp +77 -0
- larmor_dmri-1.0.0/cpp/src/tracking/det.hpp +57 -0
- larmor_dmri-1.0.0/cpp/src/tracking/grid.cpp +108 -0
- larmor_dmri-1.0.0/cpp/src/tracking/grid.hpp +114 -0
- larmor_dmri-1.0.0/cpp/src/tracking/prob.cpp +98 -0
- larmor_dmri-1.0.0/cpp/src/tracking/prob.hpp +72 -0
- larmor_dmri-1.0.0/cpp/src/tracking/rng.cpp +65 -0
- larmor_dmri-1.0.0/cpp/src/tracking/rng.hpp +73 -0
- larmor_dmri-1.0.0/cpp/src/tracking/testing.cpp +41 -0
- larmor_dmri-1.0.0/cpp/src/tracking/testing.hpp +51 -0
- larmor_dmri-1.0.0/cpp/src/tracking/tracker.cpp +138 -0
- larmor_dmri-1.0.0/cpp/src/tracking/tracker.hpp +121 -0
- larmor_dmri-1.0.0/cpp/tests/CMakeLists.txt +24 -0
- larmor_dmri-1.0.0/cpp/tests/dwi/CMakeLists.txt +5 -0
- larmor_dmri-1.0.0/cpp/tests/dwi/test_gibbs.cpp +90 -0
- larmor_dmri-1.0.0/cpp/tests/dwi/test_log_fit.cpp +165 -0
- larmor_dmri-1.0.0/cpp/tests/dwi/test_mppca.cpp +94 -0
- larmor_dmri-1.0.0/cpp/tests/sd/CMakeLists.txt +6 -0
- larmor_dmri-1.0.0/cpp/tests/sd/test_drl.cpp +108 -0
- larmor_dmri-1.0.0/cpp/tests/sd/test_fractions.cpp +50 -0
- larmor_dmri-1.0.0/cpp/tests/sd/test_multi_tissue.cpp +88 -0
- larmor_dmri-1.0.0/cpp/tests/sd/test_nnls.cpp +243 -0
- larmor_dmri-1.0.0/cpp/tests/sd/toy_kernel.hpp +60 -0
- larmor_dmri-1.0.0/cpp/tests/sh/CMakeLists.txt +4 -0
- larmor_dmri-1.0.0/cpp/tests/sh/test_harmonics.cpp +217 -0
- larmor_dmri-1.0.0/cpp/tests/sh/test_peaks.cpp +196 -0
- larmor_dmri-1.0.0/cpp/tests/streamlines/CMakeLists.txt +4 -0
- larmor_dmri-1.0.0/cpp/tests/streamlines/test_density.cpp +93 -0
- larmor_dmri-1.0.0/cpp/tests/streamlines/test_resample.cpp +126 -0
- larmor_dmri-1.0.0/cpp/tests/test_blas.cpp +40 -0
- larmor_dmri-1.0.0/cpp/tests/test_main.cpp +3 -0
- larmor_dmri-1.0.0/cpp/tests/test_maths.cpp +60 -0
- larmor_dmri-1.0.0/cpp/tests/test_parallel.cpp +98 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/CMakeLists.txt +9 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_algorithm.cpp +39 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_calibrate.cpp +104 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_det.cpp +204 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_grid.cpp +131 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_prob.cpp +260 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_rng.cpp +80 -0
- larmor_dmri-1.0.0/cpp/tests/tracking/test_tracker.cpp +336 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/COPYING.APACHE +203 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/COPYING.BSD +26 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/COPYING.MINPACK +51 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/COPYING.MPL2 +373 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/COPYING.README +6 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/AccelerateSupport +52 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Cholesky +43 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/CholmodSupport +48 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Core +451 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Dense +7 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Eigen +2 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Eigenvalues +63 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Geometry +59 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Householder +31 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/IterativeLinearSolvers +52 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Jacobi +33 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/KLUSupport +43 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/LU +46 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/MetisSupport +35 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/OrderingMethods +73 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/PaStiXSupport +51 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/PardisoSupport +38 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/QR +48 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/QtAlignedMalloc +32 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SPQRSupport +41 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SVD +56 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Sparse +33 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SparseCholesky +40 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SparseCore +70 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SparseLU +50 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SparseQR +38 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/StdDeque +30 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/StdList +29 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/StdVector +30 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/SuperLUSupport +70 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/ThreadPool +80 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/UmfPackSupport +42 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/Version +14 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Cholesky/LDLT.h +649 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Cholesky/LLT.h +514 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Cholesky/LLT_LAPACKE.h +124 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/CholmodSupport/CholmodSupport.h +738 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ArithmeticSequence.h +239 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Array.h +376 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ArrayBase.h +213 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ArrayWrapper.h +165 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Assign.h +80 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/AssignEvaluator.h +1057 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Assign_MKL.h +183 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/BandMatrix.h +338 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Block.h +429 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CommaInitializer.h +149 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ConditionEstimator.h +173 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CoreEvaluators.h +2018 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CoreIterators.h +141 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CwiseBinaryOp.h +166 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CwiseNullaryOp.h +975 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CwiseTernaryOp.h +171 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CwiseUnaryOp.h +91 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/CwiseUnaryView.h +167 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DenseBase.h +673 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DenseCoeffsBase.h +568 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DenseStorage.h +573 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DeviceWrapper.h +153 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Diagonal.h +219 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DiagonalMatrix.h +420 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/DiagonalProduct.h +30 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Dot.h +268 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/EigenBase.h +149 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Fill.h +138 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/FindCoeff.h +464 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ForceAlignedAccess.h +127 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Fuzzy.h +132 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/GeneralProduct.h +519 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/GenericPacketMath.h +1702 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/GlobalFunctions.h +230 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/IO.h +233 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/IndexedView.h +321 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/InnerProduct.h +260 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Inverse.h +108 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Map.h +153 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/MapBase.h +283 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/MathFunctions.h +2103 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/MathFunctionsImpl.h +263 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Matrix.h +534 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/MatrixBase.h +545 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/NestByValue.h +91 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/NoAlias.h +102 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/NumTraits.h +335 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/PartialReduxEvaluator.h +253 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/PermutationMatrix.h +555 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/PlainObjectBase.h +1014 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Product.h +307 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ProductEvaluators.h +1287 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Random.h +207 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/RandomImpl.h +262 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/RealView.h +250 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Redux.h +535 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Ref.h +383 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Replicate.h +130 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Reshaped.h +398 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/ReturnByValue.h +111 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Reverse.h +202 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Select.h +92 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/SelfAdjointView.h +329 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/SelfCwiseBinaryOp.h +50 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Solve.h +174 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/SolveTriangular.h +237 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/SolverBase.h +167 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/StableNorm.h +217 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/StlIterators.h +619 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Stride.h +114 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Swap.h +99 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Transpose.h +427 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Transpositions.h +323 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/TriangularMatrix.h +900 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/VectorBlock.h +83 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/VectorwiseOp.h +733 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/Visitor.h +537 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX/Complex.h +565 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX/MathFunctions.h +130 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX/PacketMath.h +3081 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX/TypeCasting.h +308 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/Complex.h +472 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/MathFunctions.h +141 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/PacketMath.h +3146 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +1413 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/Reductions.h +297 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1219 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/TypeCasting.h +277 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/Complex.h +653 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MathFunctions.h +81 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +3686 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +205 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +901 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +2818 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/PacketMath.h +3729 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/BFloat16.h +866 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/ConjHelper.h +128 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +2634 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +227 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/Half.h +1091 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/Default/Settings.h +47 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/GPU/Complex.h +244 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/GPU/MathFunctions.h +104 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/GPU/PacketMath.h +1712 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/GPU/TypeCasting.h +77 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/HVX/PacketMath.h +1088 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/LSX/Complex.h +520 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +23 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/LSX/MathFunctions.h +43 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/LSX/PacketMath.h +2866 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/LSX/TypeCasting.h +526 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/MSA/Complex.h +620 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/MSA/MathFunctions.h +379 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/MSA/PacketMath.h +1237 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/Complex.h +732 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +243 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/MathFunctions.h +68 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/PacketMath.h +6096 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/TypeCasting.h +1642 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SSE/Complex.h +503 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SSE/MathFunctions.h +88 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SSE/PacketMath.h +2384 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SSE/TypeCasting.h +230 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SVE/MathFunctions.h +48 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SVE/PacketMath.h +674 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SVE/TypeCasting.h +52 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SYCL/InteropHeaders.h +227 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SYCL/MathFunctions.h +303 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SYCL/PacketMath.h +576 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/SYCL/TypeCasting.h +83 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/ZVector/Complex.h +570 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/ZVector/MathFunctions.h +244 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/arch/ZVector/PacketMath.h +1413 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/AssignmentFunctors.h +174 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/BinaryFunctors.h +747 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/NullaryFunctors.h +274 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/StlFunctors.h +149 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/TernaryFunctors.h +52 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/functors/UnaryFunctors.h +1420 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralBlockPanelKernel.h +3153 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixMatrix.h +459 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +330 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +148 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +205 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixVector.h +473 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +139 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/Parallelizer.h +282 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +483 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +277 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointMatrixVector.h +253 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +115 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/SelfadjointRank2Update.h +95 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularMatrixMatrix.h +397 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +325 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularMatrixVector.h +347 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +275 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularSolverMatrix.h +388 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +166 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/products/TriangularSolverVector.h +122 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Assert.h +158 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/BlasUtil.h +622 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/ConfigureVectorization.h +543 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Constants.h +598 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/DisableStupidWarnings.h +146 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/EmulateArray.h +270 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/ForwardDeclarations.h +524 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/GpuHipCudaDefines.inc +101 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/GpuHipCudaUndefines.inc +45 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/IndexedViewHelper.h +487 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/IntegralConstant.h +279 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/MKL_support.h +139 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Macros.h +1346 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/MaxSizeVector.h +139 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Memory.h +1385 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Meta.h +760 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/MoreMeta.h +638 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/ReenableStupidWarnings.h +44 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/Serializer.h +209 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/StaticAssert.h +105 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/SymbolicIndex.h +445 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Core/util/XprHelper.h +1093 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/ComplexEigenSolver.h +315 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/ComplexSchur.h +442 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +95 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/EigenSolver.h +579 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +402 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +212 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/HessenbergDecomposition.h +356 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +142 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/RealQZ.h +587 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/RealSchur.h +519 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +83 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +850 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +90 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Eigenvalues/Tridiagonalization.h +529 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/AlignedBox.h +485 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/AngleAxis.h +245 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/EulerAngles.h +203 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Homogeneous.h +453 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Hyperplane.h +273 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/OrthoMethods.h +257 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Quaternion.h +930 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Rotation2D.h +201 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/RotationBase.h +209 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Scaling.h +195 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Transform.h +1485 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Translation.h +204 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/Umeyama.h +161 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Geometry/arch/Geometry_SIMD.h +154 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Householder/BlockHouseholder.h +115 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Householder/Householder.h +154 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Householder/HouseholderSequence.h +504 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +213 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +217 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +217 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +402 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +449 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +395 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +193 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +111 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/Jacobi/Jacobi.h +427 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/KLUSupport/KLUSupport.h +339 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/Determinant.h +98 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/FullPivLU.h +826 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/InverseImpl.h +353 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/PartialPivLU.h +586 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/PartialPivLU_LAPACKE.h +97 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/LU/arch/InverseSize4.h +353 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/MetisSupport/MetisSupport.h +125 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/OrderingMethods/Amd.h +413 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/OrderingMethods/Eigen_Colamd.h +1690 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/OrderingMethods/Ordering.h +146 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/PaStiXSupport/PaStiXSupport.h +632 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/PardisoSupport/PardisoSupport.h +500 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +161 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/CompleteOrthogonalDecomposition.h +648 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/FullPivHouseholderQR.h +733 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/HouseholderQR.h +543 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/HouseholderQR_LAPACKE.h +77 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/QR/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +315 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/BDCSVD.h +1470 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/BDCSVD_LAPACKE.h +174 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/JacobiSVD.h +846 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/JacobiSVD_LAPACKE.h +127 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/SVDBase.h +436 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SVD/UpperBidiagonalization.h +379 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCholesky/SimplicialCholesky.h +868 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +388 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/AmbiVector.h +329 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/CompressedStorage.h +206 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +308 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseAssign.h +279 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseBlock.h +534 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseColEtree.h +194 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseCompressedBase.h +592 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +938 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +142 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseDenseProduct.h +314 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseDot.h +100 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseFuzzy.h +31 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseMap.h +295 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseMatrix.h +1876 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseMatrixBase.h +451 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparsePermutation.h +249 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseProduct.h +178 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseRedux.h +47 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseRef.h +370 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseSelfAdjointView.h +613 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseSolverBase.h +115 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +184 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseTranspose.h +83 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseTriangularView.h +177 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseUtil.h +209 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseVector.h +532 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/SparseView.h +225 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseCore/TriangularSolver.h +274 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU.h +969 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLUImpl.h +79 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_Memory.h +210 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_Structs.h +113 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +319 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_Utils.h +75 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_column_bmod.h +177 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_column_dfs.h +168 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +106 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +114 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +133 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_panel_bmod.h +215 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_panel_dfs.h +235 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_pivotL.h +136 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_pruneL.h +130 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseLU/SparseLU_relax_snode.h +81 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SparseQR/SparseQR.h +706 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/StlSupport/StdDeque.h +51 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/StlSupport/StdList.h +50 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/StlSupport/StdVector.h +51 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/StlSupport/details.h +82 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/SuperLUSupport/SuperLUSupport.h +929 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/Barrier.h +70 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +336 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/EventCount.h +241 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ForkJoin.h +140 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/NonBlockingThreadPool.h +587 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/RunQueue.h +230 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ThreadLocal.h +289 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/ThreadPool/ThreadYield.h +16 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/UmfPackSupport/UmfPackSupport.h +606 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/Image.h +80 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/InternalHeaderCheck.h +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/Kernel.h +77 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/RealSvd2x2.h +53 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/blas.h +97 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/lapacke.h +10085 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/lapacke_helpers.h +163 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/misc/lapacke_mangling.h +16 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +344 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +544 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/BlockMethods.inc +1370 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/CommonCwiseUnaryOps.inc +167 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +118 -0
- larmor_dmri-1.0.0/cpp/third_party/eigen-5.0.1/Eigen/src/plugins/ReshapedMethods.inc +133 -0
- larmor_dmri-1.0.0/cpp/third_party/pocketfft-c90e55b3d529f8efa40ed01a20de22405f45fc65/LICENSE.md +25 -0
- larmor_dmri-1.0.0/cpp/third_party/pocketfft-c90e55b3d529f8efa40ed01a20de22405f45fc65/pocketfft_hdronly.h +3853 -0
- larmor_dmri-1.0.0/docs/404.md +14 -0
- larmor_dmri-1.0.0/docs/README.md +25 -0
- larmor_dmri-1.0.0/docs/_ext/api_reference.py +206 -0
- larmor_dmri-1.0.0/docs/_ext/carousel.py +93 -0
- larmor_dmri-1.0.0/docs/_ext/gallery_images.py +267 -0
- larmor_dmri-1.0.0/docs/_ext/viewer_docs.py +151 -0
- larmor_dmri-1.0.0/docs/_extra/favicon.ico +0 -0
- larmor_dmri-1.0.0/docs/_extra/llms.txt +122 -0
- larmor_dmri-1.0.0/docs/_extra/robots.txt +19 -0
- larmor_dmri-1.0.0/docs/_snippets/cite-larmor.md +3 -0
- larmor_dmri-1.0.0/docs/_snippets/ismrm-credit.md +3 -0
- larmor_dmri-1.0.0/docs/_snippets/synthetic-dwi.md +37 -0
- larmor_dmri-1.0.0/docs/_snippets/synthetic-fod.md +41 -0
- larmor_dmri-1.0.0/docs/_static/apple-touch-icon.png +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/dti-colours.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/fod-asymmetric.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/fod-glyphs.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/peaks.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/slices-3d.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/t1-fa.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/carousel/tubes.webp +0 -0
- larmor_dmri-1.0.0/docs/_static/favicon-32.png +0 -0
- larmor_dmri-1.0.0/docs/_static/gallery-thumb.png +0 -0
- larmor_dmri-1.0.0/docs/_static/larmor-card.png +0 -0
- larmor_dmri-1.0.0/docs/_static/larmor-carousel.js +47 -0
- larmor_dmri-1.0.0/docs/_static/larmor.css +199 -0
- larmor_dmri-1.0.0/docs/_templates/layout.html +10 -0
- larmor_dmri-1.0.0/docs/about/changelog.md +32 -0
- larmor_dmri-1.0.0/docs/about/citing.md +108 -0
- larmor_dmri-1.0.0/docs/about/contributing.md +19 -0
- larmor_dmri-1.0.0/docs/about/index.md +45 -0
- larmor_dmri-1.0.0/docs/about/roadmap.md +26 -0
- larmor_dmri-1.0.0/docs/agents/connecting.md +9 -0
- larmor_dmri-1.0.0/docs/agents/index.md +24 -0
- larmor_dmri-1.0.0/docs/agents/security.md +41 -0
- larmor_dmri-1.0.0/docs/agents/tools.md +16 -0
- larmor_dmri-1.0.0/docs/background/conventions.md +163 -0
- larmor_dmri-1.0.0/docs/background/index.md +18 -0
- larmor_dmri-1.0.0/docs/cli.md +565 -0
- larmor_dmri-1.0.0/docs/conf.py +330 -0
- larmor_dmri-1.0.0/docs/contributing.md +578 -0
- larmor_dmri-1.0.0/docs/example-data.md +81 -0
- larmor_dmri-1.0.0/docs/getting-started.md +194 -0
- larmor_dmri-1.0.0/docs/guides/dki.md +78 -0
- larmor_dmri-1.0.0/docs/guides/dti.md +88 -0
- larmor_dmri-1.0.0/docs/guides/fods.md +172 -0
- larmor_dmri-1.0.0/docs/guides/gradient-tables.md +117 -0
- larmor_dmri-1.0.0/docs/guides/index.md +42 -0
- larmor_dmri-1.0.0/docs/guides/isolating-a-bundle.md +61 -0
- larmor_dmri-1.0.0/docs/guides/loading-and-saving.md +141 -0
- larmor_dmri-1.0.0/docs/guides/peaks.md +89 -0
- larmor_dmri-1.0.0/docs/guides/surfaces.md +122 -0
- larmor_dmri-1.0.0/docs/guides/tract-profiles.md +61 -0
- larmor_dmri-1.0.0/docs/guides/tractography.md +137 -0
- larmor_dmri-1.0.0/docs/guides/what-larmor-does.md +46 -0
- larmor_dmri-1.0.0/docs/index.md +132 -0
- larmor_dmri-1.0.0/docs/install.md +107 -0
- larmor_dmri-1.0.0/docs/reference/api/data.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/dwi.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/index.md +43 -0
- larmor_dmri-1.0.0/docs/reference/api/io-formats.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/io.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/larmor.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/registration.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/sd.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/surfaces.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/tractography.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/types.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/api/viewer.rst +7 -0
- larmor_dmri-1.0.0/docs/reference/file-formats.md +93 -0
- larmor_dmri-1.0.0/docs/reference/index.md +19 -0
- larmor_dmri-1.0.0/docs/releasing.md +151 -0
- larmor_dmri-1.0.0/docs/style.md +116 -0
- larmor_dmri-1.0.0/docs/update_carousel.py +60 -0
- larmor_dmri-1.0.0/docs/viewer/2d-views.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/3d-view.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/fod-glyphs.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/getting-started.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/index.md +50 -0
- larmor_dmri-1.0.0/docs/viewer/matlab-files.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/parcellations.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/peaks.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/screenshots.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/sessions.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/settings.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/shortcuts.md +14 -0
- larmor_dmri-1.0.0/docs/viewer/surfaces.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/tractograms.md +9 -0
- larmor_dmri-1.0.0/docs/viewer/volumes-and-overlays.md +9 -0
- larmor_dmri-1.0.0/examples/GALLERY_HEADER.txt +8 -0
- larmor_dmri-1.0.0/examples/README.md +81 -0
- larmor_dmri-1.0.0/examples/files/GALLERY_HEADER.txt +5 -0
- larmor_dmri-1.0.0/examples/files/file_io.py +112 -0
- larmor_dmri-1.0.0/examples/files/mritoolkit_files.py +115 -0
- larmor_dmri-1.0.0/examples/models/GALLERY_HEADER.txt +5 -0
- larmor_dmri-1.0.0/examples/models/dki_real_data.py +72 -0
- larmor_dmri-1.0.0/examples/models/dki_synthetic_kurtosis.py +64 -0
- larmor_dmri-1.0.0/examples/models/dti_ismrm.py +61 -0
- larmor_dmri-1.0.0/examples/models/dti_synthetic_tensor.py +60 -0
- larmor_dmri-1.0.0/examples/preprocessing/GALLERY_HEADER.txt +4 -0
- larmor_dmri-1.0.0/examples/preprocessing/dwi_denoise_mppca.py +65 -0
- larmor_dmri-1.0.0/examples/preprocessing/gibbs_ringing_removal.py +108 -0
- larmor_dmri-1.0.0/examples/sd/GALLERY_HEADER.txt +5 -0
- larmor_dmri-1.0.0/examples/sd/fod_fit_synthetic.py +106 -0
- larmor_dmri-1.0.0/examples/sd/fods_ismrm.py +144 -0
- larmor_dmri-1.0.0/examples/sd/peaks_synthetic.py +73 -0
- larmor_dmri-1.0.0/examples/tractography/GALLERY_HEADER.txt +5 -0
- larmor_dmri-1.0.0/examples/tractography/connectome_synthetic.py +93 -0
- larmor_dmri-1.0.0/examples/tractography/registration_atlas_region.py +113 -0
- larmor_dmri-1.0.0/examples/tractography/track_density_synthetic.py +95 -0
- larmor_dmri-1.0.0/examples/tractography/tracking_ismrm.py +110 -0
- larmor_dmri-1.0.0/examples/tractography/tracking_synthetic.py +90 -0
- larmor_dmri-1.0.0/examples/tractography/tract_profiles.py +136 -0
- larmor_dmri-1.0.0/examples/tractography/tractogram_batch_writing.py +102 -0
- larmor_dmri-1.0.0/examples/viewer/GALLERY_HEADER.txt +6 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_2d_views.py +116 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_3d_view.py +76 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_4d_volumes.py +79 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_dti.py +99 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_fod_glyphs.py +118 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_parcellation.py +109 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_peaks.py +81 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_real_brain.py +62 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_screenshot_modes.py +83 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_sessions.py +82 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_surfaces.py +99 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_tractograms.py +108 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_tubes.py +75 -0
- larmor_dmri-1.0.0/examples/viewer/viewer_volumes_and_overlays.py +91 -0
- larmor_dmri-1.0.0/pyproject.toml +305 -0
- larmor_dmri-1.0.0/resources/larmor-logo.svg +48 -0
- larmor_dmri-1.0.0/resources/larmor-symbol.svg +47 -0
- larmor_dmri-1.0.0/src/larmor/__init__.py +79 -0
- larmor_dmri-1.0.0/src/larmor/_core.pyi +333 -0
- larmor_dmri-1.0.0/src/larmor/_log.py +6 -0
- larmor_dmri-1.0.0/src/larmor/_threads.py +18 -0
- larmor_dmri-1.0.0/src/larmor/cli/__init__.py +1 -0
- larmor_dmri-1.0.0/src/larmor/cli/bv.py +181 -0
- larmor_dmri-1.0.0/src/larmor/cli/command.py +69 -0
- larmor_dmri-1.0.0/src/larmor/cli/connectome.py +193 -0
- larmor_dmri-1.0.0/src/larmor/cli/convert.py +354 -0
- larmor_dmri-1.0.0/src/larmor/cli/degibbs.py +70 -0
- larmor_dmri-1.0.0/src/larmor/cli/denoise.py +91 -0
- larmor_dmri-1.0.0/src/larmor/cli/dki.py +98 -0
- larmor_dmri-1.0.0/src/larmor/cli/dti.py +87 -0
- larmor_dmri-1.0.0/src/larmor/cli/fod.py +284 -0
- larmor_dmri-1.0.0/src/larmor/cli/info.py +107 -0
- larmor_dmri-1.0.0/src/larmor/cli/mask.py +41 -0
- larmor_dmri-1.0.0/src/larmor/cli/options.py +89 -0
- larmor_dmri-1.0.0/src/larmor/cli/outputs.py +62 -0
- larmor_dmri-1.0.0/src/larmor/cli/peaks.py +115 -0
- larmor_dmri-1.0.0/src/larmor/cli/sh_convert.py +70 -0
- larmor_dmri-1.0.0/src/larmor/cli/sh_input.py +19 -0
- larmor_dmri-1.0.0/src/larmor/cli/track.py +312 -0
- larmor_dmri-1.0.0/src/larmor/cli/tract_density.py +116 -0
- larmor_dmri-1.0.0/src/larmor/cli/tract_edit.py +252 -0
- larmor_dmri-1.0.0/src/larmor/cli/tract_profile.py +175 -0
- larmor_dmri-1.0.0/src/larmor/cli/transform.py +188 -0
- larmor_dmri-1.0.0/src/larmor/data/__init__.py +22 -0
- larmor_dmri-1.0.0/src/larmor/data/datasets.py +181 -0
- larmor_dmri-1.0.0/src/larmor/data/dir300.txt +300 -0
- larmor_dmri-1.0.0/src/larmor/data/fetch.py +270 -0
- larmor_dmri-1.0.0/src/larmor/data/files.py +121 -0
- larmor_dmri-1.0.0/src/larmor/dwi/__init__.py +23 -0
- larmor_dmri-1.0.0/src/larmor/dwi/denoise.py +161 -0
- larmor_dmri-1.0.0/src/larmor/dwi/dki.py +534 -0
- larmor_dmri-1.0.0/src/larmor/dwi/dti.py +216 -0
- larmor_dmri-1.0.0/src/larmor/dwi/fitting.py +89 -0
- larmor_dmri-1.0.0/src/larmor/dwi/gibbs.py +93 -0
- larmor_dmri-1.0.0/src/larmor/dwi/inputs.py +156 -0
- larmor_dmri-1.0.0/src/larmor/dwi/mask.py +151 -0
- larmor_dmri-1.0.0/src/larmor/dwi/shells.py +22 -0
- larmor_dmri-1.0.0/src/larmor/io/__init__.py +98 -0
- larmor_dmri-1.0.0/src/larmor/io/bvals_bvecs.py +398 -0
- larmor_dmri-1.0.0/src/larmor/io/dwi.py +70 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/__init__.py +50 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/_affine.py +17 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/_track_file.py +118 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/freesurfer.py +319 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/gifti.py +326 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/lookup_table.py +54 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/matlab.py +778 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/mif.py +430 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/nifti.py +480 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/streamline_weights.py +99 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/tck.py +354 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/trk.py +797 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/tsf.py +249 -0
- larmor_dmri-1.0.0/src/larmor/io/formats/vtk.py +453 -0
- larmor_dmri-1.0.0/src/larmor/io/load_save.py +651 -0
- larmor_dmri-1.0.0/src/larmor/io/mritoolkit.py +550 -0
- larmor_dmri-1.0.0/src/larmor/io/reader.py +332 -0
- larmor_dmri-1.0.0/src/larmor/io/writer.py +170 -0
- larmor_dmri-1.0.0/src/larmor/main.py +76 -0
- larmor_dmri-1.0.0/src/larmor/py.typed +0 -0
- larmor_dmri-1.0.0/src/larmor/registration/__init__.py +57 -0
- larmor_dmri-1.0.0/src/larmor/registration/apply.py +473 -0
- larmor_dmri-1.0.0/src/larmor/registration/files.py +576 -0
- larmor_dmri-1.0.0/src/larmor/registration/sampling.py +104 -0
- larmor_dmri-1.0.0/src/larmor/registration/transforms.py +385 -0
- larmor_dmri-1.0.0/src/larmor/sd/__init__.py +46 -0
- larmor_dmri-1.0.0/src/larmor/sd/kernel.py +105 -0
- larmor_dmri-1.0.0/src/larmor/sd/method.py +91 -0
- larmor_dmri-1.0.0/src/larmor/sd/model.py +412 -0
- larmor_dmri-1.0.0/src/larmor/sd/mritoolkit.py +206 -0
- larmor_dmri-1.0.0/src/larmor/sd/peaks.py +220 -0
- larmor_dmri-1.0.0/src/larmor/sd/rf.py +664 -0
- larmor_dmri-1.0.0/src/larmor/sd/sh.py +306 -0
- larmor_dmri-1.0.0/src/larmor/sd/solvers.py +358 -0
- larmor_dmri-1.0.0/src/larmor/sd/sphere.py +62 -0
- larmor_dmri-1.0.0/src/larmor/surfaces/__init__.py +9 -0
- larmor_dmri-1.0.0/src/larmor/surfaces/mesh.py +121 -0
- larmor_dmri-1.0.0/src/larmor/tractography/__init__.py +81 -0
- larmor_dmri-1.0.0/src/larmor/tractography/connectome.py +360 -0
- larmor_dmri-1.0.0/src/larmor/tractography/density.py +212 -0
- larmor_dmri-1.0.0/src/larmor/tractography/editing.py +910 -0
- larmor_dmri-1.0.0/src/larmor/tractography/file_editing.py +608 -0
- larmor_dmri-1.0.0/src/larmor/tractography/profiles.py +294 -0
- larmor_dmri-1.0.0/src/larmor/tractography/regions.py +190 -0
- larmor_dmri-1.0.0/src/larmor/tractography/resampling.py +129 -0
- larmor_dmri-1.0.0/src/larmor/tractography/sampling.py +93 -0
- larmor_dmri-1.0.0/src/larmor/tractography/seed.py +279 -0
- larmor_dmri-1.0.0/src/larmor/tractography/termination.py +42 -0
- larmor_dmri-1.0.0/src/larmor/tractography/tracker.py +772 -0
- larmor_dmri-1.0.0/src/larmor/types/__init__.py +17 -0
- larmor_dmri-1.0.0/src/larmor/types/_affine.py +138 -0
- larmor_dmri-1.0.0/src/larmor/types/_arrays.py +31 -0
- larmor_dmri-1.0.0/src/larmor/types/gradient_table.py +248 -0
- larmor_dmri-1.0.0/src/larmor/types/grid.py +108 -0
- larmor_dmri-1.0.0/src/larmor/types/label.py +16 -0
- larmor_dmri-1.0.0/src/larmor/types/surface.py +77 -0
- larmor_dmri-1.0.0/src/larmor/types/tractogram.py +247 -0
- larmor_dmri-1.0.0/src/larmor/types/volume.py +191 -0
- larmor_dmri-1.0.0/src/larmor/viewer/__init__.py +234 -0
- larmor_dmri-1.0.0/src/larmor/viewer/app.py +225 -0
- larmor_dmri-1.0.0/src/larmor/viewer/launcher.py +627 -0
- larmor_dmri-1.0.0/src/larmor/viewer/loading.py +468 -0
- larmor_dmri-1.0.0/src/larmor/viewer/macos.py +58 -0
- larmor_dmri-1.0.0/src/larmor/viewer/mcp_server.py +576 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/__init__.py +1 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/camera.py +175 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/events.py +43 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/item.py +90 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/labels.py +61 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/matlab_import.py +624 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/options.py +954 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/readout.py +83 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/regions.py +111 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/registration.py +280 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/registry.py +185 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/scene.py +128 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/session.py +340 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/settings.py +382 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/shortcuts.py +324 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/surface.py +93 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/view_state.py +39 -0
- larmor_dmri-1.0.0/src/larmor/viewer/model/viewer.py +2197 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/__init__.py +1 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/app_icon.py +24 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/docks.py +617 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/field.py +313 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/fod_inspector_panel.py +134 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/help_panel.py +111 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/labels_panel.py +224 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/layers.py +316 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/loading.py +101 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/main_window.py +694 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/matlab_dialog.py +261 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/options_panel.py +337 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/regions_editor.py +199 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/registration_dialog.py +215 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/screenshot_panel.py +631 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/settings_panel.py +238 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/shortcuts.py +137 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/style.py +227 -0
- larmor_dmri-1.0.0/src/larmor/viewer/qt/views.py +309 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/__init__.py +1 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/adapter.py +31 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/annotations.py +190 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/backing.py +62 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/colour_bars.py +152 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/colour_space.py +41 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/fod_adapter.py +277 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/fod_inspector.py +361 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/geometry.py +704 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/glyphs.py +327 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/gpu.py +55 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/labels_3d.py +144 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/navigation.py +57 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/offscreen.py +710 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/overlay_slice.py +35 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/peaks_adapter.py +168 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/scene_renderer.py +175 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/surface_adapter.py +413 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/surfaces.py +131 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/tractogram_adapter.py +742 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/view.py +218 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/view_3d.py +51 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/view_button.py +125 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/view_labels.py +105 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/volume_3d.py +288 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/volume_adapter.py +375 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/volume_blend.py +227 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/volume_blend.wgsl +199 -0
- larmor_dmri-1.0.0/src/larmor/viewer/render/worker.py +150 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/01-getting-started.md +126 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/02-2d-views.md +38 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/03-volumes-and-overlays.md +40 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/04-parcellations.md +36 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/05-tractograms.md +95 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/06-3d-view.md +31 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/07-fod-glyphs.md +39 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/08-peaks.md +25 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/09-settings.md +61 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/10-screenshots.md +41 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/11-sessions.md +24 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/12-agents.md +118 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/13-surfaces.md +56 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/14-matlab-files.md +36 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/2d-view.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/3d-view.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/dti-colours.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/fod-glyphs.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/labels.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/overlay.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/peaks.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/settings.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/surfaces-2d.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/surfaces-3d.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/tracts-3d.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/tracts-regions.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/tracts-slab.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/tracts-values.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/guides/images/window.png +0 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icon.svg +42 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/LICENSE-lucide.txt +43 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/camera.svg +16 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/check.svg +15 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/chevron-down.svg +15 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/chevron-right.svg +15 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/chevron-up.svg +15 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/circle-help.svg +17 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/eye-dashed.svg +23 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/eye-off.svg +18 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/eye.svg +16 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/info.svg +17 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/layers.svg +17 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/maximize-2.svg +18 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/minimize-2.svg +18 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/minus.svg +15 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/pin-off.svg +18 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/pin.svg +16 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/scan-search.svg +20 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/settings.svg +16 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/sliders-horizontal.svg +23 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/tags.svg +17 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/trash-2.svg +19 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/icons/x.svg +16 -0
- larmor_dmri-1.0.0/src/larmor/viewer/resources/viewer.qss +656 -0
- larmor_dmri-1.0.0/src/larmor/viewer/system.py +152 -0
- larmor_dmri-1.0.0/tests/cli/cli_fixtures.py +25 -0
- larmor_dmri-1.0.0/tests/cli/test_bv_command.py +264 -0
- larmor_dmri-1.0.0/tests/cli/test_cli.py +839 -0
- larmor_dmri-1.0.0/tests/cli/test_convert.py +427 -0
- larmor_dmri-1.0.0/tests/cli/test_convert_matlab.py +102 -0
- larmor_dmri-1.0.0/tests/cli/test_degibbs_command.py +51 -0
- larmor_dmri-1.0.0/tests/cli/test_denoise_command.py +40 -0
- larmor_dmri-1.0.0/tests/cli/test_density_connectome_commands.py +123 -0
- larmor_dmri-1.0.0/tests/cli/test_dki_command.py +144 -0
- larmor_dmri-1.0.0/tests/cli/test_info.py +221 -0
- larmor_dmri-1.0.0/tests/cli/test_peaks_command.py +422 -0
- larmor_dmri-1.0.0/tests/cli/test_sh_convert.py +222 -0
- larmor_dmri-1.0.0/tests/cli/test_startup.py +38 -0
- larmor_dmri-1.0.0/tests/cli/test_track_command.py +708 -0
- larmor_dmri-1.0.0/tests/cli/test_tract_edit_command.py +551 -0
- larmor_dmri-1.0.0/tests/cli/test_tract_profile_command.py +84 -0
- larmor_dmri-1.0.0/tests/cli/test_transform_command.py +97 -0
- larmor_dmri-1.0.0/tests/conftest.py +295 -0
- larmor_dmri-1.0.0/tests/data/README.md +129 -0
- larmor_dmri-1.0.0/tests/data/asym/fod_block.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/asym/make_asym_fod.py +44 -0
- larmor_dmri-1.0.0/tests/data/asym/make_asym_ref.py +24 -0
- larmor_dmri-1.0.0/tests/data/bmat.txt +33 -0
- larmor_dmri-1.0.0/tests/data/bvals.txt +1 -0
- larmor_dmri-1.0.0/tests/data/bvecs.txt +3 -0
- larmor_dmri-1.0.0/tests/data/connectome/lut.txt +61 -0
- larmor_dmri-1.0.0/tests/data/connectome/make_connectome_ref.py +153 -0
- larmor_dmri-1.0.0/tests/data/connectome/parcellation.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/connectome/ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/connectome/template.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/connectome/tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/connectome/weights.txt +1 -0
- larmor_dmri-1.0.0/tests/data/deconv_obj.mat +0 -0
- larmor_dmri-1.0.0/tests/data/dki/bvals +1 -0
- larmor_dmri-1.0.0/tests/data/dki/bvecs +3 -0
- larmor_dmri-1.0.0/tests/data/dki/dwi.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/dki/mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/dki/mrtrix_dkt_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/dki/mrtrix_dt_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/dki/mrtrix_mppca_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/crop_float.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/crop_shell.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/crop_shell_inverse.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/crop_spheres.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/edge_cases.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/edge_cases_num_points_2.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/edge_cases_num_points_5.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/edge_cases_step_size_0.5.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/edge_cases_step_size_2.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/float_mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/lengths_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/make_editing_input.py +20 -0
- larmor_dmri-1.0.0/tests/data/editing/make_lengths_ref.py +133 -0
- larmor_dmri-1.0.0/tests/data/editing/make_regions_ref.py +206 -0
- larmor_dmri-1.0.0/tests/data/editing/make_resample_ref.py +63 -0
- larmor_dmri-1.0.0/tests/data/editing/make_tract_edit_ref.py +141 -0
- larmor_dmri-1.0.0/tests/data/editing/regions_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/shell_mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/sift2_weights.txt +2 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks_num_points_10.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks_num_points_2.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks_num_points_50.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks_step_size_0.5.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tracks_step_size_2.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tract_edit_join.tck +0 -0
- larmor_dmri-1.0.0/tests/data/editing/tract_edit_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/editing/weights.txt +1 -0
- larmor_dmri-1.0.0/tests/data/editing/weights_selected.txt +1 -0
- larmor_dmri-1.0.0/tests/data/gibbs/dwi.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/gibbs/mrdegibbs_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/gibbs/phantom.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/grl/block_dwi.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/grl/block_dwi_brain_mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/grl_kurtosis_kernel.mat +0 -0
- larmor_dmri-1.0.0/tests/data/grl_obj.mat +0 -0
- larmor_dmri-1.0.0/tests/data/lasso/lasso_problems.mat +0 -0
- larmor_dmri-1.0.0/tests/data/leemans_tournier_ref.mat +0 -0
- larmor_dmri-1.0.0/tests/data/make_dki_mrtrix_ref.py +96 -0
- larmor_dmri-1.0.0/tests/data/make_dki_ref.py +61 -0
- larmor_dmri-1.0.0/tests/data/make_dti_mrtrix_ref.py +86 -0
- larmor_dmri-1.0.0/tests/data/make_gibbs_ref.py +106 -0
- larmor_dmri-1.0.0/tests/data/make_mif_ref.py +49 -0
- larmor_dmri-1.0.0/tests/data/make_mppca_mrtrix_ref.py +81 -0
- larmor_dmri-1.0.0/tests/data/make_mrtrix_grad_ref.py +68 -0
- larmor_dmri-1.0.0/tests/data/make_peaks_ref.py +61 -0
- larmor_dmri-1.0.0/tests/data/make_sh_ref.py +36 -0
- larmor_dmri-1.0.0/tests/data/make_tck_ref.py +26 -0
- larmor_dmri-1.0.0/tests/data/make_tckgen_det_ref.py +186 -0
- larmor_dmri-1.0.0/tests/data/make_tckgen_prob_ref.py +116 -0
- larmor_dmri-1.0.0/tests/data/make_vtk_ref.py +20 -0
- larmor_dmri-1.0.0/tests/data/matlab/expected.mat +0 -0
- larmor_dmri-1.0.0/tests/data/matlab/values_v4.mat +0 -0
- larmor_dmri-1.0.0/tests/data/matlab/values_v6.mat +0 -0
- larmor_dmri-1.0.0/tests/data/matlab/values_v7.mat +0 -0
- larmor_dmri-1.0.0/tests/data/matlab/values_v73.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mfod/mfod_kernel.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mfod/mfod_lasso_ref.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mfod/mfod_ref.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mif/dwi.b +6 -0
- larmor_dmri-1.0.0/tests/data/mif/dwi.bval +1 -0
- larmor_dmri-1.0.0/tests/data/mif/dwi.bvec +3 -0
- larmor_dmri-1.0.0/tests/data/mif/dwi.mif +0 -0
- larmor_dmri-1.0.0/tests/data/mif/float32be.mif +0 -0
- larmor_dmri-1.0.0/tests/data/mif/grad_odd.b +6 -0
- larmor_dmri-1.0.0/tests/data/mif/grad_odd_export.b +6 -0
- larmor_dmri-1.0.0/tests/data/mif/grad_odd_export.bval +1 -0
- larmor_dmri-1.0.0/tests/data/mif/grad_odd_export.bvec +3 -0
- larmor_dmri-1.0.0/tests/data/mif/int16be.mif.gz +0 -0
- larmor_dmri-1.0.0/tests/data/mif/larmor_dwi.b +5 -0
- larmor_dmri-1.0.0/tests/data/mif/larmor_dwi.bval +1 -0
- larmor_dmri-1.0.0/tests/data/mif/larmor_dwi.bvec +3 -0
- larmor_dmri-1.0.0/tests/data/mif/layout_permuted.mif +0 -0
- larmor_dmri-1.0.0/tests/data/mif/mask.nii +0 -0
- larmor_dmri-1.0.0/tests/data/mif/mask_bit.mif +0 -0
- larmor_dmri-1.0.0/tests/data/mif/source.nii +0 -0
- larmor_dmri-1.0.0/tests/data/mif/split.dat +0 -0
- larmor_dmri-1.0.0/tests/data/mif/split.mih +11 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/bvals +1 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/bvecs +3 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/dki_fit.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/dti_fit.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/dti_fit_v7.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/dwi.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/grl.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/grl_CSD_FOD.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/grl_fractions.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/grl_v7.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/make_mritoolkit_input.py +42 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/tracts.mat +0 -0
- larmor_dmri-1.0.0/tests/data/mritoolkit/tracts_v73.mat +0 -0
- larmor_dmri-1.0.0/tests/data/peaks/fod.mif +0 -0
- larmor_dmri-1.0.0/tests/data/peaks/peaks_ref.mif +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine.mat +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine.txt +5 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine_cubic.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine_inverse_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine_inverse_points.txt +21 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_affine_nearest.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_chain_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_chain_points.txt +21 -0
- larmor_dmri-1.0.0/tests/data/registration/ants_warp.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fixed.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/flirt.mat +4 -0
- larmor_dmri-1.0.0/tests/data/registration/flirt_inverse.mat +4 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_flirt_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_flirt_nearest.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_flirt_points.txt +21 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_warp.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_warp_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_warp_nearest.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/fsl_warp_points.txt +21 -0
- larmor_dmri-1.0.0/tests/data/registration/make_registration_ref.py +354 -0
- larmor_dmri-1.0.0/tests/data/registration/moving.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/moving_labels.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_affine.txt +5 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_affine_inverse_tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_affine_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_affine_nearest.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_affine_tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_from_flirt.txt +5 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_warp.mif +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_warp_inverse.mif +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_warp_inverse_tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_warp_linear.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/registration/mrtrix_warp_tracks.tck +0 -0
- larmor_dmri-1.0.0/tests/data/registration/points_fixed.txt +21 -0
- larmor_dmri-1.0.0/tests/data/registration/tracks_fixed.tck +0 -0
- larmor_dmri-1.0.0/tests/data/sh_tournier_ref.npz +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/gifti/lh.labels.label.gii +9 -0
- larmor_dmri-1.0.0/tests/data/surfaces/gifti/lh.white.surf.gii +9 -0
- larmor_dmri-1.0.0/tests/data/surfaces/label/lh.Medial_wall.label +66 -0
- larmor_dmri-1.0.0/tests/data/surfaces/label/lh.cortex.label +580 -0
- larmor_dmri-1.0.0/tests/data/surfaces/make_surfaces.py +170 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/lh.curv +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/lh.sphere +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/lh.sulc +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/lh.thickness +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/lh.white +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/rh.curv +0 -0
- larmor_dmri-1.0.0/tests/data/surfaces/surf/rh.white +0 -0
- larmor_dmri-1.0.0/tests/data/tck/ref.tck +0 -0
- larmor_dmri-1.0.0/tests/data/tck/s-0.txt +5 -0
- larmor_dmri-1.0.0/tests/data/tck/s-1.txt +1 -0
- larmor_dmri-1.0.0/tests/data/tck/s-2.txt +3 -0
- larmor_dmri-1.0.0/tests/data/tck/s-3.txt +2 -0
- larmor_dmri-1.0.0/tests/data/tracking/det_ref.tck +0 -0
- larmor_dmri-1.0.0/tests/data/tracking/det_ref_maxlen.tck +0 -0
- larmor_dmri-1.0.0/tests/data/tracking/det_ref_maxlen_seeds.txt +35 -0
- larmor_dmri-1.0.0/tests/data/tracking/det_ref_seeds.txt +35 -0
- larmor_dmri-1.0.0/tests/data/tracking/fod.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/tracking/mask.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/tracking/prob_ref.tck +0 -0
- larmor_dmri-1.0.0/tests/data/tracking/prob_ref_info.json +165 -0
- larmor_dmri-1.0.0/tests/data/tracking/prob_ref_seeds.txt +259 -0
- larmor_dmri-1.0.0/tests/data/tracking/seeds.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/bzero.tsf +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/bzero_crop.nii.gz +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/bzero_smooth.tsf +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/edges.nii +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/edges.tck +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/edges.tsf +0 -0
- larmor_dmri-1.0.0/tests/data/tsf/make_sampling_ref.py +90 -0
- larmor_dmri-1.0.0/tests/data/tsf/make_tsf_ref.py +86 -0
- larmor_dmri-1.0.0/tests/data/vtk/ascii.vtk +21 -0
- larmor_dmri-1.0.0/tests/data/vtk/binary.vtk +0 -0
- larmor_dmri-1.0.0/tests/data/wm_rf/wm_rf_ref.mat +0 -0
- larmor_dmri-1.0.0/tests/dwi/reference_fitting.py +177 -0
- larmor_dmri-1.0.0/tests/dwi/reference_mppca.py +56 -0
- larmor_dmri-1.0.0/tests/dwi/test_denoise.py +111 -0
- larmor_dmri-1.0.0/tests/dwi/test_dki.py +609 -0
- larmor_dmri-1.0.0/tests/dwi/test_dti.py +147 -0
- larmor_dmri-1.0.0/tests/dwi/test_fitting.py +90 -0
- larmor_dmri-1.0.0/tests/dwi/test_gibbs.py +125 -0
- larmor_dmri-1.0.0/tests/dwi/test_inputs.py +107 -0
- larmor_dmri-1.0.0/tests/io/formats/test_affine.py +35 -0
- larmor_dmri-1.0.0/tests/io/formats/test_freesurfer.py +454 -0
- larmor_dmri-1.0.0/tests/io/formats/test_gifti.py +416 -0
- larmor_dmri-1.0.0/tests/io/formats/test_lookup_table.py +139 -0
- larmor_dmri-1.0.0/tests/io/formats/test_matlab.py +196 -0
- larmor_dmri-1.0.0/tests/io/formats/test_mif.py +930 -0
- larmor_dmri-1.0.0/tests/io/formats/test_nifti.py +533 -0
- larmor_dmri-1.0.0/tests/io/formats/test_streamline_weights.py +57 -0
- larmor_dmri-1.0.0/tests/io/formats/test_tck.py +612 -0
- larmor_dmri-1.0.0/tests/io/formats/test_trk.py +961 -0
- larmor_dmri-1.0.0/tests/io/formats/test_tsf.py +310 -0
- larmor_dmri-1.0.0/tests/io/formats/test_vtk.py +835 -0
- larmor_dmri-1.0.0/tests/io/test_batch_writers.py +615 -0
- larmor_dmri-1.0.0/tests/io/test_bvals_bvecs.py +752 -0
- larmor_dmri-1.0.0/tests/io/test_dwi.py +127 -0
- larmor_dmri-1.0.0/tests/io/test_iter_tractogram.py +358 -0
- larmor_dmri-1.0.0/tests/io/test_load_save.py +348 -0
- larmor_dmri-1.0.0/tests/io/test_load_surface.py +245 -0
- larmor_dmri-1.0.0/tests/io/test_mritoolkit.py +181 -0
- larmor_dmri-1.0.0/tests/io/test_mrtrix_gradients.py +126 -0
- larmor_dmri-1.0.0/tests/io/test_progress.py +292 -0
- larmor_dmri-1.0.0/tests/io/test_reader.py +344 -0
- larmor_dmri-1.0.0/tests/io/test_writer.py +247 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_grl_kurtosis_kernel_ref.m +21 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_lasso_ref.m +156 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_leemans_tournier_ref.m +53 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_matlab_values_ref.m +67 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_mfod_lasso_ref.m +133 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_mfod_ref.m +184 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_mritoolkit_ref.m +89 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/make_wm_rf_ref.m +217 -0
- larmor_dmri-1.0.0/tests/matlab_scripts/run_grl.m +67 -0
- larmor_dmri-1.0.0/tests/registration/test_apply.py +242 -0
- larmor_dmri-1.0.0/tests/registration/test_oracles.py +293 -0
- larmor_dmri-1.0.0/tests/sd/reference_peaks.py +243 -0
- larmor_dmri-1.0.0/tests/sd/reference_solvers.py +294 -0
- larmor_dmri-1.0.0/tests/sd/test_drl.py +234 -0
- larmor_dmri-1.0.0/tests/sd/test_fit.py +544 -0
- larmor_dmri-1.0.0/tests/sd/test_grl.py +358 -0
- larmor_dmri-1.0.0/tests/sd/test_l2nnls.py +161 -0
- larmor_dmri-1.0.0/tests/sd/test_lasso.py +112 -0
- larmor_dmri-1.0.0/tests/sd/test_matlab_match.py +193 -0
- larmor_dmri-1.0.0/tests/sd/test_method.py +153 -0
- larmor_dmri-1.0.0/tests/sd/test_mritoolkit_fod.py +71 -0
- larmor_dmri-1.0.0/tests/sd/test_noddi.py +63 -0
- larmor_dmri-1.0.0/tests/sd/test_peaks.py +1297 -0
- larmor_dmri-1.0.0/tests/sd/test_peaks_compiled.py +538 -0
- larmor_dmri-1.0.0/tests/sd/test_peaks_reference.py +84 -0
- larmor_dmri-1.0.0/tests/sd/test_rf.py +155 -0
- larmor_dmri-1.0.0/tests/sd/test_rf_kurtosis.py +430 -0
- larmor_dmri-1.0.0/tests/sd/test_sh.py +246 -0
- larmor_dmri-1.0.0/tests/surfaces/test_mesh.py +194 -0
- larmor_dmri-1.0.0/tests/test_core.py +56 -0
- larmor_dmri-1.0.0/tests/test_core_stub.py +24 -0
- larmor_dmri-1.0.0/tests/test_docs.py +472 -0
- larmor_dmri-1.0.0/tests/test_docstrings.py +73 -0
- larmor_dmri-1.0.0/tests/test_example_data.py +282 -0
- larmor_dmri-1.0.0/tests/test_layout.py +169 -0
- larmor_dmri-1.0.0/tests/test_naming.py +55 -0
- larmor_dmri-1.0.0/tests/test_public_api.py +73 -0
- larmor_dmri-1.0.0/tests/tractography/reference_density.py +84 -0
- larmor_dmri-1.0.0/tests/tractography/reference_prob.py +333 -0
- larmor_dmri-1.0.0/tests/tractography/reference_random.py +68 -0
- larmor_dmri-1.0.0/tests/tractography/reference_resampling.py +236 -0
- larmor_dmri-1.0.0/tests/tractography/reference_tracking.py +233 -0
- larmor_dmri-1.0.0/tests/tractography/test_asymmetric.py +221 -0
- larmor_dmri-1.0.0/tests/tractography/test_connectome.py +141 -0
- larmor_dmri-1.0.0/tests/tractography/test_density.py +194 -0
- larmor_dmri-1.0.0/tests/tractography/test_det.py +934 -0
- larmor_dmri-1.0.0/tests/tractography/test_det_tckgen.py +232 -0
- larmor_dmri-1.0.0/tests/tractography/test_edit.py +367 -0
- larmor_dmri-1.0.0/tests/tractography/test_editing.py +551 -0
- larmor_dmri-1.0.0/tests/tractography/test_kernels.py +551 -0
- larmor_dmri-1.0.0/tests/tractography/test_prob.py +589 -0
- larmor_dmri-1.0.0/tests/tractography/test_prob_tckgen.py +280 -0
- larmor_dmri-1.0.0/tests/tractography/test_profiles.py +171 -0
- larmor_dmri-1.0.0/tests/tractography/test_random.py +233 -0
- larmor_dmri-1.0.0/tests/tractography/test_regions.py +183 -0
- larmor_dmri-1.0.0/tests/tractography/test_resampling.py +332 -0
- larmor_dmri-1.0.0/tests/tractography/test_sampling.py +57 -0
- larmor_dmri-1.0.0/tests/tractography/test_seed.py +377 -0
- larmor_dmri-1.0.0/tests/tractography/test_termination.py +248 -0
- larmor_dmri-1.0.0/tests/tractography/test_tracker.py +718 -0
- larmor_dmri-1.0.0/tests/tractography/test_tracking_reference.py +213 -0
- larmor_dmri-1.0.0/tests/tractography/test_trilinear.py +271 -0
- larmor_dmri-1.0.0/tests/types/test_gradient_table.py +324 -0
- larmor_dmri-1.0.0/tests/types/test_grid.py +291 -0
- larmor_dmri-1.0.0/tests/types/test_surface.py +127 -0
- larmor_dmri-1.0.0/tests/types/test_tractogram.py +317 -0
- larmor_dmri-1.0.0/tests/types/test_volume.py +513 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_actions.py +1194 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_dti_colours.py +149 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_fod.py +40 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_labels.py +130 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_matlab_import.py +327 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_navigation.py +647 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_options.py +422 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_registration_items.py +274 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_registry.py +31 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_scene.py +161 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_session.py +269 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_settings.py +194 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_shortcuts.py +303 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_surface_items.py +316 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_tract_regions.py +254 -0
- larmor_dmri-1.0.0/tests/viewer/model/test_tract_values.py +169 -0
- larmor_dmri-1.0.0/tests/viewer/render_helpers.py +176 -0
- larmor_dmri-1.0.0/tests/viewer/test_annotations.py +448 -0
- larmor_dmri-1.0.0/tests/viewer/test_colour_bars.py +506 -0
- larmor_dmri-1.0.0/tests/viewer/test_colour_space.py +13 -0
- larmor_dmri-1.0.0/tests/viewer/test_density_overlay.py +39 -0
- larmor_dmri-1.0.0/tests/viewer/test_docks.py +278 -0
- larmor_dmri-1.0.0/tests/viewer/test_dti_render.py +123 -0
- larmor_dmri-1.0.0/tests/viewer/test_fod_adapter.py +182 -0
- larmor_dmri-1.0.0/tests/viewer/test_fod_inspector.py +163 -0
- larmor_dmri-1.0.0/tests/viewer/test_geometry.py +639 -0
- larmor_dmri-1.0.0/tests/viewer/test_glyphs.py +208 -0
- larmor_dmri-1.0.0/tests/viewer/test_help_panel.py +205 -0
- larmor_dmri-1.0.0/tests/viewer/test_inspect_fod.py +187 -0
- larmor_dmri-1.0.0/tests/viewer/test_keys.py +472 -0
- larmor_dmri-1.0.0/tests/viewer/test_labels_3d.py +244 -0
- larmor_dmri-1.0.0/tests/viewer/test_labels_panel.py +234 -0
- larmor_dmri-1.0.0/tests/viewer/test_launcher.py +312 -0
- larmor_dmri-1.0.0/tests/viewer/test_layers.py +820 -0
- larmor_dmri-1.0.0/tests/viewer/test_loader.py +524 -0
- larmor_dmri-1.0.0/tests/viewer/test_macos.py +67 -0
- larmor_dmri-1.0.0/tests/viewer/test_matlab_dialog.py +98 -0
- larmor_dmri-1.0.0/tests/viewer/test_mcp_server.py +727 -0
- larmor_dmri-1.0.0/tests/viewer/test_opening.py +1132 -0
- larmor_dmri-1.0.0/tests/viewer/test_options_panel.py +2339 -0
- larmor_dmri-1.0.0/tests/viewer/test_peaks_adapter.py +200 -0
- larmor_dmri-1.0.0/tests/viewer/test_redraws.py +154 -0
- larmor_dmri-1.0.0/tests/viewer/test_regions_editor.py +76 -0
- larmor_dmri-1.0.0/tests/viewer/test_registration_dialog.py +48 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_3d.py +884 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_adapters.py +443 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_labels.py +441 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_scene.py +278 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_slices.py +349 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_textures.py +321 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_tract_values.py +197 -0
- larmor_dmri-1.0.0/tests/viewer/test_render_tractograms.py +633 -0
- larmor_dmri-1.0.0/tests/viewer/test_screenshot.py +502 -0
- larmor_dmri-1.0.0/tests/viewer/test_screenshot_panel.py +266 -0
- larmor_dmri-1.0.0/tests/viewer/test_session_window.py +223 -0
- larmor_dmri-1.0.0/tests/viewer/test_settings_panel.py +598 -0
- larmor_dmri-1.0.0/tests/viewer/test_style.py +189 -0
- larmor_dmri-1.0.0/tests/viewer/test_surface_adapter.py +316 -0
- larmor_dmri-1.0.0/tests/viewer/test_system.py +203 -0
- larmor_dmri-1.0.0/tests/viewer/test_view_input.py +286 -0
- larmor_dmri-1.0.0/tests/viewer/test_view_labels.py +166 -0
- larmor_dmri-1.0.0/tests/viewer/test_window.py +421 -0
- larmor_dmri-1.0.0/tests/viewer/test_worker.py +188 -0
- larmor_dmri-1.0.0/tests/viewer/viewer_fixtures.py +139 -0
- larmor_dmri-1.0.0/tests/viewer/viewer_helpers.py +50 -0
- larmor_dmri-1.0.0/uv.lock +2635 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Text files are stored with LF and checked out with LF on every platform.
|
|
2
|
+
* text=auto eol=lf
|
|
3
|
+
|
|
4
|
+
# Binary data and images are never converted.
|
|
5
|
+
*.nii binary
|
|
6
|
+
*.nii.gz binary
|
|
7
|
+
*.mif binary
|
|
8
|
+
*.mif.gz binary
|
|
9
|
+
*.mat binary
|
|
10
|
+
*.npz binary
|
|
11
|
+
*.npy binary
|
|
12
|
+
*.tck binary
|
|
13
|
+
*.trk binary
|
|
14
|
+
*.tsf binary
|
|
15
|
+
*.png binary
|
|
16
|
+
*.webp binary
|
|
17
|
+
*.gii binary
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Something in Larmor gives a wrong result, crashes, or behaves differently from its documentation
|
|
4
|
+
title: ""
|
|
5
|
+
labels: ["type:bug"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
Describe the bug in full sentences, so someone who was not there can understand and reproduce it.
|
|
10
|
+
The text inside these arrows is a hint and does not appear in the ticket.
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
## What happens
|
|
14
|
+
|
|
15
|
+
<!-- What you did and what Larmor did: the command or code you ran, and the output or error message (copied, not
|
|
16
|
+
retyped). -->
|
|
17
|
+
|
|
18
|
+
## What should happen
|
|
19
|
+
|
|
20
|
+
<!-- What you expected instead, and why: for example what the documentation says, or what MRtrix3 or nibabel give
|
|
21
|
+
for the same input. -->
|
|
22
|
+
|
|
23
|
+
## How to reproduce
|
|
24
|
+
|
|
25
|
+
<!-- The smallest set of steps or code that shows the problem. Say which data you used; if it is not shared, say
|
|
26
|
+
what kind of data it is (format, size, number of volumes). -->
|
|
27
|
+
|
|
28
|
+
1.
|
|
29
|
+
2.
|
|
30
|
+
3.
|
|
31
|
+
|
|
32
|
+
## Environment
|
|
33
|
+
|
|
34
|
+
<!-- The Larmor version is printed by `python -c "import larmor; print(larmor.__version__)"`. -->
|
|
35
|
+
|
|
36
|
+
- Larmor version:
|
|
37
|
+
- Python version:
|
|
38
|
+
- Operating system:
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature or task
|
|
3
|
+
about: A new capability, an improvement, or a piece of work to plan
|
|
4
|
+
title: ""
|
|
5
|
+
labels: ["type:feature"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
A ticket says what the work should achieve and why, not how to write the code. Write in full sentences.
|
|
10
|
+
The text inside these arrows is a hint and does not appear in the ticket.
|
|
11
|
+
If this is not a new feature (for example a refactor or documentation), change the type label after creating it.
|
|
12
|
+
-->
|
|
13
|
+
|
|
14
|
+
## Context
|
|
15
|
+
|
|
16
|
+
<!-- The situation today and why it matters: what is missing or not working well, and who is affected. Link the
|
|
17
|
+
relevant page of the documentation if there is one. -->
|
|
18
|
+
|
|
19
|
+
## Goal
|
|
20
|
+
|
|
21
|
+
<!-- What should be true when the work is done, described from the user's or the code's point of view. -->
|
|
22
|
+
|
|
23
|
+
## Finished when
|
|
24
|
+
|
|
25
|
+
<!-- Concrete checks that tell anyone whether the ticket is done. -->
|
|
26
|
+
|
|
27
|
+
-
|
|
28
|
+
-
|
|
29
|
+
|
|
30
|
+
<!-- If this ticket depends on other tickets, say so here, for example "This ticket depends on #12." -->
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
See docs/contributing.md, "Pull requests". The title says what this pull request does, as a command
|
|
3
|
+
(for example "Add the bug report template"), not the branch name.
|
|
4
|
+
The text inside these arrows is a hint and does not appear in the pull request.
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
## What
|
|
8
|
+
|
|
9
|
+
<!-- What changed, so the reviewer knows what to expect before reading the code. -->
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
<!-- The reason for the change. A year from now, this is what explains why the code looks the way it does. -->
|
|
14
|
+
|
|
15
|
+
## How I tested
|
|
16
|
+
|
|
17
|
+
<!-- The proof that the change works: the tests added, and any check run by hand with its result.
|
|
18
|
+
A speed-up shows the measured timings and that the results did not change. A viewer change includes a
|
|
19
|
+
screenshot. -->
|
|
20
|
+
|
|
21
|
+
## Before asking for a review
|
|
22
|
+
|
|
23
|
+
<!-- Tick what applies; delete lines that do not apply to this change. -->
|
|
24
|
+
|
|
25
|
+
- [ ] The checks pass locally (`uv run pytest`, `uv run ruff format .`, `uv run ruff check .`,
|
|
26
|
+
`uv run mypy`).
|
|
27
|
+
- [ ] New or changed public functions and classes have docstrings with units, conventions and array shapes.
|
|
28
|
+
- [ ] A method taken from another toolbox or paper (MRtrix3, dipy, MRIToolkit, ...) cites its original papers
|
|
29
|
+
and names the toolbox it follows, in its docstring and in the documentation.
|
|
30
|
+
- [ ] A new user-facing feature has an example in `examples/`.
|
|
31
|
+
- [ ] I read my own changes in the "Files changed" tab.
|
|
32
|
+
|
|
33
|
+
<!-- Replace the number with the ticket this pull request finishes. "Closes" must stay in this description,
|
|
34
|
+
not the title, so that merging closes the ticket. -->
|
|
35
|
+
|
|
36
|
+
Closes #
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Runs the project's checks on every pull request and on every push to main, unless the change only touches
|
|
2
|
+
# Markdown files. The same commands can be run locally; see docs/contributing.md, step 6.
|
|
3
|
+
name: CI
|
|
4
|
+
|
|
5
|
+
# The paths are read in order and a later pattern overrides an earlier one: every file counts, then Markdown files
|
|
6
|
+
# are taken out, then the Markdown of the website in docs/ is put back, because a test builds the website from it
|
|
7
|
+
# and another compares docs/cli.md with the CLI; the pages the website leaves out (exclude_patterns in
|
|
8
|
+
# docs/conf.py) are taken out again. CI runs when any changed file is still in the list.
|
|
9
|
+
on:
|
|
10
|
+
pull_request:
|
|
11
|
+
paths:
|
|
12
|
+
- "**"
|
|
13
|
+
- "!**/*.md"
|
|
14
|
+
- "docs/**/*.md"
|
|
15
|
+
- "!docs/README.md"
|
|
16
|
+
- "!docs/contributing.md"
|
|
17
|
+
- "!docs/releasing.md"
|
|
18
|
+
- "!docs/style.md"
|
|
19
|
+
push:
|
|
20
|
+
branches: [main]
|
|
21
|
+
paths:
|
|
22
|
+
- "**"
|
|
23
|
+
- "!**/*.md"
|
|
24
|
+
- "docs/**/*.md"
|
|
25
|
+
- "!docs/README.md"
|
|
26
|
+
- "!docs/contributing.md"
|
|
27
|
+
- "!docs/releasing.md"
|
|
28
|
+
- "!docs/style.md"
|
|
29
|
+
workflow_dispatch: # allows a manual run from the Actions tab, whatever changed
|
|
30
|
+
|
|
31
|
+
permissions:
|
|
32
|
+
contents: read
|
|
33
|
+
|
|
34
|
+
# A new push to a pull request cancels the run still going for the previous push.
|
|
35
|
+
concurrency:
|
|
36
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
37
|
+
cancel-in-progress: true
|
|
38
|
+
|
|
39
|
+
jobs:
|
|
40
|
+
# Formatting, linting and type checking do not depend on the operating system, so they
|
|
41
|
+
# run once, on Linux (macOS and Windows minutes cost more on GitHub's plans). They need
|
|
42
|
+
# the tools but not the compiled module, which builds on macOS only for now: mypy reads
|
|
43
|
+
# its types from _core.pyi, and import-linter reads the package from src/.
|
|
44
|
+
checks:
|
|
45
|
+
name: ruff, mypy and import-linter
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v7
|
|
49
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
50
|
+
with:
|
|
51
|
+
python-version: "3.14"
|
|
52
|
+
enable-cache: true
|
|
53
|
+
# The development tools without Larmor itself; --no-sync keeps uv run from installing it.
|
|
54
|
+
- name: Install the development tools
|
|
55
|
+
run: uv sync --locked --no-install-project
|
|
56
|
+
# Each check runs even if an earlier one failed, so a pull request shows every
|
|
57
|
+
# problem at once.
|
|
58
|
+
- name: ruff format
|
|
59
|
+
if: success() || failure()
|
|
60
|
+
run: uv run --no-sync ruff format --check .
|
|
61
|
+
- name: ruff check
|
|
62
|
+
if: success() || failure()
|
|
63
|
+
run: uv run --no-sync ruff check --output-format github .
|
|
64
|
+
- name: mypy
|
|
65
|
+
if: success() || failure()
|
|
66
|
+
run: uv run --no-sync mypy
|
|
67
|
+
- name: import-linter
|
|
68
|
+
if: success() || failure()
|
|
69
|
+
env:
|
|
70
|
+
PYTHONPATH: src
|
|
71
|
+
run: uv run --no-sync lint-imports
|
|
72
|
+
|
|
73
|
+
# The C++ backend's own checks on each operating system: a build in which every compiler warning
|
|
74
|
+
# is an error, and its unit tests; on Linux also the format and lint checks, which do not depend
|
|
75
|
+
# on the platform. The tools come from the uv environment. macOS links Accelerate for Eigen's
|
|
76
|
+
# matrix products; Linux (GCC) and Windows (MSVC) use Eigen's own. sccache keeps the compiled
|
|
77
|
+
# objects between runs, and link-time optimisation is off: these builds run once.
|
|
78
|
+
cpp:
|
|
79
|
+
name: C++ build and ctest (${{ matrix.name }})
|
|
80
|
+
runs-on: ${{ matrix.os }}
|
|
81
|
+
timeout-minutes: 20
|
|
82
|
+
strategy:
|
|
83
|
+
fail-fast: false
|
|
84
|
+
matrix:
|
|
85
|
+
include:
|
|
86
|
+
- { name: Linux, os: ubuntu-latest, lint: true }
|
|
87
|
+
- { name: macOS, os: macos-latest, lint: false }
|
|
88
|
+
- { name: Windows, os: windows-latest, lint: false }
|
|
89
|
+
defaults:
|
|
90
|
+
run:
|
|
91
|
+
shell: bash
|
|
92
|
+
working-directory: cpp
|
|
93
|
+
env:
|
|
94
|
+
SCCACHE_GHA_ENABLED: "true"
|
|
95
|
+
steps:
|
|
96
|
+
# Checked out as committed: Windows would otherwise turn line endings into CRLF.
|
|
97
|
+
- name: Keep line endings as committed
|
|
98
|
+
if: runner.os == 'Windows'
|
|
99
|
+
working-directory: .
|
|
100
|
+
run: git config --global core.autocrlf false
|
|
101
|
+
- uses: actions/checkout@v7
|
|
102
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
103
|
+
with:
|
|
104
|
+
python-version: "3.14"
|
|
105
|
+
enable-cache: true
|
|
106
|
+
- uses: mozilla-actions/sccache-action@v0.0.11
|
|
107
|
+
# Ninja needs the environment of the Visual Studio command prompt to find MSVC.
|
|
108
|
+
- uses: ilammy/msvc-dev-cmd@v1.13.0
|
|
109
|
+
if: runner.os == 'Windows'
|
|
110
|
+
- name: Use MSVC
|
|
111
|
+
if: runner.os == 'Windows'
|
|
112
|
+
working-directory: .
|
|
113
|
+
run: echo "CXX=cl" >> "$GITHUB_ENV"
|
|
114
|
+
# The development tools only: the dev preset builds the module itself, and --no-sync keeps
|
|
115
|
+
# uv run from installing Larmor.
|
|
116
|
+
- name: Install the development tools
|
|
117
|
+
run: uv sync --locked --no-install-project
|
|
118
|
+
- name: Configure
|
|
119
|
+
run: >-
|
|
120
|
+
uv run --no-sync cmake --preset dev -DLARMOR_WARNINGS_AS_ERRORS=ON -DLARMOR_LTO=OFF
|
|
121
|
+
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
|
122
|
+
- name: Build
|
|
123
|
+
run: uv run --no-sync cmake --build --preset dev
|
|
124
|
+
- name: ctest
|
|
125
|
+
run: uv run --no-sync ctest --preset dev
|
|
126
|
+
# Each check runs even if an earlier one failed, so a pull request shows every problem at once.
|
|
127
|
+
- name: clang-format
|
|
128
|
+
if: matrix.lint && (success() || failure())
|
|
129
|
+
run: find src tests -name '*.cpp' -o -name '*.hpp' | xargs uv run --no-sync clang-format --dry-run --Werror
|
|
130
|
+
# clang-tidy reads the compile commands of the build above, so it sees the same flags.
|
|
131
|
+
- name: clang-tidy
|
|
132
|
+
if: matrix.lint && (success() || failure())
|
|
133
|
+
run: uv run --no-sync run-clang-tidy.py -p build/dev -quiet 'cpp/(src|tests)/'
|
|
134
|
+
|
|
135
|
+
# The unit tests again, built by AppleClang with AddressSanitizer and UndefinedBehaviorSanitizer:
|
|
136
|
+
# an out-of-bounds read, a use after free, an overflow or a float converted to an integer it does
|
|
137
|
+
# not fit in stops the run.
|
|
138
|
+
cpp-sanitizers:
|
|
139
|
+
name: C++ tests under ASan and UBSan
|
|
140
|
+
runs-on: macos-latest
|
|
141
|
+
defaults:
|
|
142
|
+
run:
|
|
143
|
+
working-directory: cpp
|
|
144
|
+
steps:
|
|
145
|
+
- uses: actions/checkout@v7
|
|
146
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
147
|
+
with:
|
|
148
|
+
python-version: "3.14"
|
|
149
|
+
enable-cache: true
|
|
150
|
+
# The development tools only: the unit tests need neither the module nor Larmor installed,
|
|
151
|
+
# and --no-sync keeps uv run from installing them.
|
|
152
|
+
- name: Install the development tools
|
|
153
|
+
run: uv sync --locked --no-install-project
|
|
154
|
+
- name: Configure
|
|
155
|
+
run: uv run --no-sync cmake --preset sanitize
|
|
156
|
+
- name: Build
|
|
157
|
+
run: uv run --no-sync cmake --build --preset sanitize
|
|
158
|
+
- name: ctest
|
|
159
|
+
run: uv run --no-sync ctest --preset sanitize
|
|
160
|
+
|
|
161
|
+
# The whole test suite on macOS; on Linux and Windows, which have no GPU, all of it but the tests
|
|
162
|
+
# that build the viewer's Qt widgets (marked qt_widgets, see tests/conftest.py) and the gallery
|
|
163
|
+
# examples on a brain: with a software renderer each window takes seconds. Windows, the slowest
|
|
164
|
+
# runner, also leaves out tests/test_docs.py, which builds the website and runs the gallery and
|
|
165
|
+
# the task pages: none of it depends on the platform. The viewer's other
|
|
166
|
+
# tests draw there with Mesa's software Vulkan driver (lavapipe) on Linux and the software
|
|
167
|
+
# adapter of DirectX 12 (WARP) on Windows; Qt runs with its offscreen platform. A test that runs
|
|
168
|
+
# longer than two minutes fails, naming itself.
|
|
169
|
+
tests:
|
|
170
|
+
name: tests (${{ matrix.name }})
|
|
171
|
+
runs-on: ${{ matrix.os }}
|
|
172
|
+
timeout-minutes: 20
|
|
173
|
+
strategy:
|
|
174
|
+
fail-fast: false
|
|
175
|
+
matrix:
|
|
176
|
+
include:
|
|
177
|
+
- { name: Linux, os: ubuntu-latest, select: "not qt_widgets", ignore: "" }
|
|
178
|
+
- { name: macOS, os: macos-latest, select: "", ignore: "" }
|
|
179
|
+
- { name: Windows, os: windows-latest, select: "not qt_widgets", ignore: "--ignore=tests/test_docs.py" }
|
|
180
|
+
defaults:
|
|
181
|
+
run:
|
|
182
|
+
shell: bash
|
|
183
|
+
env:
|
|
184
|
+
SCCACHE_GHA_ENABLED: "true"
|
|
185
|
+
# Read by CMake when the project is installed: compile through sccache, with Ninja, without
|
|
186
|
+
# link-time optimisation.
|
|
187
|
+
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
|
188
|
+
CMAKE_GENERATOR: Ninja
|
|
189
|
+
CMAKE_ARGS: -DLARMOR_LTO=OFF -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
|
190
|
+
steps:
|
|
191
|
+
# Checked out as committed: Windows would otherwise turn line endings into CRLF.
|
|
192
|
+
- name: Keep line endings as committed
|
|
193
|
+
if: runner.os == 'Windows'
|
|
194
|
+
run: git config --global core.autocrlf false
|
|
195
|
+
- uses: actions/checkout@v7
|
|
196
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
197
|
+
with:
|
|
198
|
+
python-version: "3.14"
|
|
199
|
+
enable-cache: true
|
|
200
|
+
- uses: mozilla-actions/sccache-action@v0.0.11
|
|
201
|
+
# Ninja needs the environment of the Visual Studio command prompt to find MSVC.
|
|
202
|
+
- uses: ilammy/msvc-dev-cmd@v1.13.0
|
|
203
|
+
if: runner.os == 'Windows'
|
|
204
|
+
- name: Use MSVC
|
|
205
|
+
if: runner.os == 'Windows'
|
|
206
|
+
run: echo "CXX=cl" >> "$GITHUB_ENV"
|
|
207
|
+
# The libraries Qt's offscreen platform loads, and the software Vulkan driver.
|
|
208
|
+
- name: Install Qt's libraries and lavapipe
|
|
209
|
+
if: runner.os == 'Linux'
|
|
210
|
+
run: |
|
|
211
|
+
sudo apt-get update
|
|
212
|
+
sudo apt-get install -y --no-install-recommends \
|
|
213
|
+
mesa-vulkan-drivers libegl1 libgl1 libxkbcommon0 libfontconfig1 libdbus-1-3
|
|
214
|
+
# Installing the project builds the C++ module (scikit-build-core, CMake).
|
|
215
|
+
- name: Install the project and its development tools
|
|
216
|
+
run: uv sync --locked
|
|
217
|
+
- name: pytest
|
|
218
|
+
run: uv run pytest -n auto -rfE --timeout 120 -m "${{ matrix.select }}" ${{ matrix.ignore }}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Builds the documentation website. A pull request only builds it, so a broken build fails the check; a push to
|
|
2
|
+
# main publishes it as the "dev" version and a version tag (v*) publishes it as the stable version, both to the
|
|
3
|
+
# gh-pages branch, which GitHub Pages serves at https://larmor.org. See docs/releasing.md, section Website.
|
|
4
|
+
name: Docs
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
pull_request:
|
|
8
|
+
paths:
|
|
9
|
+
- "docs/**"
|
|
10
|
+
- "examples/**"
|
|
11
|
+
- "src/**"
|
|
12
|
+
- ".github/workflows/docs.yml"
|
|
13
|
+
push:
|
|
14
|
+
branches: [main]
|
|
15
|
+
tags: ["v*"]
|
|
16
|
+
workflow_dispatch: # builds the site, without publishing it
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
|
|
21
|
+
# Publishes queue one after the other and are never cancelled half way; a new push to a pull request cancels the
|
|
22
|
+
# build still going for the previous push.
|
|
23
|
+
concurrency:
|
|
24
|
+
group: docs-${{ github.event_name == 'pull_request' && github.ref || 'publish' }}
|
|
25
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
build:
|
|
29
|
+
name: build
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
timeout-minutes: 45
|
|
32
|
+
env:
|
|
33
|
+
CMAKE_GENERATOR: Ninja
|
|
34
|
+
CMAKE_ARGS: -DLARMOR_LTO=OFF
|
|
35
|
+
# The name the version switcher marks as the current one: the version on a tag, dev otherwise.
|
|
36
|
+
LARMOR_DOCS_VERSION: ${{ startsWith(github.ref, 'refs/tags/v') && github.ref_name || 'dev' }}
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v7
|
|
39
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
40
|
+
with:
|
|
41
|
+
python-version: "3.14"
|
|
42
|
+
enable-cache: true
|
|
43
|
+
# The libraries Qt's offscreen platform loads, and the software Vulkan driver.
|
|
44
|
+
- name: Install Qt's libraries and lavapipe
|
|
45
|
+
run: |
|
|
46
|
+
sudo apt-get update
|
|
47
|
+
sudo apt-get install -y --no-install-recommends \
|
|
48
|
+
mesa-vulkan-drivers libegl1 libgl1 libxkbcommon0 libfontconfig1 libdbus-1-3
|
|
49
|
+
# Installing the project builds the C++ module (scikit-build-core, CMake).
|
|
50
|
+
- name: Install the project and the documentation tools
|
|
51
|
+
run: uv sync --locked
|
|
52
|
+
# The example datasets the gallery downloads, kept between runs; the key, and so
|
|
53
|
+
# a new download, changes only when the table of files and checksums does.
|
|
54
|
+
- name: Restore the example datasets
|
|
55
|
+
uses: actions/cache@v6.1.0
|
|
56
|
+
with:
|
|
57
|
+
path: ${{ runner.temp }}/larmor-data
|
|
58
|
+
key: larmor-data-${{ hashFiles('src/larmor/data/files.py') }}
|
|
59
|
+
- name: Use the example datasets
|
|
60
|
+
run: echo "LARMOR_DATA_DIR=${{ runner.temp }}/larmor-data" >> "$GITHUB_ENV"
|
|
61
|
+
# The gallery runs its examples; -W makes any warning an error.
|
|
62
|
+
- name: Build the website
|
|
63
|
+
run: uv run sphinx-build -b dirhtml -W docs "${{ runner.temp }}/site"
|
|
64
|
+
env:
|
|
65
|
+
QT_QPA_PLATFORM: offscreen
|
|
66
|
+
- uses: actions/upload-artifact@v7.0.2
|
|
67
|
+
if: github.event_name != 'pull_request'
|
|
68
|
+
with:
|
|
69
|
+
name: site
|
|
70
|
+
path: ${{ runner.temp }}/site
|
|
71
|
+
if-no-files-found: error
|
|
72
|
+
|
|
73
|
+
publish:
|
|
74
|
+
name: publish
|
|
75
|
+
needs: build
|
|
76
|
+
if: github.event_name == 'push'
|
|
77
|
+
runs-on: ubuntu-latest
|
|
78
|
+
timeout-minutes: 15
|
|
79
|
+
permissions:
|
|
80
|
+
contents: write
|
|
81
|
+
env:
|
|
82
|
+
IS_TAG: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
|
83
|
+
steps:
|
|
84
|
+
- uses: actions/download-artifact@v8.0.2
|
|
85
|
+
with:
|
|
86
|
+
name: site
|
|
87
|
+
path: site
|
|
88
|
+
# The site root has the CNAME file that keeps the custom domain, .nojekyll so that GitHub Pages serves
|
|
89
|
+
# folders starting with an underscore (_static), and versions.json for the version switcher: the
|
|
90
|
+
# published list with dev always there and the stable version replaced when a tag is published. Before the
|
|
91
|
+
# first tag the root also gets an index.html that redirects to /dev/; the stable site replaces it.
|
|
92
|
+
- name: Write the files of the site root
|
|
93
|
+
run: |
|
|
94
|
+
mkdir root
|
|
95
|
+
echo larmor.org > root/CNAME
|
|
96
|
+
touch root/.nojekyll
|
|
97
|
+
curl -fsS "https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/gh-pages/versions.json" -o old.json || echo '[]' > old.json
|
|
98
|
+
python3 - <<'PY'
|
|
99
|
+
import json, os
|
|
100
|
+
|
|
101
|
+
old = json.load(open("old.json"))
|
|
102
|
+
versions = [{"name": "dev", "version": "dev", "url": "https://larmor.org/dev/"}]
|
|
103
|
+
if os.environ["IS_TAG"] == "true":
|
|
104
|
+
number = os.environ["GITHUB_REF_NAME"].removeprefix("v")
|
|
105
|
+
versions.append(
|
|
106
|
+
{
|
|
107
|
+
"name": f"{number} (stable)",
|
|
108
|
+
"version": number,
|
|
109
|
+
"url": "https://larmor.org/",
|
|
110
|
+
"preferred": True,
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
else:
|
|
114
|
+
stable = [entry for entry in old if entry.get("preferred")]
|
|
115
|
+
versions += stable
|
|
116
|
+
# Until the first release there is no stable site: the root sends visitors to dev.
|
|
117
|
+
if not stable:
|
|
118
|
+
open("root/index.html", "w").write(
|
|
119
|
+
"<!doctype html>\n"
|
|
120
|
+
'<html lang="en">\n<head>\n<meta charset="utf-8">\n'
|
|
121
|
+
"<title>Larmor</title>\n"
|
|
122
|
+
'<link rel="canonical" href="https://larmor.org/dev/">\n'
|
|
123
|
+
'<meta http-equiv="refresh" content="0; url=/dev/">\n'
|
|
124
|
+
"</head>\n<body>\n"
|
|
125
|
+
'<p><a href="/dev/">Larmor documentation</a></p>\n'
|
|
126
|
+
"</body>\n</html>\n"
|
|
127
|
+
)
|
|
128
|
+
json.dump(versions, open("root/versions.json", "w"), indent=2)
|
|
129
|
+
PY
|
|
130
|
+
cat root/versions.json
|
|
131
|
+
- name: Publish the dev version
|
|
132
|
+
if: env.IS_TAG != 'true'
|
|
133
|
+
uses: peaceiris/actions-gh-pages@v4.1.0
|
|
134
|
+
with:
|
|
135
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
136
|
+
publish_dir: site
|
|
137
|
+
destination_dir: dev
|
|
138
|
+
keep_files: true
|
|
139
|
+
# The stable version is the site root; dev/ stays because the files already there are kept.
|
|
140
|
+
- name: Publish the stable version
|
|
141
|
+
if: env.IS_TAG == 'true'
|
|
142
|
+
uses: peaceiris/actions-gh-pages@v4.1.0
|
|
143
|
+
with:
|
|
144
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
145
|
+
publish_dir: site
|
|
146
|
+
keep_files: true
|
|
147
|
+
- name: Publish the site root files
|
|
148
|
+
uses: peaceiris/actions-gh-pages@v4.1.0
|
|
149
|
+
with:
|
|
150
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
151
|
+
publish_dir: root
|
|
152
|
+
keep_files: true
|
|
153
|
+
enable_jekyll: false
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Builds the wheels users install, one per platform, with cibuildwheel, and checks each one in a fresh
|
|
2
|
+
# environment: installed there, it passes the tests listed under [tool.cibuildwheel] in pyproject.toml.
|
|
3
|
+
# Also builds the source distribution, which carries Eigen and pocketfft, and checks that it installs
|
|
4
|
+
# with only a C++ compiler, downloading no C++ library. On a version tag, once every wheel and the
|
|
5
|
+
# source distribution pass, publishes them to PyPI through trusted publishing: no token is stored.
|
|
6
|
+
name: Wheels
|
|
7
|
+
|
|
8
|
+
on:
|
|
9
|
+
pull_request:
|
|
10
|
+
paths:
|
|
11
|
+
- "pyproject.toml"
|
|
12
|
+
- "cpp/CMakeLists.txt"
|
|
13
|
+
- "cpp/CMakePresets.json"
|
|
14
|
+
- "cpp/cmake/**"
|
|
15
|
+
- "cpp/src/**/CMakeLists.txt"
|
|
16
|
+
- ".github/workflows/wheels.yml"
|
|
17
|
+
push:
|
|
18
|
+
tags: ["v*"]
|
|
19
|
+
workflow_dispatch: # allows a manual run from the Actions tab
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
26
|
+
cancel-in-progress: true
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
wheel:
|
|
30
|
+
name: wheel (${{ matrix.name }})
|
|
31
|
+
runs-on: ${{ matrix.runner }}
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
include:
|
|
36
|
+
- { name: linux-x86_64, runner: ubuntu-latest }
|
|
37
|
+
- { name: linux-aarch64, runner: ubuntu-24.04-arm }
|
|
38
|
+
- { name: macos-arm64, runner: macos-latest }
|
|
39
|
+
- { name: macos-x86_64, runner: macos-15-intel }
|
|
40
|
+
- { name: windows-x86_64, runner: windows-latest }
|
|
41
|
+
steps:
|
|
42
|
+
# Checked out as committed: Windows would otherwise turn line endings into CRLF.
|
|
43
|
+
- name: Keep line endings as committed
|
|
44
|
+
if: runner.os == 'Windows'
|
|
45
|
+
run: git config --global core.autocrlf false
|
|
46
|
+
- uses: actions/checkout@v7
|
|
47
|
+
# On Linux the wheel is built and tested inside a manylinux container, so it runs on any
|
|
48
|
+
# distribution with a recent enough glibc; elsewhere it is built on the runner itself.
|
|
49
|
+
- uses: pypa/cibuildwheel@v4.3.1
|
|
50
|
+
with:
|
|
51
|
+
output-dir: wheelhouse
|
|
52
|
+
- uses: actions/upload-artifact@v7.0.2
|
|
53
|
+
with:
|
|
54
|
+
name: wheel-${{ matrix.name }}
|
|
55
|
+
path: wheelhouse/*.whl
|
|
56
|
+
|
|
57
|
+
sdist:
|
|
58
|
+
name: source distribution
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v7
|
|
62
|
+
- uses: astral-sh/setup-uv@v10.2.0 # setup-uv publishes exact versions only
|
|
63
|
+
with:
|
|
64
|
+
python-version: "3.14"
|
|
65
|
+
- name: Put Eigen and pocketfft into cpp/third_party
|
|
66
|
+
run: cmake -P cpp/cmake/vendor.cmake
|
|
67
|
+
# --no-config: the build in an isolated environment, as pip builds it, not in the uv
|
|
68
|
+
# environment as [tool.uv] in pyproject.toml asks for development.
|
|
69
|
+
- name: Build the source distribution
|
|
70
|
+
run: uv build --no-config --sdist --out-dir dist
|
|
71
|
+
# FETCHCONTENT_FULLY_DISCONNECTED stops CMake from downloading anything, so the build passes
|
|
72
|
+
# only with the C++ libraries the source distribution carries. The Python build tools still
|
|
73
|
+
# come from PyPI, as for any source build.
|
|
74
|
+
- name: Install from the source distribution in a fresh environment
|
|
75
|
+
run: |
|
|
76
|
+
uv venv --no-config --python 3.14 sdist-env
|
|
77
|
+
uv pip install --no-config --python sdist-env dist/*.tar.gz pytest pytest-xdist nibabel \
|
|
78
|
+
-C cmake.define.FETCHCONTENT_FULLY_DISCONNECTED=ON
|
|
79
|
+
- name: Test the installed package
|
|
80
|
+
run: sdist-env/bin/python -m pytest -p no:cacheprovider tests/test_core.py tests/dwi
|
|
81
|
+
- uses: actions/upload-artifact@v7.0.2
|
|
82
|
+
with:
|
|
83
|
+
name: sdist
|
|
84
|
+
path: dist/*.tar.gz
|
|
85
|
+
|
|
86
|
+
publish:
|
|
87
|
+
name: publish to PyPI
|
|
88
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
89
|
+
needs: [wheel, sdist]
|
|
90
|
+
runs-on: ubuntu-latest
|
|
91
|
+
# The PyPI project trusts this repository, this workflow and this environment only.
|
|
92
|
+
environment:
|
|
93
|
+
name: pypi
|
|
94
|
+
url: https://pypi.org/project/larmor-dmri/
|
|
95
|
+
permissions:
|
|
96
|
+
id-token: write
|
|
97
|
+
steps:
|
|
98
|
+
- uses: actions/download-artifact@v8.0.2
|
|
99
|
+
with:
|
|
100
|
+
path: dist
|
|
101
|
+
merge-multiple: true
|
|
102
|
+
- uses: pypa/gh-action-pypi-publish@v1.14.2
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.venv/
|
|
6
|
+
.env
|
|
7
|
+
build/
|
|
8
|
+
dist/
|
|
9
|
+
|
|
10
|
+
# Tool caches
|
|
11
|
+
.pytest_cache/
|
|
12
|
+
.mypy_cache/
|
|
13
|
+
.ruff_cache/
|
|
14
|
+
.import_linter_cache/
|
|
15
|
+
.coverage
|
|
16
|
+
htmlcov/
|
|
17
|
+
|
|
18
|
+
# The C++ build folder
|
|
19
|
+
cpp/build/
|
|
20
|
+
|
|
21
|
+
# The documentation website and the gallery it generates
|
|
22
|
+
docs/_build/
|
|
23
|
+
docs/gallery/
|
|
24
|
+
docs/gen_modules/
|
|
25
|
+
docs/sg_execution_times.rst
|
|
26
|
+
examples/**/*.png
|
|
27
|
+
examples/**/*.webp
|
|
28
|
+
|
|
29
|
+
# Imaging data and tractograms: only the small files in tests/data are committed
|
|
30
|
+
*.nii
|
|
31
|
+
*.nii.gz
|
|
32
|
+
*.mif
|
|
33
|
+
*.mif.gz
|
|
34
|
+
*.mih
|
|
35
|
+
*.tck
|
|
36
|
+
*.trk
|
|
37
|
+
*.trk.gz
|
|
38
|
+
*.tsf
|
|
39
|
+
*.vtk
|
|
40
|
+
*.vtp
|
|
41
|
+
*.gii
|
|
42
|
+
*.mgh
|
|
43
|
+
*.mgz
|
|
44
|
+
*.dcm
|
|
45
|
+
!tests/data/**
|
|
46
|
+
|
|
47
|
+
# MATLAB
|
|
48
|
+
*.asv
|
|
49
|
+
|
|
50
|
+
# Profiles
|
|
51
|
+
*.prof
|
|
52
|
+
*.lprof
|
|
53
|
+
|
|
54
|
+
# Editors and operating systems
|
|
55
|
+
.idea/
|
|
56
|
+
.vscode/
|
|
57
|
+
.claude/
|
|
58
|
+
.DS_Store
|
|
59
|
+
Thumbs.db
|
|
60
|
+
desktop.ini
|
|
61
|
+
|
|
62
|
+
# The compiled C++ module, built in place
|
|
63
|
+
*.so
|
|
64
|
+
*.pyd
|
|
65
|
+
|
|
66
|
+
# Eigen and pocketfft for the source distribution (cpp/cmake/vendor.cmake)
|
|
67
|
+
cpp/third_party/
|