-
Notifications
You must be signed in to change notification settings - Fork 34
GPU Version #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ErickHernandezGutierrez
wants to merge
194
commits into
daducci:master
Choose a base branch
from
ErickHernandezGutierrez:cudagpu
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
GPU Version #83
Changes from 155 commits
Commits
Show all changes
194 commits
Select commit
Hold shift + click to select a range
1ddb31b
adding cuda to cython compilation
ErickHernandezGutierrez d1d594b
adding gpu manager with CudaLinearOperator class
ErickHernandezGutierrez 77816f3
testing CudaLinearOperator on core.pyx file
ErickHernandezGutierrez 91ebe72
Adding kernels for Ax multiplication in GPU
ErickHernandezGutierrez ad4c7bc
Fixing compilation error with variable names
ErickHernandezGutierrez 0438fcd
Fixing compilation error with variable names
ErickHernandezGutierrez e1ba287
Fixing compilation error with variable names
ErickHernandezGutierrez 173d953
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 1ef189c
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 5ac1533
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez d9d6868
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez c9927ee
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez f2f489e
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez e8da361
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 491ce82
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 71dc3d5
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 4ffcd26
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez a2f1fa1
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 80adafe
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez e6964ea
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez da54fc2
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 6e5974d
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez c121e13
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 4835b3f
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 528b9b3
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez be50c26
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 24eb5d0
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 2f37df8
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez 8184b95
Adding kernels for operation A'y in GPU
ErickHernandezGutierrez c00957c
Enabling nthreads=0 in set_threads() function
ErickHernandezGutierrez 4a61912
Enabling nthreads=0 in set_threads() function
ErickHernandezGutierrez 4f772c0
Enabling nthreads=0 in set_threads() function
ErickHernandezGutierrez b3a1a8e
Modfying some variable names
ErickHernandezGutierrez 02aa561
Modfying some variable names
ErickHernandezGutierrez 071464d
Modifying some variable names
ErickHernandezGutierrez 43a1439
Modifying some variable names
ErickHernandezGutierrez 437e553
Modifying some variable names
ErickHernandezGutierrez 0e41caf
Revert "Enabling nthreads=0 in set_threads() function"
ErickHernandezGutierrez c64337a
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez 86c9d32
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez 242c7fb
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez f4b1382
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez a66b5a3
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez f8c5b0c
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez 211744b
Reverting wrong file merging and modifying some variable names
ErickHernandezGutierrez fe9eb38
Adding CUDA error checker
ErickHernandezGutierrez a0e5213
Adding CUDA error checker
ErickHernandezGutierrez 6f6740a
Adding CUDA error checker
ErickHernandezGutierrez e074127
Adding CUDA error checker
ErickHernandezGutierrez aea527c
Adding CUDA error checker
ErickHernandezGutierrez 2046cae
Adding CUDA error checker
ErickHernandezGutierrez 06be9b9
Adding CUDA error checker
ErickHernandezGutierrez 1253405
Adding CUDA error checker
ErickHernandezGutierrez 0dbe1dc
Adding CudaLinearOperator to build_dictionary()
ErickHernandezGutierrez e1c3319
Adding CudaLinearOperator to build_dictionary()
ErickHernandezGutierrez b187eed
Adding CudaLinearOperator to build_dictionary()
ErickHernandezGutierrez 1ab2b28
Fixing bug with A'y operation in CUDA
ErickHernandezGutierrez 71099f6
Fixing bug with A'y operation in CUDA
ErickHernandezGutierrez 2e19a23
Fixing bug with A'y operation in CUDA
ErickHernandezGutierrez e00cc6e
Fixing bug with A'y operation in CUDA
ErickHernandezGutierrez 75b7219
Fixing bug with A'y operation in CUDA
ErickHernandezGutierrez c2c6a8d
Solving bug in operation A'y in GPU
ErickHernandezGutierrez 2e1559a
Solving bug with A'y operation in CUDA
ErickHernandezGutierrez 484df81
Solving bug with A'y operation in CUDA
ErickHernandezGutierrez f06d11c
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez 6c335cd
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez 6cb8994
Adding memory size and CUDA version checker
ErickHernandezGutierrez 1c32ed7
Adding memory size and CUDA version checker
ErickHernandezGutierrez 02b1c67
Adding memory size and CUDA version checker
ErickHernandezGutierrez 2bea86b
Adding memory size and CUDA version checker
ErickHernandezGutierrez 38e39a8
Adding memory size and CUDA version checker
ErickHernandezGutierrez 58f09dc
Adding memory size and CUDA version checker
ErickHernandezGutierrez 65a101e
Adding memory size and CUDA version checker
ErickHernandezGutierrez 4d59900
Adding memory size and CUDA version checker
ErickHernandezGutierrez 06396e0
Adding memory size and CUDA version checker
ErickHernandezGutierrez f20936d
Adding memory size and CUDA version checker
ErickHernandezGutierrez b4cb321
Adding memory size and CUDA version checker
ErickHernandezGutierrez c4f0b9d
Adding memory size and CUDA version checker
ErickHernandezGutierrez eda2061
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez b2adc33
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez 258b4bc
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez bd4eaf9
Solving bug with operation A'y in CUDA
ErickHernandezGutierrez f6c22b3
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 9ccdcb8
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez e718fa3
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 76fa0c7
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 4d9cc30
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 2aa0ac9
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 9b8b9f8
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 9b529aa
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 948d638
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 8c9e1ec
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 07287e7
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 4bf271a
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 7a23b1b
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez d911b00
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 35c7fab
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez f7ac496
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez d0a855e
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 7cfbad6
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 99c332d
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 90df1b2
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 4f6ef08
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez da1df87
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez b51f9b5
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez e442dc5
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 5ebdad2
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez e0250e8
Adding fcall flag to CudaLinearOperator
ErickHernandezGutierrez 9a7dd02
Minor clenup
ErickHernandezGutierrez a120ff6
Adding texture memory to kernels
ErickHernandezGutierrez 512edb2
Adding texture memory to kernels
ErickHernandezGutierrez ccc147b
removing textures for experiments
ErickHernandezGutierrez b62895d
removing textures for experiments
ErickHernandezGutierrez 1667493
Adding option to choose GPU
ErickHernandezGutierrez b948fde
Adding option to choose GPU
ErickHernandezGutierrez 0f1de29
Adding option to choose CUDA GPU
ErickHernandezGutierrez 2a5b493
Adding option to choose CUDA GPU
ErickHernandezGutierrez a99c955
Adding option to choose CUDA GPU
ErickHernandezGutierrez 2082491
Adding option to choose CUDA GPU
ErickHernandezGutierrez b0641ff
Adding option to choose CUDA GPU
ErickHernandezGutierrez 9c19631
Adding option to choose CUDA GPU
ErickHernandezGutierrez b89bed8
Adding option to choose CUDA GPU
ErickHernandezGutierrez 8fb324b
Adding option to choose CUDA GPU
ErickHernandezGutierrez 8c8fa75
Adding option to choose CUDA GPU
ErickHernandezGutierrez 8ce9b41
Adding option to choose CUDA GPU
ErickHernandezGutierrez aa86476
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 0c8007e
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez ad35e09
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 26ab0ac
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 14bb55d
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 0067039
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez bee7b0e
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez bd2b467
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 666407d
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 2a15a0c
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 90ac9b9
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez c1d30ed
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 382efb9
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez e1638b6
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 349efd2
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 97cefb0
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 95d2bbf
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 9511ec7
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez bd6518a
Merging CUDA version with the lastest COMMIT version
ErickHernandezGutierrez 234f750
Adding tutorial to enable GPU acceleration
ErickHernandezGutierrez 13dfccf
Adding tutorial to enable GPU acceleration
ErickHernandezGutierrez ced31cc
Adding tutorial to enable GPU acceleration
ErickHernandezGutierrez 52cbcc5
Minor cleanup
ErickHernandezGutierrez 0ebf7df
Adding Cuda toolkit to the installation guide
ErickHernandezGutierrez 714f066
Adding Cuda toolkit to the installation guide
ErickHernandezGutierrez 02d00b1
Adding link to nvidia drivers
ErickHernandezGutierrez ff86418
Merge branch 'master' of https://github.com/daducci/COMMIT into cudagpu
ErickHernandezGutierrez c91b4d2
Adding version information to CHANGELOG file
ErickHernandezGutierrez b7e1c60
Removing tutorial for cuda version
ErickHernandezGutierrez 2b61340
Minor cleanup
ErickHernandezGutierrez ea871aa
Minor cleanup
ErickHernandezGutierrez 5142c49
Minor Cleanup
ErickHernandezGutierrez 1deff30
Solving Bug
ErickHernandezGutierrez f84b4ee
Solving Bug
ErickHernandezGutierrez 083c1ee
Avoid compilation of CPU version when GPU version is selected
ErickHernandezGutierrez b33e668
Create cudaoperator folder
ErickHernandezGutierrez c34128c
Create cudaoperator folder
ErickHernandezGutierrez aabaed0
Create cudaoperator folder
ErickHernandezGutierrez a563a52
Change cuda error handling
ErickHernandezGutierrez 84036cf
Change cuda error handling
ErickHernandezGutierrez 6b9cd46
Change cuda error handling
ErickHernandezGutierrez 4082bdd
Check GPU properties before build operator
ErickHernandezGutierrez 8c98e69
Check GPU properties before build operator
ErickHernandezGutierrez cd80599
Check GPU properties before build operator
ErickHernandezGutierrez b0f8e3a
Check GPU properties before build operator
ErickHernandezGutierrez 7570d1c
Check GPU properties before build operator
ErickHernandezGutierrez 4e32050
Check GPU properties before build operator
ErickHernandezGutierrez 1da8091
Check GPU properties before build operator
ErickHernandezGutierrez a5f279a
Show warning message when using 'n' in 'set_threads()'
ErickHernandezGutierrez 5bc8b16
Show warning message when using 'n' in 'set_threads()'
ErickHernandezGutierrez 421ba45
Modify CUDA error messages
ErickHernandezGutierrez 82deb61
Modify CUDA error messages
ErickHernandezGutierrez c84ee15
Modify CUDA error messages
ErickHernandezGutierrez 3ad7365
Modify CUDA error messages
ErickHernandezGutierrez d780d56
Modify CUDA error messages
ErickHernandezGutierrez d95aaa0
Modify CUDA error messages
ErickHernandezGutierrez 5a33853
Modify CUDA error messages
ErickHernandezGutierrez 7841549
Add color to COMMIT when CUDA is enabled
ErickHernandezGutierrez fbb90ea
Add color to COMMIT when CUDA is enabled
ErickHernandezGutierrez 9926bc6
Add color to COMMIT when CUDA is enabled
ErickHernandezGutierrez 8920a16
Add color to COMMIT when CUDA is enabled
ErickHernandezGutierrez 0246036
Add destructor to CudaLinearOperator class
ErickHernandezGutierrez 4e30982
Remove messages when deleting GPU memory
ErickHernandezGutierrez 512eea8
Assign 1 thread per voxel
ErickHernandezGutierrez 867c4c5
Assign 1 thread per voxel
ErickHernandezGutierrez 32c8144
Change end of line from CRLF to LF
ErickHernandezGutierrez c7c721f
Merge branch 'master' of https://github.com/daducci/COMMIT into cudagpu
ErickHernandezGutierrez bd0aa44
GPU acceleration added to CHANGELOG
ErickHernandezGutierrez 018bfb7
merge cudagpu branch with lastest version
ErickHernandezGutierrez File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,4 @@ | ||
| extras/* linguist-vendored | ||
|
|
||
| # Never modify line endings of our bash scripts | ||
| *.sh -lf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,33 +1,33 @@ | ||
| Unless otherwise specified by LICENSE.txt files in individual | ||
| directories, or within individual files or functions, all code is: | ||
|
|
||
| Copyright (c) 2008-2020, COMMIT developers | ||
| All rights reserved. | ||
|
|
||
| Redistribution and use in source and binary forms, with or without | ||
| modification, are permitted provided that the following conditions are | ||
| met: | ||
|
|
||
| * Redistributions of source code must retain the above copyright | ||
| notice, this list of conditions and the following disclaimer. | ||
|
|
||
| * Redistributions in binary form must reproduce the above | ||
| copyright notice, this list of conditions and the following | ||
| disclaimer in the documentation and/or other materials provided | ||
| with the distribution. | ||
|
|
||
| * Neither the name of the COMMIT developers nor the names of any | ||
| contributors may be used to endorse or promote products derived | ||
| from this software without specific prior written permission. | ||
|
|
||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| Unless otherwise specified by LICENSE.txt files in individual | ||
| directories, or within individual files or functions, all code is: | ||
| Copyright (c) 2008-2020, COMMIT developers | ||
| All rights reserved. | ||
| Redistribution and use in source and binary forms, with or without | ||
| modification, are permitted provided that the following conditions are | ||
| met: | ||
| * Redistributions of source code must retain the above copyright | ||
| notice, this list of conditions and the following disclaimer. | ||
| * Redistributions in binary form must reproduce the above | ||
| copyright notice, this list of conditions and the following | ||
| disclaimer in the documentation and/or other materials provided | ||
| with the distribution. | ||
| * Neither the name of the COMMIT developers nor the names of any | ||
| contributors may be used to endorse or promote products derived | ||
| from this software without specific prior written permission. | ||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| include README.md | ||
ErickHernandezGutierrez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| include LICENSE | ||
|
|
||
| recursive-include commit *.h | ||
| recursive-include commit *.cpp | ||
| recursive-include commit *.pyx | ||
| include README.md | ||
| include LICENSE | ||
| recursive-include commit *.h | ||
| recursive-include commit *.cpp | ||
| recursive-include commit *.pyx | ||
| recursive-include commit *.c | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,30 +1,30 @@ | ||
| # COMMIT | ||
ErickHernandezGutierrez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| The reconstructions recovered with existing tractography algorithms are *not really quantitative* even though diffusion MRI is a quantitative modality by nature. As a matter of fact, several techniques have been proposed in recent years to estimate, at the voxel level, intrinsic micro-structural features of the tissue, such as axonal density and diameter, by using multi-compartment models. COMMIT implements a novel framework to **re-establish the link between tractography and tissue micro-structure**. | ||
|
|
||
| Starting from an input set of candidate fiber-tracts, which can be estimated using standard fiber-tracking techniques, COMMIT models the diffusion MRI signal in each voxel of the image as a *linear combination* of the restricted and hindered contributions generated in every location of the brain by these candidate tracts. Then, COMMIT seeks for the effective contribution of each of them such that they globally fit the measured signal at best. | ||
|
|
||
| These weights can be easily estimated by solving a convenient **global convex optimization problem** and using efficient algorithms. Results clearly demonstrated the benefits of the proposed formulation, opening new perspectives for a more quantitative and biologically-plausible assessment of the structural connectivity in the brain. | ||
|
|
||
|
|
||
| ## Main features | ||
|
|
||
| - Accepts and works with **any input tractogram** (i.e. set of fiber tracts). | ||
| - Can easily implement and consider **any multi-compartment model** available in the literature: possibility to account for restricted, hindered as well as isotropic contributions into the signal forward model. | ||
| - Very efficient: the core of the algorithm is implemented in C++ and using **multi-threading programming** for efficient parallel computation. | ||
| - **Low memory** consumption using optimized sparse data structures, e.g. it can easily run on a standard laptop with 8GB RAM a full-brain tractogram from the HCP data (1M fibers, 3 shells, 1.25 mm^3 resolution). | ||
| - **Soon**: **GPU implementation** for even faster model fitting. | ||
|
|
||
|
|
||
| ## Documentation | ||
|
|
||
| More information/documentation, as well as a series of tutorials, can be found in the [wiki pages](https://github.com/daducci/COMMIT/wiki/Home). | ||
|
|
||
| ### Installation | ||
|
|
||
| To install COMMIT, refer to the [installation guide](https://github.com/daducci/COMMIT/wiki/Installation). | ||
|
|
||
| ### Getting started | ||
|
|
||
| To get started with the COMMIT framework, have a look at [this tutorial](https://github.com/daducci/COMMIT/wiki/Getting-started), which will guide you through the main steps of the processing. | ||
|
|
||
| # COMMIT | ||
| The reconstructions recovered with existing tractography algorithms are *not really quantitative* even though diffusion MRI is a quantitative modality by nature. As a matter of fact, several techniques have been proposed in recent years to estimate, at the voxel level, intrinsic micro-structural features of the tissue, such as axonal density and diameter, by using multi-compartment models. COMMIT implements a novel framework to **re-establish the link between tractography and tissue micro-structure**. | ||
| Starting from an input set of candidate fiber-tracts, which can be estimated using standard fiber-tracking techniques, COMMIT models the diffusion MRI signal in each voxel of the image as a *linear combination* of the restricted and hindered contributions generated in every location of the brain by these candidate tracts. Then, COMMIT seeks for the effective contribution of each of them such that they globally fit the measured signal at best. | ||
| These weights can be easily estimated by solving a convenient **global convex optimization problem** and using efficient algorithms. Results clearly demonstrated the benefits of the proposed formulation, opening new perspectives for a more quantitative and biologically-plausible assessment of the structural connectivity in the brain. | ||
| ## Main features | ||
| - Accepts and works with **any input tractogram** (i.e. set of fiber tracts). | ||
| - Can easily implement and consider **any multi-compartment model** available in the literature: possibility to account for restricted, hindered as well as isotropic contributions into the signal forward model. | ||
| - Very efficient: the core of the algorithm is implemented in C++ and using **multi-threading programming** for efficient parallel computation. | ||
| - **Low memory** consumption using optimized sparse data structures, e.g. it can easily run on a standard laptop with 8GB RAM a full-brain tractogram from the HCP data (1M fibers, 3 shells, 1.25 mm^3 resolution). | ||
| - **Soon**: **GPU implementation** for even faster model fitting. | ||
| ## Documentation | ||
| More information/documentation, as well as a series of tutorials, can be found in the [wiki pages](https://github.com/daducci/COMMIT/wiki/Home). | ||
| ### Installation | ||
| To install COMMIT, refer to the [installation guide](https://github.com/daducci/COMMIT/wiki/Installation). | ||
| ### Getting started | ||
| To get started with the COMMIT framework, have a look at [this tutorial](https://github.com/daducci/COMMIT/wiki/Getting-started), which will guide you through the main steps of the processing. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.