The only explicit reference is the following: B0FieldIdentifier and B0FieldSource duplicate the capabilities of the original IntendedFor approach (see below), while permitting more complex use cases.
Thus I’d like to ask:
Does B0FieldIdentifier overrides IntendedFor?
If one is not compliance with the standard, will the other be checked? or an error raised?
What’s the purpose of B0FieldSource in all these?
Finally, can anyone tell me example of the ‘more complex use cases’ the specifications talk about?
As I said, I haven’t been able to find neither a good explanation nor examples, and the wrong implementation of this might considerably affect our results.
I could give a couple of example use cases I’d like to set up according to BIDS.
Good question that is of interest of many people using currently the BIDS standard in their research.
Actually I just found about this very nice page, with clear and illustrated explanations, where it is written:
Selection methods may rely on the presence of special fields in the JSON files. The IntendedFor field has the longest history in the BIDS infrastructure, but it is more complicated and less flexible than the newer pair of fields: B0FieldIdentifier and B0FieldSource. Currently (April 16, 2022), the BIDS standard recommends using both approaches to maintain compatibility with tools that support older datasets.
And there are more details and examples down on that page that will help understand better the origin and the usage of the two formalisms.
I’d like to say you explanation was great and the link you shared very useful. For all that are in the position I was before I think this is the takeaway message:
B0FieldIdentifier and B0FieldSource, override IntendedFor.
IntendedFor is thought to gradually disappear since more complex cases are covered with the other two tags.
The B0FieldIdentifier identifies images that are to be used together for the field map estimation. Depending on the fieldmap 1 to 4 cases, it might include the original acquired data.
The B0FieldSource defines the target image to be corrected by the fieldmap obtained from IntendedFor.