Conversation
Fixes issue #1204
|
While I was looking into this, line 104 in the FMLS FOD segmenter struck me as suspicious: 99 void revise_peak (const size_t index, const Eigen::Vector3& real_peak, const default_type value)
100 {
101 assert (!neg);
102 assert (index < num_peaks());
103 peak_dirs[index] = real_peak;
104 if (!index)
105 max_peak_value = value;
106 }Why is that check on line 104 in there? I can't think of any reason why we would only revise the peak value for the first peak... Any everything seems to work fine if I comment out that line. Can anyone shed any light on this...? |
This only revises the maximum peak value in the case where there are multiple peaks per lobe. By default this never does anything interesting, because |
|
OK, line 104 all makes sense, no problem. Otherwise, yes this will warrant a new release and an announcement to go with it. What I'm not sure about is how big an impact this will have had on tractography - and hence how big a deal to make of it in the announcement. My guess is the difference before and after is likely to be largely negligible, only impacting on minor directions close to the 0.1 threshold. I'm not sure how to even assess this, to be honest... Otherwise, maybe it's time to drop support for the non-orthonormal basis altogether...? The |
|
OK, just updated the test data from a fresh |
|
would be fine with dropping support for the non-orthonormal basis |
|
Right, in the spirit of my previous comment, it might make sense to edit this pull request to merge to |
|
In general: I'm ok with either option... but I do feel (very) strongly about the Apart from that, it'd be good if we take a little bit of time (a couple of days or so) to carefully think through the impact of this fix, so we don't need to patch up default parameters and documentation later on. Let's get it right in one go, I say. About that, these are just a couple of things that come to mind, but I may be overlooking much more:
|
|
All good points. I've already commented on the Otherwise, that's a great analysis on the impact of tractography: indeed with SIFT, any bias should be minimised. But there will still be a minor effect. Not convinced it would be easily detectible, but I don't think we can argue that it won't be there. I'm not too sure what to do about the |
Fully agreed, I definitely wouldn't want to argue it isn't there. That was mostly me just hoping results aren't too drastically affected (but again, this feels quite complicated to truly quantify properly). But as to external communication we should be very clear on the nature of the bias that was effectively there.
Yes, I'm a bit confused about this too...
😕 ...yeeeesss... that's what I was also suggesting ❓ There was an overestimation for most of the angular domain's amplitudes before, which is now fixed. This fix now results in amplitudes that are 30-40% lower, so if we don't want this fix to introduce a drastic change in tracking behaviour (as in: the cutoff criterium would otherwise inherently become way to strict), we need to lower the default for |
Lestropie
left a comment
There was a problem hiding this comment.
Since it sounds like we're going to push out another release candidate including everything on dev, this fix PR needs to be redirected to dev.
|
So TODO here:
So well, we really need to be careful here |
This also allows explicit testing of the accuracy of the SH precomputer, as discussed in #1206
OK, I've just pushed a minor change to
So I'm not sure what to think here... I think I agree that it needs to be lowered, what I don't understand is why this wasn't apparent before. This bug was introduced as part of the
I probably agree, but that will definitely need to be spelled out as a major change, given your later comment about FBA analyses...
👍
OK, this is going to need a bit of discussion. Maybe you can all report what values you've found to work best, and we can come to consensus as to what the best value would be before this fix. We'd then need to agree on what it should change to given the fix... |
… with the equivalent action on the test_data repo
|
Ok, rebased to |
|
See the test_data repo's network for overview: https://github.com/MRtrix3/test_data/network |
|
Ok, that's it for this one for today. Happy holidays, and see you all again in 2 weeks! |
|
Throwing this into the mix since it's slightly relevant to the discussion RE: selection of tracking threshold. A while ago I started playing with some ideas for changes to the behaviour of tracking. I never finished them, but one thing I did try was altering the behaviour of the iFOD2 calibrator with respect to the FOD amplitude threshold. Details here (private GitLab repo link). Just in case it's worth experimenting with this as well given the behaviour here is going to "change" with this merge as it is. |
Lestropie
left a comment
There was a problem hiding this comment.
Let's get this into dev, and get a tag update PR set up.
Fixes issue #1204