Conversation
Rather than randomly selecting the first direction and then determining the best order of the remaining directions, derive the optimal order separately for every possible choice of first direction, and then select the ordering for which the overall truncation data conditioning is best (assessed as the sum of SH transform condition numbers for all possible truncation lengths).
|
I don't see any problem with your proposal, but I'm just trying to get my head around the motivation for it. Can I just check what the 'internal limitation' was exactly? I'm struggling to see how this would have a massive impact on the quality of the scheme. Sure, it might give slightly better looking values for the cost function, but then the cost function is itself relatively arbitrary, and since we're talking about relatively random circumstances that will likely also imply serious issues with the quality of the data that has been acquired, I'm not sure what the problem was that you needed to complement this with an exhaustive search... Maybe it's the randomness of the first volume that's the issue? I can see that with your proposal, the output is at least deterministic. |
|
"Internal limitation" was in reference to |
|
OK, all makes sense. Must admit I haven't looked into how much variation there is based on first volume, so if it's substantial, that makes sense. 👍
Agree on the principle, but in my opinion this is a case of making sure it's good enough, given the range of likely associated issues. But I guess that's irrelevant if it's cheap to get it right anyway, which given your changes, seems to be case... |
Downstream of #1800, which introduced the functionality of determining the optimal reordering of directions for all possible selections of first volume, and choosing the optimal reordering from that set. Algorithm produces a segmentation fault if fewer than six input directions. This change forces the first volume in the input to be the first volume in the output in such scenarios (as there is no objective criterion by which to determine which direction is best to use first in this scenario).
Encountered this internal limitation while writing a script for generating acquisition schemes. Details in 3593415.
Execution is still way faster than other related commands, so that's no issue.
Also considered altering the optimisation of order by calculating the SH condition numbers for prospective addition of individual remaining directions; but undecided as to whether or not it's worth the effort yet.