Interpolate bad channels before or after CAR referencing?

What is considered best practice?

Option 1:

  1. Mark bad channels in raw.info['bads']
  2. Interpolate bad channels with raw.interpolate_bads(reset_bads=True, mode='accurate')
  3. Compute CAR reference as projector with raw.set_eeg_reference(ref_channels="average", ch_type="eeg", projection=True)

Option 2:

  1. Mark bad channels in raw.info['bads']
  2. Compute CAR reference as projector with raw.set_eeg_reference(ref_channels="average", ch_type="eeg", projection=True), excluding the marked bads.
  3. Interpolate bad channels with raw.interpolate_bads(reset_bads=True, mode='accurate') after applying the CAR projection.

I don’t think there should be a huge difference between these approaches. Setting an average reference ignores bad channels, so whether or not you interpolate them before or after should not matter much. FWIW I personally use the second approach (mark bads, set average reference, interpolate bads), but I’d be interested if you have found these two options to give significant differences.