MRG: Add more checks to ensure fNIRS bads are set correctly for optode pairs #9375
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference issue
Now that users can create and modify their own fnirs data structures (#9141) this adds more checks that the data structure is correct. Follows #9184 #9185
What does this implement/fix?
fNIRS channels come in pairs (either multiple wavelengths or chromaphore). If one of the pairs is set to bad then they both should be (see similar discussion about saturation here: #9348 (comment)). An internal function already existed to check that the bids are spread correctly across pairs. Here I just add another usage of this function.
I also modify these bad checking/spreading functions to use info rather than raw. As the checking other nirs checking functions now operate on info as suggested by @HanBnrd.