[Mne_analysis] Error running make_forward_solution: Head<-->sensor transform not found

Alexandre Gramfort alexandre.gramfort at telecom-paristech.fr
Thu Nov 19 15:47:18 EST 2015
Search archives:

thanks a lot Emily.

contributing documentation is very useful and a good start to help us
making MNE better.

Looking forward to your next pull request :)

Alex


On Thu, Nov 19, 2015 at 6:48 PM, Emily Stephen <emilyps14 at gmail.com> wrote:
> Just submitted a pull request for the change (first pull request ever woo
> hoo).
>
> On Thu, Nov 19, 2015 at 12:28 PM, Alexandre Gramfort
> <alexandre.gramfort at telecom-paristech.fr> wrote:
>>
>> indeed.
>>
>> PR welcome.
>>
>> You can also send us the fix by editing the file directly on github:
>>
>> https://github.com/mne-tools/mne-python/edit/master/doc/advanced_setup.rst
>>
>> thanks for your help
>>
>> Alex
>>
>>
>> On Thu, Nov 19, 2015 at 6:24 PM, Emily Stephen <emilyps14 at gmail.com>
>> wrote:
>> > Hi Hari,
>> >
>> > Maybe it would be a good idea to update the website. I was using the
>> > wrong
>> > python because of this page:
>> > http://martinos.org/mne/stable/advanced_setup.html
>> >
>> > That page could also point Martinos users to the mailing list. Not sure
>> > who
>> > would be able to make the change, but it would be helpful for new users.
>> >
>> > Emily
>> >
>> > On Thu, Nov 19, 2015 at 12:11 PM, Hari Bharadwaj
>> > <hari at nmr.mgh.harvard.edu>
>> > wrote:
>> >>
>> >> Hi Emily,
>> >>    Thanks for bringing this to our attention...Anaconda is indeed the
>> >> recommended distribution at the center and will likely be the only one
>> >> available in the near future.. We are phasing out the others. Please
>> >> join
>> >> the Martinos Python mailing list (if not already subscribing) to get
>> >> any
>> >> updates on that front:
>> >> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/martinos-python
>> >>
>> >> Info about the current anaconda version is here (from mailing list
>> >> archive):
>> >>
>> >>
>> >> https://mail.nmr.mgh.harvard.edu/pipermail//martinos-python/2015-September/000048.html
>> >>
>> >>
>> >> Hari
>> >>
>> >> Hari Bharadwaj
>> >> Research Fellow,
>> >> Martinos Center for Biomedical Imaging,
>> >> Massachusetts General Hospital
>> >> Charlestown, MA 02129
>> >>
>> >> hari at nmr.mgh.harvard.edu
>> >> www.haribharadwaj.com
>> >> Ph: 734-883-5954
>> >>
>> >> On Nov 19, 2015, at 11:34 AM, Emily Stephen <emilyps14 at gmail.com>
>> >> wrote:
>> >>
>> >> I noticed that the default python distribution on the Martinos system
>> >> was
>> >> using MNE 0.8. Switched to the anaconda distribution which was using
>> >> MNE
>> >> 0.9.
>> >>
>> >> After working through some bugs related to the version change, I no
>> >> longer
>> >> get the error I reported before.
>> >>
>> >> Sorry for wasting your time!
>> >>
>> >> Emily
>> >>
>> >>
>> >> On Wed, Nov 18, 2015 at 4:02 PM, Emily Stephen <emilyps14 at gmail.com>
>> >> wrote:
>> >>>
>> >>> Update:
>> >>>
>> >>> (1) Re Hari's suggestion
>> >>>
>> >>> I tried converting the fif file to a hpts file using the C
>> >>> implementation:
>> >>> (from the shell)
>> >>> mne_convert_dig_data --fif $SUBJECT.fif --hptsout $SUBJECT.hpts
>> >>> --headcoord
>> >>>
>> >>> (from python)
>> >>> digfile_hpts = op.join(subjects_dir, subject, subject + '.hpts')
>> >>> montage = mne.channels.read_montage(digfile_hpts)
>> >>> raw = mne.io.read_raw_brainvision(subjects_dir + subject + '/' +
>> >>> subject
>> >>> + '.vhdr',
>> >>>                                   montage=montage, verbose=None,
>> >>> preload=False)
>> >>>
>> >>> This raises a new error:
>> >>> None of the sensors defined in the montage were found in the info
>> >>> structure. Check the channel names.
>> >>>
>> >>> The channel names in the montage are of the form '0001' ... '0291',
>> >>> with
>> >>> duplicated '0001' ... '0064' at the end. The channel names in the raw
>> >>> data
>> >>> are of the form '01' ... '64'.
>> >>>
>> >>> I noticed that the first column in the .hpts file has 'eeg' for the
>> >>> last
>> >>> 64 rows (vs 'cardinal', 'hpi', and 'extra' for the previous ones).
>> >>> This
>> >>> first column isn't being used by read_montage, but I think it is what
>> >>> distinguishes the eeg channel locations from the other digitizer info.
>> >>>
>> >>> I could manually change the channel names in the .hpts file to '01'
>> >>> ...
>> >>> '64' for those rows, to match the channel names in the Brainvision
>> >>> file. Not
>> >>> a pretty solution, but it might work.
>> >>>
>> >>> (2) Re Eric's comment
>> >>>
>> >>> I'd be happy to cut down the script/files. Where should I upload
>> >>> files?
>> >>> I'm at Martinos, want to be sure to follow HIPAA etc.
>> >>>
>> >>> In the meantime, I've created an issue on github linking back to this
>> >>> thread.
>> >>>
>> >>> Thanks,
>> >>> Emily
>> >>>
>> >>> On Wed, Nov 18, 2015 at 8:44 AM,
>> >>> <mne_analysis-request at nmr.mgh.harvard.edu> wrote:
>> >>>>
>> >>>> Send Mne_analysis mailing list submissions to
>> >>>>         mne_analysis at nmr.mgh.harvard.edu
>> >>>>
>> >>>> To subscribe or unsubscribe via the World Wide Web, visit
>> >>>>
>> >>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>>> or, via email, send a message with subject or body 'help' to
>> >>>>         mne_analysis-request at nmr.mgh.harvard.edu
>> >>>>
>> >>>> You can reach the person managing the list at
>> >>>>         mne_analysis-owner at nmr.mgh.harvard.edu
>> >>>>
>> >>>> When replying, please edit your Subject line so it is more specific
>> >>>> than "Re: Contents of Mne_analysis digest..."
>> >>>>
>> >>>>
>> >>>> Today's Topics:
>> >>>>
>> >>>>    1. Error running make_forward_solution: Head<-->sensor
>> >>>> transform
>> >>>>       not found (Emily Stephen)
>> >>>>    2. Re: Error running make_forward_solution: Head<-->sensor
>> >>>>       transform not found (Hari Bharadwaj)
>> >>>>    3. Re: Error running make_forward_solution: Head<-->sensor
>> >>>>       transform not found (Eric Larson)
>> >>>>
>> >>>>
>> >>>>
>> >>>> ----------------------------------------------------------------------
>> >>>>
>> >>>> Message: 1
>> >>>> Date: Tue, 17 Nov 2015 19:07:05 -0500
>> >>>> From: Emily Stephen <emilyps14 at gmail.com>
>> >>>> Subject: [Mne_analysis] Error running make_forward_solution:
>> >>>>         Head<-->sensor  transform not found
>> >>>> To: mne_analysis at nmr.mgh.harvard.edu
>> >>>> Message-ID:
>> >>>>
>> >>>> <CAHgMKiV9thqbaSLYNU31jCZ4FCdUoYbraAUW3=+o4wM+CSBJqA at mail.gmail.com>
>> >>>> Content-Type: text/plain; charset="utf-8"
>> >>>>
>> >>>>
>> >>>> Hi All,
>> >>>>
>> >>>> I'm getting an error when I run mne.make_forward_solution, but only
>> >>>> if I
>> >>>> try to save the result.
>> >>>>
>> >>>> That is, if I set fname=None then the whole thing runs fine, but if I
>> >>>> set
>> >>>> fname=<filename>, it fails in the call to write_forward_solution with
>> >>>> the
>> >>>> error:
>> >>>> Head<-->sensor transform not found
>> >>>>
>> >>>> Seems like write_forward_solution is expecting values in info under
>> >>>> dev_head_t or ctf_head_t, which never got set.
>> >>>>
>> >>>> I think it may be related to the fact that I'm loading (just EEG)
>> >>>> data
>> >>>> from
>> >>>> a brainvision file using mne.io.read_raw_brainvision.
>> >>>>
>> >>>> I've been struggling to figure out how to include the digitizer
>> >>>> information
>> >>>> in the preprocessed data. My digitizer info is in a .fif file that
>> >>>> otherwise doesn't contain any measurement data (I can't even figure
>> >>>> out
>> >>>> how
>> >>>> to load it using the python MNE). So far the only thing I've done
>> >>>> with
>> >>>> that
>> >>>> file is to use it to update the channel locations with a call to the
>> >>>> C
>> >>>> implementation:
>> >>>>     call(['mne_check_eeg_locations',
>> >>>>           '--file', fname,
>> >>>>           '--dig', op.join(subjects_dir,subject,subject + '.fif'),
>> >>>>           '--fix'])
>> >>>>
>> >>>> I'm new to all of this (including python) so any help would be much
>> >>>> appreciated! I've attached the code (apologies for the mess).
>> >>>>
>> >>>> Thanks,
>> >>>> Emily
>> >>>> -------------- next part --------------
>> >>>> An HTML attachment was scrubbed...
>> >>>> URL:
>> >>>>
>> >>>> http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20151117/e57b3044/attachment-0001.html
>> >>>> -------------- next part --------------
>> >>>> A non-text attachment was scrubbed...
>> >>>> Name: test_eeganes07_151112.py
>> >>>> Type: text/x-python-script
>> >>>> Size: 4538 bytes
>> >>>> Desc: not available
>> >>>> Url :
>> >>>>
>> >>>> http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20151117/e57b3044/attachment-0001.bin
>> >>>>
>> >>>> ------------------------------
>> >>>>
>> >>>> Message: 2
>> >>>> Date: Tue, 17 Nov 2015 22:13:03 -0500 (EST)
>> >>>> From: "Hari Bharadwaj" <hari at nmr.mgh.harvard.edu>
>> >>>> Subject: Re: [Mne_analysis] Error running make_forward_solution:
>> >>>>         Head<-->sensor transform not found
>> >>>> To: "Discussion and support forum for the users of MNE Software"
>> >>>>         <mne_analysis at nmr.mgh.harvard.edu>
>> >>>> Cc: mne_analysis at nmr.mgh.harvard.edu
>> >>>> Message-ID:
>> >>>>
>> >>>> <51230.24.34.210.250.1447816383.squirrel at mail.nmr.mgh.harvard.edu>
>> >>>> Content-Type: text/plain;charset=iso-8859-1
>> >>>>
>> >>>> Hi Emily,
>> >>>>    Perhaps you could try converting the digitization data to one of
>> >>>> the
>> >>>> formats (e.g., .hpts) accepted by mne.channels.read_montage(.) using
>> >>>> the C-version of mne_convert_dig_data (if they are already not
>> >>>> available in one of those formats). Once you do that and read it into
>> >>>> python as a Montage object using mne.channels.read_montage(.), you
>> >>>> could supply it as to the montage argument in
>> >>>> mne.io.read_raw_brainvision(.).
>> >>>>
>> >>>> Also, the digitization data should contain cardinal points (like
>> >>>> nasion,
>> >>>> LPA, RAP) for the head along with the EEG sensor locations.. That
>> >>>> way,
>> >>>> "head coordinated" and "sensor coordinates" can be matched in the
>> >>>> Montage.
>> >>>>
>> >>>> HTH,
>> >>>> Hari
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Tue, November 17, 2015 7:07 pm, Emily Stephen wrote:
>> >>>> > Hi All,
>> >>>> >
>> >>>> > I'm getting an error when I run mne.make_forward_solution, but only
>> >>>> > if
>> >>>> > I
>> >>>> > try to save the result.
>> >>>> >
>> >>>> > That is, if I set fname=None then the whole thing runs fine, but if
>> >>>> > I
>> >>>> > set
>> >>>> > fname=<filename>, it fails in the call to write_forward_solution
>> >>>> > with
>> >>>> > the
>> >>>> > error:
>> >>>> > Head<-->sensor transform not found
>> >>>> >
>> >>>> > Seems like write_forward_solution is expecting values in info under
>> >>>> > dev_head_t or ctf_head_t, which never got set.
>> >>>> >
>> >>>> > I think it may be related to the fact that I'm loading (just EEG)
>> >>>> > data
>> >>>> > from
>> >>>> > a brainvision file using mne.io.read_raw_brainvision.
>> >>>> >
>> >>>> > I've been struggling to figure out how to include the digitizer
>> >>>> > information
>> >>>> > in the preprocessed data. My digitizer info is in a .fif file that
>> >>>> > otherwise doesn't contain any measurement data (I can't even figure
>> >>>> > out
>> >>>> > how
>> >>>> > to load it using the python MNE). So far the only thing I've done
>> >>>> > with
>> >>>> > that
>> >>>> > file is to use it to update the channel locations with a call to
>> >>>> > the C
>> >>>> > implementation:
>> >>>> >     call(['mne_check_eeg_locations',
>> >>>> >           '--file', fname,
>> >>>> >           '--dig', op.join(subjects_dir,subject,subject + '.fif'),
>> >>>> >           '--fix'])
>> >>>> >
>> >>>> > I'm new to all of this (including python) so any help would be much
>> >>>> > appreciated! I've attached the code (apologies for the mess).
>> >>>> >
>> >>>> > Thanks,
>> >>>> > Emily
>> >>>> > _______________________________________________
>> >>>> > Mne_analysis mailing list
>> >>>> > Mne_analysis at nmr.mgh.harvard.edu
>> >>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Hari Bharadwaj
>> >>>> Research Fellow
>> >>>> Martinos Center for Biomedical Imaging,
>> >>>> Massachusetts General Hospital
>> >>>> 149 Thirteenth Street,
>> >>>> Charlestown, MA 02129
>> >>>>
>> >>>> hari at nmr.mgh.harvard.edu
>> >>>> Ph: 734-883-5954
>> >>>> www.haribharadwaj.com
>> >>>>
>> >>>>
>> >>>> ------------------------------
>> >>>>
>> >>>> Message: 3
>> >>>> Date: Wed, 18 Nov 2015 08:44:22 -0500
>> >>>> From: Eric Larson <larson.eric.d at gmail.com>
>> >>>> Subject: Re: [Mne_analysis] Error running make_forward_solution:
>> >>>>         Head<-->sensor transform not found
>> >>>> To: Discussion and support forum for the users of MNE Software
>> >>>>         <mne_analysis at nmr.mgh.harvard.edu>
>> >>>> Message-ID:
>> >>>>
>> >>>> <CAGu2niVt3EnAv1566f=JjFWXVBof-yrC09f0M_+NTs60mKrPrg at mail.gmail.com>
>> >>>> Content-Type: text/plain; charset="utf-8"
>> >>>>
>> >>>> Can you simplify the script to use a minimal number of files and
>> >>>> lines
>> >>>> to
>> >>>> reproduce the error (e.g., hopefully it doesn't depend on bad
>> >>>> channels
>> >>>> at
>> >>>> all), and upload the necessary files and script somewhere? I guess
>> >>>> that
>> >>>> error could happen if you only have sensors in head coordinates to
>> >>>> start
>> >>>> with -- we can probably work around it.
>> >>>>
>> >>>> It shouldn't be too difficult to add that digitization information
>> >>>> without
>> >>>> having to resort to MNE-C tools. Feel free to open an mne-python
>> >>>> issue
>> >>>> about this stuff so we can hash out a solution, then we can report
>> >>>> back
>> >>>> to
>> >>>> this thread.
>> >>>>
>> >>>> Eric
>> >>>>
>> >>>>
>> >>>> On Tue, Nov 17, 2015 at 10:13 PM, Hari Bharadwaj
>> >>>> <hari at nmr.mgh.harvard.edu>
>> >>>> wrote:
>> >>>>
>> >>>> > Hi Emily,
>> >>>> >    Perhaps you could try converting the digitization data to one of
>> >>>> > the
>> >>>> > formats (e.g., .hpts) accepted by mne.channels.read_montage(.)
>> >>>> > using
>> >>>> > the C-version of mne_convert_dig_data (if they are already not
>> >>>> > available in one of those formats). Once you do that and read it
>> >>>> > into
>> >>>> > python as a Montage object using mne.channels.read_montage(.), you
>> >>>> > could supply it as to the montage argument in
>> >>>> > mne.io.read_raw_brainvision(.).
>> >>>> >
>> >>>> > Also, the digitization data should contain cardinal points (like
>> >>>> > nasion,
>> >>>> > LPA, RAP) for the head along with the EEG sensor locations.. That
>> >>>> > way,
>> >>>> > "head coordinated" and "sensor coordinates" can be matched in the
>> >>>> > Montage.
>> >>>> >
>> >>>> > HTH,
>> >>>> > Hari
>> >>>>
>> >>>> >
>> >>>> >
>> >>>> > On Tue, November 17, 2015 7:07 pm, Emily Stephen wrote:
>> >>>> > > Hi All,
>> >>>> > >
>> >>>> > > I'm getting an error when I run mne.make_forward_solution, but
>> >>>> > > only
>> >>>> > > if I
>> >>>> > > try to save the result.
>> >>>> > >
>> >>>> > > That is, if I set fname=None then the whole thing runs fine, but
>> >>>> > > if
>> >>>> > > I set
>> >>>> > > fname=<filename>, it fails in the call to write_forward_solution
>> >>>> > > with the
>> >>>> > > error:
>> >>>> > > Head<-->sensor transform not found
>> >>>> > >
>> >>>> > > Seems like write_forward_solution is expecting values in info
>> >>>> > > under
>> >>>> > > dev_head_t or ctf_head_t, which never got set.
>> >>>> > >
>> >>>> > > I think it may be related to the fact that I'm loading (just EEG)
>> >>>> > > data
>> >>>> > > from
>> >>>> > > a brainvision file using mne.io.read_raw_brainvision.
>> >>>> > >
>> >>>> > > I've been struggling to figure out how to include the digitizer
>> >>>> > > information
>> >>>> > > in the preprocessed data. My digitizer info is in a .fif file
>> >>>> > > that
>> >>>> > > otherwise doesn't contain any measurement data (I can't even
>> >>>> > > figure
>> >>>> > > out
>> >>>> > > how
>> >>>> > > to load it using the python MNE). So far the only thing I've done
>> >>>> > > with
>> >>>> > > that
>> >>>> > > file is to use it to update the channel locations with a call to
>> >>>> > > the
>> >>>> > > C
>> >>>> > > implementation:
>> >>>> > >     call(['mne_check_eeg_locations',
>> >>>> > >           '--file', fname,
>> >>>> > >           '--dig', op.join(subjects_dir,subject,subject +
>> >>>> > > '.fif'),
>> >>>> > >           '--fix'])
>> >>>> > >
>> >>>> > > I'm new to all of this (including python) so any help would be
>> >>>> > > much
>> >>>> > > appreciated! I've attached the code (apologies for the mess).
>> >>>> > >
>> >>>> > > Thanks,
>> >>>> > > Emily
>> >>>> > > _______________________________________________
>> >>>> > > Mne_analysis mailing list
>> >>>> > > Mne_analysis at nmr.mgh.harvard.edu
>> >>>> > > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > Hari Bharadwaj
>> >>>> > Research Fellow
>> >>>> > Martinos Center for Biomedical Imaging,
>> >>>> > Massachusetts General Hospital
>> >>>> > 149 Thirteenth Street,
>> >>>> > Charlestown, MA 02129
>> >>>> >
>> >>>> > hari at nmr.mgh.harvard.edu
>> >>>> > Ph: 734-883-5954
>> >>>> > www.haribharadwaj.com
>> >>>> > _______________________________________________
>> >>>> > Mne_analysis mailing list
>> >>>> > Mne_analysis at nmr.mgh.harvard.edu
>> >>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>>> >
>> >>>> >
>> >>>> > The information in this e-mail is intended only for the person to
>> >>>> > whom
>> >>>> > it
>> >>>> > is
>> >>>> > addressed. If you believe this e-mail was sent to you in error and
>> >>>> > the
>> >>>> > e-mail
>> >>>> > contains patient information, please contact the Partners
>> >>>> > Compliance
>> >>>> > HelpLine at
>> >>>> > http://www.partners.org/complianceline . If the e-mail was sent to
>> >>>> > you
>> >>>> > in
>> >>>> > error
>> >>>> > but does not contain patient information, please contact the sender
>> >>>> > and
>> >>>> > properly
>> >>>> > dispose of the e-mail.
>> >>>> >
>> >>>> >
>> >>>> -------------- next part --------------
>> >>>> An HTML attachment was scrubbed...
>> >>>> URL:
>> >>>>
>> >>>> http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20151118/33c316c2/attachment.html
>> >>>>
>> >>>> ------------------------------
>> >>>>
>> >>>> _______________________________________________
>> >>>> Mne_analysis mailing list
>> >>>> Mne_analysis at nmr.mgh.harvard.edu
>> >>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>>>
>> >>>> End of Mne_analysis Digest, Vol 94, Issue 7
>> >>>> *******************************************
>> >>>
>> >>>
>> >>
>> >> _______________________________________________
>> >> Mne_analysis mailing list
>> >> Mne_analysis at nmr.mgh.harvard.edu
>> >> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>
>> >>
>> >> _______________________________________________
>> >> Mne_analysis mailing list
>> >> Mne_analysis at nmr.mgh.harvard.edu
>> >> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >>
>> >>
>> >> The information in this e-mail is intended only for the person to whom
>> >> it
>> >> is
>> >> addressed. If you believe this e-mail was sent to you in error and the
>> >> e-mail
>> >> contains patient information, please contact the Partners Compliance
>> >> HelpLine at
>> >> http://www.partners.org/complianceline . If the e-mail was sent to you
>> >> in
>> >> error
>> >> but does not contain patient information, please contact the sender and
>> >> properly
>> >> dispose of the e-mail.
>> >>
>> >
>> >
>> > _______________________________________________
>> > Mne_analysis mailing list
>> > Mne_analysis at nmr.mgh.harvard.edu
>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>> >
>> >
>> > The information in this e-mail is intended only for the person to whom
>> > it is
>> > addressed. If you believe this e-mail was sent to you in error and the
>> > e-mail
>> > contains patient information, please contact the Partners Compliance
>> > HelpLine at
>> > http://www.partners.org/complianceline . If the e-mail was sent to you
>> > in
>> > error
>> > but does not contain patient information, please contact the sender and
>> > properly
>> > dispose of the e-mail.
>> >
>> _______________________________________________
>> Mne_analysis mailing list
>> Mne_analysis at nmr.mgh.harvard.edu
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>


More information about the Mne_analysis mailing list