Conversation
Converts a 4D image containing fixel directions as XYZ triplets into the fixel directory format.
|
Seems there isn't actually a |
|
I'm a bit confused - isn't that already possible using |
Hmm, forgot about that. Maybe that's not where it should be... Partly true: you can get a peaks image, the peak amplitudes aren't actually currently influenced by the input fixel data file though, which they should be. The other issue is that you can't trivially generate a unit-norm peaks image using
That one's harder to sell: the existing functionality is limited purely to " |
4a6ff05 to
a6c1683
Compare
- fixel2voxel: Remove "split_dir" operation (as this is superseded by new fixel2peaks command), and rename "split_data" to "none". - peaks2fixel: Add "-dataname" option to manually specify the name of the output fixel data file (one will still be created if input peaks are not all of unit norm). - New command fixel2peaks, which performs the operation formerly available in "fixel2voxel split_dir", but additionally scales the output peaks by the values in a fixel data file (if such a file is provided as input). - Import changes to binary test data for sh2peaks (and other tests that formerly utilised "sh2peaks/out.mif") and the fixel2peaks / peaks2fixel command pair, and modify tests accordingly. - testing_diff_peaks: Do not perform a dot product test if both vectors are of zero norm. - fixel2peaks: New command. Converts fixel directory format data into a 4D 2-vectors image, optionally with vector norms determined by a specific fixel data file.
|
That change is what makes sense to me. The fixel directory format and 4D 3-vector " It also means looking at I know there'll be pushback on incrementing the command cardinality... but I maintain that sensible command naming and interfaces & feature discoverability take precedence over such. Hell, I wrote code for a new command because I myself forgot |
Better fix than that performed in a6c1683, and does not raise a compiler warning.
Only occurs in Windows CI build. |
I couldn't agree more, but the word "peak" refers to a maximum, as in Apply the above to the proposed To be fair, I don't see what the issue was or is with having this functionality nicely grouped together in You need to test these kinds of "...easier to find..." claims with actual users, rather than try to theoretically approach this, or you risk overlooking relevant context (this generally goes for any claims about user behaviour). The context here is that there's only so many So well, long-winded explanation as always, but the gist is that I would carefully suggest to not mix the "peaks" terminology or wording in these scenarios. I haven't seen issues with
...and find that very sensible. |
|
All nouns within command names refer not to the quantitative nature of the data contained (with the exception of I'm not sure that " If we were going to forbid " If " I would also advise refraining from telling me what to do. |
|
Ok, I agree that there's no point being too prescriptive with our interpretation of what constitutes a ’peak'. As Rob says, the format is probably more important in practice than what the data actually represents. Personally, I think the main thing is for us to express what these commands generally expect to operate on, with the understanding that anything that 'looks like' a peaks image (in this instance) is acceptable. Regarding the specific issue here: I don't mind either way to be honest. I agree with Rob that there's a good argument for So to cut a long story short, I'm happy enough with these new commands, and removing |
In MSYS2, if an input argument consists of the location of a directory, but includes the path separator at the end of the string, the path is reported as not existing. This modification makes the Path::is_dir() and Path::exists() functions behave identically to Unix systems.
|
@jdtournier Probably want to have a look at a26f89d. I confirmed that |
Looks good to me 👍 |
Suggested in #1874.
Following discussion in #1874. Revise descriptions of the data and operations involved in FOD segmentation to disambiguate between specifically the maximal amplitude of the FOD within a lobe, and the word "peak", which is more regularly used to refer to the direction in which the function is maximal.
Update dwi2response tournier and tax algorithms to reflect changes in #1874 to the fixel2voxel command and new commands fixel2peaks / peaks2fixel. Also includes -number option to fixel2peaks.
dwi2response: Fixes for #1874
Placing values of NaN in voxels where there are fewer fixels than the maximum resulted in altered behaviour of the dwi2response tournier algorithm in specific instances. This returns the default behaviour of this operation to be the same as the previous "fixel2voxel split_data" (changes in #1874). There is already an option "-fill" in place to change this at the command-line; only the default behaviour is being changed.
Going through list of stale branches to see if there's anything hanging around. This I wrote either in response to this forum post or for my own purposes, but never generated a PR.
Might generate some test data before committing.