Yes it does. It has to do with the fact that you use Fieldtrip for
preprocessing. You can run the following lines (from spm_eeg_convert)
on your dataset where hdr is the header read with ft_read_header from
one of the original fif files (it doesn't matter which one as long as
they all have the same channels):
D = spm_eeg_load;
% Uses fileio function to get the information about channel types stored in
% the original header. This is now mainly useful for Neuromag
support but might
% have other functions in the future.
origchantypes = ft_chantype(hdr);
[sel1, sel2] = spm_match_str(D.chanlabels, hdr.label);
origchantypes = origchantypes(sel2);
if length(strmatch('unknown', origchantypes, 'exact')) ~=
numel(origchantypes)
D.origchantypes = struct([]);
D.origchantypes(1).label = hdr.label(sel2);
D.origchantypes(1).type = origchantypes;
end
save(D);
S1 = [];
S1.task = 'defaulttype';
S1.D = D;
S1.updatehistory = 0;
D = spm_eeg_prep(S1);
save(D);
Best,
Vladimir
On Mon, Oct 1, 2012 at 1:49 PM, Peter Goodin <[log in to unmask]> wrote:
> Hi Vladimir,
>
> Thanks very much for the prompt reply. Unfortunately the script doesn't seem to correct the MEG channels being set to Other, however it does allow for the template to be loaded. Additionally, fiducials appear to be read in when using MEGTools and a 3d sensor map can be seen. Another problem occurs when I try to do the source reconstruction. When I try to coregister the data to a template, I get the following error message
>
> ??? Reference to non-existent field 'modality'.
>
> Error in ==> spm_eeg_inv_checkdatareg at 23
> str = sprintf('%s|', datareg(:).modality);
>
> Error in ==> spm_eeg_inv_datareg_ui at 186
> spm_eeg_inv_checkdatareg(D);
>
> Error in ==> spm_eeg_inv_imag_api>DataReg_Callback at 80
> handles.D = spm_eeg_inv_datareg_ui(handles.D);
>
> Error in ==> spm_eeg_inv_imag_api at 53
> feval(varargin{:}); % FEVAL switchyard
>
> ??? Error while evaluating uicontrol Callback
>
> Does this have anything to do with the incorrect channel type identification?
>
> Thanks,
>
> Peter
> ________________________________________
> From: Vladimir Litvak [[log in to unmask]]
> Sent: Monday, 1 October 2012 9:12 PM
> To: Peter Goodin
> Cc: [log in to unmask]
> Subject: Re: [SPM] Neuromag triux sensors not loading
>
> Dear Peter,
>
> Please see https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=SPM;95cd0b22.1203
> . Let me know if it doesn't help.
>
> Vladimir
>
> On Mon, Oct 1, 2012 at 12:01 PM, Peter Goodin <[log in to unmask]> wrote:
>> Hi SPM list,
>>
>> I'm having a bit of trouble getting SPM8 to read in the sensor locations
>> from our neuromag Triux system. I'm using fieldtrip to preprocess my data
>> and I've tried the following methods outlined below. Any thoughts on what
>> the problem is would be greatly appreciated.
>>
>> 1. Converting fieldtrip data (both segmented, preprocessed file and an
>> averaged file) to SPM8 using the spm_eeg_spm2ft function. This imports all
>> the channel labels, but the type is "Other". I've tried using MEEGtools >
>> Copy MEG sensors then using the converted data as the SPM8 EEG file and the
>> raw .fif file as the raw MEG file, when I get the following:
>>
>> 306 MEG channel locations transformed
>> Error using ==> mne2grad at 121
>> Number of MEG channels identified does not match number of channels in grad
>> structure!!!!!
>> Opening raw data file D:\Ph.D_Data\MEG\Raw\c103\c103_nback_meg_tsss.fif...
>> Range : 33500 ... 788499 = 67.000 ... 1576.998 secs
>> Ready.
>> ??? Reference to non-existent field 'grad'.
>>
>> Error in ==> spm_eeg_copygrad at 16
>> D = sensors(D, 'MEG', ft_convert_units(hdr.grad, 'mm'));
>>
>> Error in ==> spm_MEEGtools at 46
>> eval(fun);
>> Error in ==> spm at 965
>> evalin('base',xTB(i).prog);
>>
>> ??? Error while evaluating uicontrol Callback
>>
>> 2. Converting the fieldtrip data using the above method, but using "prepare
>> spm file" and loading the neuromag_306_EEG70.mat file located in the
>> /spm8/EEGtemplates folder which appears to work and brings up a layout that
>> looks it should. After applying and going back the channel information,
>> position changes to yes, but type is still "Other". Additionally when I view
>> the time series, there's no option for a topoplot (however I'm not sure if
>> this is due to channel type as other or another issue).
>>
>> 3. Starting from scratch and converting a maxfiltered .fif file. I get valid
>> information for channel label, type and unit, but nothing relating to
>> position. I then use the same "prepare spm file" method and use the same
>> template as discussed in 2. After updating the channel list, all the sensor
>> positions are shown and it allows for a topoplot. The problem happens when
>> trying to save the channel locations and the following error occurs:
>>
>> ??? Reference to non-existent field 'label'.
>>
>> Error in ==> spm_eeg_prep_ui>SaveTemplateCB at 550
>> Cnames = handles.label;
>>
>> Error in ==> spm_eeg_prep_ui at 16
>> eval(callback);
>>
>> ??? Error while evaluating uimenu Callback
>>
>> Again, any help would be greatly appreciated.
>>
>> Peter.
|