Fixel-fixel connectivity matrix format#1693
Merged
Lestropie merged 248 commits intostats_enhancementsfrom Oct 8, 2019
Merged
Conversation
Ensure that if the connectome matrix selection is updated, the limits for relevant controls are also updated. Also functionalised some redundant code to compress things a little.
The original version was based on the duality principle for cases m<n and m>n, which in some cases led to asymmetric numerical instabilities. Here, we modify the formulas to be consistent with the m>n case at all times, which we found to be most numerically stable.
The formulas are now always made consistent with the m<n case that is discussed in tha paper, effectively taking the transpose whenever m>n.
We chose to keep the patch size identical, hence using a block 'against' the edge of the image to estimate the noise level and then denoising the non-centred voxels.
…onding .cpp file found #1042
… for speed reasons. Files without shebang in first line or non UTF-8 encoding in first 1024 bytes get deleted on build.
… of deleting them
While import of Python modules has been moved to the outer scope, attempting to do so for the import of MRtrix3 Python modules within those modules themselves appears to introduce circular dependencies. This change moves these import statements between MRtrix3 modules into the functions requiring those modules. This should not raise a warning with the latest pylint updates.
Fixes for TravisCI on dev
Revert changes that were made in #1507 with respect to determination of the default maximum angle for the various tracking algorithms. There, this decision was changed from being based on (90deg * step_size / vox()) to being a minimum radius of curvature of one voxel. Additionally, the default step size in the presence of RK4 was changed from 0.1*vox() to 0.5*vox(). This commit reverts these changes, but retains the calculation of minimum radius of curvature necessary for streamline length calculation optimisations.
tcken: Revert default maximum angle calculation
docs: fixed SH description URL
Prevents implicit construction of Header based on input.
Conflicts: lib/mrtrix3/image.py lib/mrtrix3/path.py
JSON handling changes
Python: Use of kwargs for API functions
Build remove outdated bin
Mtnormalise tests
dwifslpreproc: Add help description RE: CUDA
Member
Author
|
Note to anybody out there previously accessing the " |
Lestropie
added a commit
that referenced
this pull request
Apr 15, 2020
As part of #1693, fixelcfestats was modified to construct the subject data matrix based on all fixels, and then restrict processing to only those fixels inside the mask by filling subject data outside of the mask with NaNs and propagating the mask information to various functions. Previously, an index remapping was performed so that the subject data matrix would contain as many columns as there were fixels in the mask, and so input fixel indices would need to be projected to internal fixel indices. It appears as though during this change the allocation of the subject fixel data matrix was not properly updated to reflect its requisite larger size when the -mask option is used. Reported in #1543.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I had a go at polishing off the stats code using the basic initial fixel-fixel connectivity matrix format (text file with one line per fixel, comma-separated fixel index - connectivity value pairs separated by commas per row), but was never happy with the performance of it. In particular if the data are on network storage it can stall completely. So I think that I want to finish off the .mif-based fixel-fixel connectivity matrix format before merging #1543.
From memory, what I had already working:
fixelconnectivitycommand to generate and save matrix.fixelfilter smoothreading and using that data to smooth fixel data.What needs to be done:
Get
fixelfilter connectworking using new format. EDIT: Done.Strip from
fixelcfestatsability to receive track file as input rather than pre-calculated connectivity matrix (code becoming too difficult to manage). EDIT: Done.Get
fixelcfestatsworking using new matrix format. In particular the CFE enhancer will need to change quite a bit. EDIT: Done.