If the bvec file is defined wrong, and some of the bvec's seem to be pointing in the opposite direction, we should throw an error or warning then flip the bvecs. This could be done by looking at regions where there is no crossing fibers and the angle of the predominant signal should be clear. There may be a simpler way to test this.
My inclination is that this is something that needs to be done well before pyAFQ, as part of the preprocessing. For example, I believe that qsiprep does a check based on the q form (see this table).
If the bvec file is defined wrong, and some of the bvec's seem to be pointing in the opposite direction, we should throw an error or warning then flip the bvecs. This could be done by looking at regions where there is no crossing fibers and the angle of the predominant signal should be clear. There may be a simpler way to test this.