# ICA error: No digitization points found

**URL:** <https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200>\
**Category:** Support & Discussions\
**Tags:** preprocessing, eeg, ica\
**Created:** [July 1, 2022, 2:57pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200 "2022-07-01T14:57:54Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![BilalKhan](https://avatars.discourse-cdn.com/v4/letter/b/e36b37/32.png) [@BilalKhan](https://mne.discourse.group/u/BilalKhan)\
**Post date:** [July 1, 2022, 2:57pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/1 "2022-07-01T14:57:54Z")

</div>

Hi,

I am trying to run ICA on my EEG data but the MNE didn’t have a montage for the EEG system I am using. So, I manually set up montage using EEG channel locations to produce digitized points but it’s not working at all. It’s giving me an error message that no digitization points were found.

I have attached the screenshot of the channel location that I used to generate the montage.  
I have also copied the channel locations with this.

 ![Screenshot 2022-07-01 155454](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/8/83c5686104fd634a09ca5987a7041e96301538bb.png)

- MNE version: e.g. 0.24.0
- EEG system: mBrainTrain smarting Mobi with 24 EEG electrodes and 2 miscellaneous ones (M1, M2)
- operating system: Windows 10

\*\*📄 \*_ **CODE** _

```python
montage_data = pd.read_csv('montage.csv')
montage_data = montage_data.set_index('ch_name', drop =True)
head_radius = 0.095 # in meters
montage_data *= head_radius 

ch_name_to_pos_mapping = montage_data.T.to_dict(orient='list')

montage = mne.channels.make_dig_montage(
    ch_pos=montage_data.T.to_dict(orient='list') # need to get it into the right shape
)
raw.set_montage(montage)
ica.plot_components()

```

##RuntimeError: No digitization points found.

\*\*\*\*\*\*\*\*\* Channel location with names\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

|ch\_name|X|Y|Z|  
|Fp1|-270|860|360|  
|Fp2|270|860|360|  
|F3|-470|620|800|  
|F4|470|620|800|  
|C3|-610|0|970|  
|C4|610|0|970|  
|P3|-470|-620|800|  
|P4|470|-620|800|  
|O1|-270|-860|360|  
|O2|270|-860|360|  
|F7|-670|520|360|  
|F8|670|520|360|  
|T7|-780|0|360|  
|T8|780|0|360|  
|P7|-670|-520|360|  
|P8|670|-520|360|  
|Fz|0|670|950|  
|Cz|0|0|1200|  
|Pz|0|-670|950|  
|M1|-730|-250|0|  
|M2|730|-250|0|  
|AFz|0|830|690|  
|CPz|0|-340|1130|  
|POz|0|-830|690|

Thanks

---

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [July 1, 2022, 3:15pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/2 "2022-07-01T15:15:42Z")

</div>

Hello @BilalKhan and welcome to the forum!

Since you seem to be using a standardized electrode placement scheme, and you don’t appear to have individually measured digitization points, I would suggest to simply use one of our built-in standard montages!

So you could do, for example:

```python
raw.set_montage(‘easycap-M1’)

```

(Please replace the quotation marks, I cannot enter the proper ones on my current input device)

For a list of built-in montages, please see the Notes section here:

[https://mne.tools/stable/generated/mne.channels.make\_standard\_montage.html#mne.channels.make\_standard\_montage](https://mne.tools/stable/generated/mne.channels.make_standard_montage.html#mne.channels.make_standard_montage)

This whole process will hopefully be slightly less confusing and better documented in the upcoming MNE-Python 1.1 release.

Best wishes,  
Richard

---

<div class="post-metadata">

**Author:** ![BilalKhan](https://avatars.discourse-cdn.com/v4/letter/b/e36b37/32.png) [@BilalKhan](https://mne.discourse.group/u/BilalKhan)\
**Post date:** [July 1, 2022, 7:54pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/3 "2022-07-01T19:54:09Z")

</div>

Hi, @richard Thank you for your answer. I tried using the code

`raw.set_montage('easycap-M1')`

command. However, it showed this error, see below:

* * *

ValueError: DigMontage is only a subset of info. There are 2 channel positions not present in the DigMontage. The required channels are:

[‘M1’, ‘M2’].

Consider using inst.set\_channel\_types if these are not EEG channels, or use the on\_missing parameter if the channel positions are allowed to be unknown in your analyses.

* * *

---

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [July 1, 2022, 8:09pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/4 "2022-07-01T20:09:38Z")

</div>

Hello @BilalKhan,

> [@BilalKhan](#):
>
> ValueError: DigMontage is only a subset of info. There are 2 channel positions not present in the DigMontage. The required channels are:
> 
> [‘M1’, ‘M2’].

I believe the mastoids are not included in the 10-05 system; if you don’t want to use them in your analysis (and only use them for referencing), you should drop them before setting the montage.

Best wishes,  
Richard

cc @cbrnr & @sappelhoff for potential additional input

---

<div class="post-metadata">

**Author:** ![BilalKhan](https://avatars.discourse-cdn.com/v4/letter/b/e36b37/32.png) [@BilalKhan](https://mne.discourse.group/u/BilalKhan)\
**Post date:** [July 1, 2022, 8:22pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/5 "2022-07-01T20:22:07Z")

</div>

Hi @richard @cbnr @sappelhoff , I tried dropping off the M1 and M2 electrodes from the ICA analysis and the` raw.set_montage('easycap-M1')` worked as well but still there is an error in plotting ICA components.  
I have attached the screenshot of the output I got after setting up the montage to ‘raw’.

Error message is below:

_ **RuntimeError: No digitization points found** _

 ![1](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/3/39d9446a8061d683d205f9b1b325caa21400c25d.png)

---

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [July 1, 2022, 8:39pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/6 "2022-07-01T20:39:22Z")

</div>

This is not an error, just a (useful!) warning.

Apparently, `Cz` and `AFz` have the wrong channel type (`misc` instead of `eeg`). This should be corrected via `raw.set_channel_types()`.

Best wishes,  
Richard

---

<div class="post-metadata">

**Author:** ![BilalKhan](https://avatars.discourse-cdn.com/v4/letter/b/e36b37/32.png) [@BilalKhan](https://mne.discourse.group/u/BilalKhan)\
**Post date:** [July 3, 2022, 12:38am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/7 "2022-07-03T00:38:00Z")

</div>

Hi @richard @cbrnr @sappelhoff,

Thank you for the help. But it seems I had attached the wrong image of the error message.  
I have attached the correct one now. The issue is that even after setting the montage to the raw, the ica components could not be plotted. The error message says ‘no digitization points found’, which should be set up during the setting up of the montage. Is it the wrong assumption of am I missing something here.

Kindly help.

Regards  
B

 ![2](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/d/d80e15415fb0f73d31e0fd76251233bfd172cb63.png)

---

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [July 3, 2022, 8:36am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/8 "2022-07-03T08:36:27Z")

</div>

Hello, we’d need to see more of your code to figure where things are going wrong.

Are you sure you set the montage **before** fitting ICA?

---

<div class="post-metadata">

**Author:** ![sappelhoff](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/sappelhoff/32/3276_2.png) [@sappelhoff](https://mne.discourse.group/u/sappelhoff)\
**Post date:** [July 4, 2022, 6:08am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/9 "2022-07-04T06:08:42Z")

</div>

Yes, please post your code (with Markdown formatting)! 🙂

Also, electrodes M1 and M2 are typically very close to the positions TP9 and TP10 in the 5%-style systems … so if you don’t want to drop them you can either consider renaming them (messy), or make a your own montage using [Compute and plot standard EEG electrode positions — eeg\_positions 2.2.0.dev0 documentation](https://stefanappelhoff.com/eeg_positions/index.html) … there you can enter M1 and M2 as “aliases” for TP9 and TP10.

---

<div class="post-metadata">

**Author:** ![BilalKhan](https://avatars.discourse-cdn.com/v4/letter/b/e36b37/32.png) [@BilalKhan](https://mne.discourse.group/u/BilalKhan)\
**Post date:** [July 12, 2022, 11:08am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/10 "2022-07-12T11:08:19Z")

</div>

Thanks, everyone. Its working now.

---

<div class="post-metadata">

**Author:** ![Dhivya\_Bharkavi](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/dhivya_bharkavi/32/3037_2.png) [@Dhivya\_Bharkavi](https://mne.discourse.group/u/Dhivya_Bharkavi)\
**Post date:** [July 15, 2023, 11:38am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/11 "2023-07-15T11:38:46Z")

</div>

## ica.plot\_components(outlines=“skirt”); WARNING:root:Did not find any electrode locations (in the info object), will attempt to use digitization points instead. However, if digitization points do not correspond to the EEG electrodes, this will lead to bad results. Please verify that the sensor locations in the plot are accurate.

RuntimeError Traceback (most recent call last)  
 in \<cell line: 1\>()  
----\> 1 ica.plot\_components(outlines=“skirt”);

6 frames  
 in plot\_ica\_components(ica, picks, ch\_type, inst, plot\_std, reject, sensors, show\_names, contours, outlines, sphere, image\_interp, extrapolate, border, res, size, cmap, vlim, cnorm, colorbar, cbar\_fmt, axes, title, nrows, ncols, show, image\_args, psd\_args, verbose)

/usr/local/lib/python3.10/dist-packages/mne/channels/layout.py in \_auto\_topomap\_coords(info, picks, ignore\_overlap, to\_sphere, sphere)  
854 # Get EEG digitization points  
855 if info[“dig”] is None or len(info[“dig”]) == 0:  
 → 856 raise RuntimeError(“No digitization points found.”)  
857  
858 locs3d = np.array(

RuntimeError: No digitization points found.

---

<div class="post-metadata">

**Author:** ![agramfort](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@agramfort](https://mne.discourse.group/u/agramfort)\
**Post date:** [July 16, 2023, 10:25am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/12 "2023-07-16T10:25:51Z")

</div>

you cannot plot a topography without setting the locations of the channels.

See the set\_montage / montage how to here:

[https://mne.tools/stable/auto\_tutorials/intro/40\_sensor\_locations.html#tut-sensor-locations](https://mne.tools/stable/auto_tutorials/intro/40_sensor_locations.html#tut-sensor-locations)

[https://mne.tools/stable/auto\_tutorials/evoked/30\_eeg\_erp.html#channel-locations](https://mne.tools/stable/auto_tutorials/evoked/30_eeg_erp.html#channel-locations)

Alex

---

<div class="post-metadata">

**Author:** ![cbrnr](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/cbrnr/32/1409_2.png) [@cbrnr](https://mne.discourse.group/u/cbrnr)\
**Post date:** [January 31, 2024, 11:32am UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/13 "2024-01-31T11:32:41Z")

</div>

A post was split to a new topic: [Error in `raw.set_montage()`](https://mne.discourse.group/t/error-in-raw-set-montage/8242)

---

<div class="post-metadata">

**Author:** ![cbrnr](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/cbrnr/32/1409_2.png) [@cbrnr](https://mne.discourse.group/u/cbrnr)\
**Post date:** [January 31, 2024, 12:01pm UTC](https://mne.discourse.group/t/ica-error-no-digitization-points-found/5200/14 "2024-01-31T12:01:13Z")

</div>


