Process_megreg after Maxfilter DC Offset

I have a question related to the process_megreg function I am using to coregister my 6 runs collected with Elekta neuromag; My data has been preprocessed with Maxfilter and a DC offset was applied to some of the runs for some subjects. I have launched a batch script on my subjects and in the report, I see that I have a warning "Ignoring Projector matrix (SSP and ICA). Using only the one from the first channel file." only for the subjects for whom there was a DC offset done during Maxfilter, there is no warning for the other subjects.
I have trouble understanding why removing a baseline is related to the projector matrix (I don't ask for the math! but it's not so intuitive, it looks like I have been already applied artifacts cleaning which is not the case, I only process_megreg after importing the raw files).
Moreover, when I look into the ChannelFile for the first run (let's say the one that was DC offset-ed) and in the Channel File for the second run (no DC offset during Maxfilter), they are almost exactly the same and their Projector structure is empty. So I was wondering where this warning comes from.
Thank you for your patience!

Hi Julie,

megreg is only used in imported data, not in raw files, right?

In the case of imported data, the Projectors have been already applied in to the data, and they are saved in each individual (run) channel file just to keep track of the what was applied. We made a recent update, now when the shared channel option is selected, the Projector filed is cleared in the shared channel, and there will not be warning, as it does not apply.


Hi Raymundo,
sorry for the late response!
Actually no, I am using process_megreg on raw files not on imported data! I want to have one head model per participant and retrieve the inverse kernel to map channels to sources.
Why should process_megreg be used only on imported data? In my opinion, it should be done on raw files rather than imported data during the processing pipeline, and it's actually like that in the tutorials: megreg before reviewing/cleaning:

Is the option shared channel that should be only for imported data. Because, for raw files the interpolation between individual channel files and the average channel (which is the shared) is not applied to the raw data, and it's not saved as projector, as the raw files will not have any more an individual channel file (to store the interpolation).

You could use process_megreg to use the average channel (Average of all the runs). This will keep an individual channel file for each raw, but the positions will be the same in all of them, unlike the shared channel option, the interpolation between the individual channel positions and the average channel position IS stored in the individual channel files as projectors.

Using the option shared channel is fine, as the data interpolation from the individual positions to the shared (average) positions is applied in the directly in the data, and the modified data is saved.