U
    f»{j‚k  ã                   @   sV  d dl mZ d dlmZ d dlmZmZ d dlZd dl	Z
d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZmZ d dlmZ d dlm Z  d d	l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d d
l,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 e/j3dd�Z3e 4e3ddd¡Z5e 4e3dd¡Z6e 4e 7e¡d¡Z8e 4e8ddd¡Z9e 4e8ddd¡Z:dLdd„Z;dd„ Z<dd„ Z=d d!„ Z>d"d#„ Z?dMd%d&„Z@d'd(„ ZAd)d*„ ZBd+d,„ ZCd-d.„ ZDd/d0„ ZEd1d2„ ZFd3d4„ ZGd5d6„ ZHe/jId7d8„ ƒZJd9d:„ ZKd;d<„ ZLe/jId=d>„ ƒZMd?d@„ ZNdAdB„ ZOdCdD„ ZPejQ RdEd$ddFdGg¡ejQ RdHd$dg¡ejQ RdId$dg¡dJdK„ ƒƒƒZSdS )Né    )ÚdeepcopyN)Úassert_array_equalÚassert_equal)	Úpick_channels_regexpÚ
pick_typesÚEpochsÚread_forward_solutionÚrename_channelsÚ	pick_infoÚpick_channelsÚcreate_infoÚmake_ad_hoc_cov)Ú__file__)Úread_raw_fifÚRawArrayÚread_raw_btiÚread_raw_kitÚ	read_info)Úmake_standard_montage)Úcompute_current_source_density)
Úchannel_indices_by_typeÚchannel_typeÚpick_types_forwardÚ_picks_by_typeÚ_picks_to_idxÚ_contains_ch_typeÚpick_channels_covÚ_get_channel_typesÚget_channel_type_constantsÚ_DATA_CH_TYPES_SPLIT)ÚFIFF)Útesting)Úcatch_loggingÚassert_object_equalF)ÚdownloadZMEGÚsamplez)sample_audvis_trunc-meg-eeg-oct-4-fwd.fifZSSSz#test_move_anon_movecomp_raw_sss.fifz..ÚtestsÚdataztest_ctf_raw.fifútest_raw.fifÚbadsc                    s  g }‡ fdd„t D ƒ}ttt |ƒƒ}|d rZ|dk	s<|d sZ| dtˆ ddd||d�f¡ |d r�|dk	sr|d s�| dtˆ ddd||d�f¡ |d rÆ|d rÆ|dkrÆ| dtˆ ddd||d�f¡ t D ]>}|d	krØqÊ|| rÊ| |tˆ fdd||d
œ|di—Žf¡ qÊ|S )z(Use the old, slower _picks_by_type code.c                    s   g | ]}t ˆ |ƒ‘qS © )r   ©Ú.0Úk©Úinfor*   úU/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/io/tests/test_pick.pyÚ
<listcomp>'   s     z&_picks_by_type_old.<locals>.<listcomp>ÚmagTÚgradF)ÚmegÚeegÚstimÚref_megÚexcluder4   )r3   r2   )r4   r6   r7   r8   )r   ÚdictÚzipÚappendr   )r/   Úmeg_combinedr7   r8   Z
picks_listÚhasZch_typer*   r.   r0   Ú_picks_by_type_old#   sJ     ÿÿ ÿÿ ÿÿ ÿþÿr>   c                 C   s|   | d | }t tƒ  ¡ dd„ dd�}|D ]<\}}| ¡ D ]"\}}| |d¡t |¡kr8 q(q8|  S q(td|d › �ƒ‚dS )	z*Get channel type using old, slower scheme.Úchsc                 S   s   t | d ƒS )Né   )Úlen)Úxr*   r*   r0   Ú<lambda>K   ó    z#_channel_type_old.<locals>.<lambda>T)ÚkeyÚreverseNzUnknown channel type for Úch_name)Úsortedr   ÚitemsÚgetÚnpÚarrayÚ
ValueError)r/   ÚidxÚchÚchannel_typesÚtÚrulesrE   Úvalsr*   r*   r0   Ú_channel_type_oldD   s    
 ÿ
rT   c                 C   s8   t | d ƒD ]&}t| |ƒt| |ƒ }}||kst‚qd S )NÚnchan)Úranger   rT   ÚAssertionError)r/   r-   ÚaÚbr*   r*   r0   Ú_assert_channel_typesV   s    rZ   c                  C   sÞ  t ƒ } t tddd¡}t |d¡}t |d¡}t |d¡}t |d¡}t||||ƒ}|  |j¡ t tddd¡}t |d	¡}t |d
¡}	t |d¡}
t||	|
dd�}|  |j¡ t tddd¡}t|ƒ}| 	d¡ | D �]´}g |d< t
|ƒ tjtdd�� t|dd� W 5 Q R X tjtdd�� t|dd� W 5 Q R X t|ddd�}t|ddd�}t|ddd�}t|t t ||g¡¡ƒ t|ddd�}t|ddd�}t|ddd�}t|t t ||g¡¡ƒ t|ddd�}t|ddd�}t|ddd�}t|t t ||g¡¡ƒ t|t t ||g¡¡ƒ t|t t ||g¡¡ƒ t|t t ||||g¡¡ƒ |||||||||f	D ]}t|ƒdk�rlt||ƒ �qlqÖ|j}g |d< t|ddd�}t|ddd�}t|ddd�}t|ddd�}t|ddd�}t|ddd�}||||fD ]}t|ƒdk�rüt||ƒ �qü||fD ]T}t|ƒdk�r$tƒ �}t||dd� W 5 Q R X d t|d ƒ¡| ¡ k�s$t‚�q$t|ddd�}t|ƒt|ƒk�sžt‚t|ƒdk�s°t‚t dd ¡}tt ||g¡|ƒ t||ƒ d!S )"z"Test picking of reference sensors.Zkitr&   r'   ztest.sqdztest_mrk.sqdztest_elp.txtztest_hsp.txtZbtiZtest_pdf_linuxZtest_config_linuxZtest_hs_linuxF)Zpreloadztest_ctf_comp_raw.fifé   r)   z'planar2'] or bool, not foo©ÚmatchÚfoo©r4   z'planar2', 'auto'] or bool,©r7   T)r4   r7   r3   r2   r   ©ÚverbosezRemoving {} compensatorsÚcompsé   é2  N)ÚlistÚopÚjoinÚio_dirr   r;   r/   r   r   Zapply_gradient_compensationrZ   ÚpytestÚraisesrM   r   r   rK   ÚsortÚconcatenaterA   r
   r"   ÚformatÚgetvaluerW   ÚsetÚarange)ÚinfosZkit_dirZsqd_pathZmrk_pathZelp_pathZhsp_pathZraw_kitZbti_dirZbti_pdfZ
bti_configZbti_hsZraw_btiZfname_ctf_rawZraw_ctfr/   Zpicks_meg_refÚ	picks_megZ	picks_refZ
picks_gradZpicks_ref_gradZpicks_meg_ref_gradZ	picks_magZpicks_ref_magZpicks_meg_ref_magÚpickÚlogZall_megr*   r*   r0   Útest_pick_refs\   s¶    

ÿ
ÿÿ
ÿÿÿ
ÿÿ
ÿ    þÿrv   c                  C   sJ   dddg} t t| dƒdgƒ t t| dƒddgƒ t t| d	ƒdddgƒ d
S )z"Test pick with regular expression.úMEG 2331úMEG 2332úMEG 2333zMEG ...1r   zMEG ...[2-3]r@   r[   zMEG *N)r   r   ©Úch_namesr*   r*   r0   Útest_pick_channels_regexp³   s    
r|   Tc           	   	   C   sN  t | ƒ |s^t| ƒ}|D ]D}|D ]&}||d kr t|| |d ƒ  qq t|| ƒdkst‚q|spdd„ |D ƒ}dd„ |D ƒ}t| |d�}t||ƒ |sÈ|d rÈtjt	dd	�� t
| |d� W 5 Q R X nt
| |d�}t||ƒ |  ¡ } | d
 |d d d  d g| d< t|ƒ}|d d |d d dd… f|d< t| |d�}t||ƒ dS )z,Assert our indexing functions work properly.r   r@   c                 S   s   g | ]}|d  t kr|‘qS )r   )r   ©r,   Úpr*   r*   r0   r1   Ë   s    ÿz#assert_indexing.<locals>.<listcomp>c                 S   s$   g | ]}|d  t  |d t¡f‘qS )r   r@   )rK   rL   Úintr}   r*   r*   r0   r1   Í   s     r`   Úhbozunexpected keyword argumentr\   r?   rG   r)   N)rZ   r   r   rA   rW   r   r#   rj   rk   Ú	TypeErrorr>   Úcopyr   )	r/   Úpicks_by_typer7   Úall_datarN   rE   r~   ÚactualÚoldr*   r*   r0   Úassert_indexing»   s2    

"$r‡   c                  C   st  d  ¡ } d  ¡ }t| d|ƒ}dddgfddd	gfd
dddgfddddgfg}t||ƒ tt|ddd�dddgƒ t|ƒD ]\}}tt||ƒ|| ƒ qxtt	 
t| ƒdf¡|ƒ}t	 dddgdddgg¡}t||ddidddd�}| t|jddd�¡}	|	 ¡ jddd�}
t|
j| d | d | d gƒD ]\}}||k�s&t‚�q&tt tddd¡ƒ}ttt|jdddd�ƒdƒ dS ) z Test picking with sEEG and ECoG.z"A1 A2 Fz O OTp1 OTp2 E1 OTp3 E2 E3z-mag mag eeg eeg seeg seeg ecog seeg ecog ecogç      �@r2   r   r@   r5   r[   rd   Úseegé   é   é   Úecogé   é   é	   FT©r4   r‰   é
   Úeventçñhãˆµøä¾çñhãˆµøä>©r   r   ©ÚeventsZevent_idZtminZtmaxZbaseliner&   r'   útest_chpi_raw_sss.fif)r4   r‰   r�   N)Úsplitr   r‡   r   r   Ú	enumerater   r   r   rK   ÚzerosrA   rL   r   Úaverager/   r‚   r:   r{   rW   r   rg   rh   ri   )ÚnamesÚtypesr/   rƒ   ÚirQ   Úrawr˜   ÚepochsÚevokedZe_seegÚltÚrtr*   r*   r0   Útest_pick_seeg_ecogß   s4     ÿ
 þ&ÿr¦   c                  C   sl  d  ¡ } d  ¡ }t| d|ƒ}dddgfddd	gfd
dddgfg}t||ƒ tt|ddd�dddgƒ t|ƒD ]\}}t||ƒ|| kslt‚qltt	 
t| ƒdf¡|ƒ}t	 dddgdddgg¡}t||ddidddd�}| t|jddd�¡}	|	 ¡ jddd�}
t|
j| d | d | d gƒD ]\}}||k�st‚�qtt tddd¡ƒ}tt|jddd�ƒdk�sht‚dS )zTest picking with DBS.zA1 A2 Fz O OTp1 OTp2 OTp3zmag mag eeg eeg dbs dbs dbsrˆ   r2   r   r@   r5   r[   rd   ÚdbsrŠ   r‹   rŽ   FT)r4   r§   rŒ   r“   r”   r•   r–   r—   r&   r'   r™   N)rš   r   r‡   r   r   r›   r   rW   r   rK   rœ   rA   rL   r   r�   r/   r‚   r:   r{   r   rg   rh   ri   )rž   rŸ   r/   rƒ   r    rQ   r¡   r˜   r¢   r£   Ze_dbsr¤   r¥   r*   r*   r0   Útest_pick_dbsù   s.    $
 þ&ÿr¨   c                  C   sL   t t tddd¡ƒ} t| ƒ t| ƒ}d|ks0t‚d|ks<t‚d|ksHt‚dS )zTest picking cHPI.r&   r'   r™   Zchpir‰   r�   N)r   rg   rh   ri   rZ   r   rW   )r/   rP   r*   r*   r0   Útest_pick_chpi  s    r©   c                  C   sX   ddddddg} d  ¡ }t| d|ƒ}d	d
dgfddgfddddgfg}t||dd� dS )z-Test picking current source density channels.rw   rx   ry   ÚA1ÚA2ZFzzmag mag grad csd csd csdrˆ   r2   r   r@   r3   r[   Úcsdrd   rŠ   r‹   F©r„   N©rš   r   r‡   ©rž   rŸ   r/   rƒ   r*   r*   r0   Útest_pick_csd  s
    "r°   c                  C   sR   d  ¡ } d  ¡ }t| d|ƒ}dddgfddd	gfd
dddgfg}t||dd� dS )zTest picking BIO channels.zA1 A2 Fz O BIO1 BIO2 BIO3zmag mag eeg eeg bio bio biorˆ   r2   r   r@   r5   r[   rd   ZbiorŠ   r‹   rŽ   Fr­   Nr®   r¯   r*   r*   r0   Útest_pick_bio'  s
    $r±   c                  C   sf   d  ¡ } d  ¡ }t| d|ƒ}dddgfddd	gfd
ddgfddgfdddgfddgfg}t||ƒ dS )zTest picking fNIRS channels.z6A1 A2 Fz O hbo1 hbo2 hbr1 fnirsRaw1 fnirsRaw2 fnirsOD1zJmag mag eeg eeg hbo hbo hbr fnirs_cw_amplitude fnirs_cw_amplitude fnirs_odrˆ   r2   r   r@   r5   r[   rd   r€   rŠ   r‹   ÚhbrrŽ   Úfnirs_cw_amplituderŒ   r�   Úfnirs_odr�   Nr®   r¯   r*   r*   r0   Útest_pick_fnirs0  s    
 
 þrµ   c               
   C   s˜   t tƒ} ddgfdddgfddgfdd	gfd
t dd¡fdt dd¡fg}t| |dd� | d
t | d¡d	 | d¡d	 g¡f¡ t| |ddd� dS )zTest picking ref_meg channels.r6   r   Úeogre   i3  Zecgi4  Úmiscr@   r2   é   r7   r[   Fr­   éÿÿÿÿT)r7   r„   N)r   Ú	ctf_fnamerK   rq   r‡   r;   rm   Úpop)r/   rƒ   r*   r*   r0   Útest_pick_ref<  s    ýÿ
r¼   c                 C   s:   t | d d ƒ}| d d jd }t||ƒ t||ƒ d S )Nr/   r{   Úsolr'   r   )rA   Úshaper   )ÚfwdZ
n_expectedZn_okZn_solr*   r*   r0   Ú_check_fwd_n_chan_consistentI  s    
rÀ   c                  C   s>  t tƒ} t| d ƒ}| ¡ D ]}t|| ƒ||< q|d |d  |d< t| dd�}t||d ƒ t| ddd�}t||d	 ƒ tjt	t| ddd
� tjt	t| ddd� d}d}t
| d d|iƒ t
| d d|iƒ | d d D ]H}|d |k�rtj|d< tj|d< qÜ|d |krÜtj|d< tj|d< qÜ| d d d d | d d d< | d d d d | d d d< |d	  d8  < |d  d7  < |d  d7  < t| ddd
�}t|d d |gƒ t|d d |gƒ t| dd�}t||d ƒ t| ddd�}t||d	 ƒ t| ddd
�}t||d ƒ t| ddd�}t||d ƒ dS )z(Test picking forward with SEEG and ECoG.r/   r2   r3   r4   Tr_   F©r4   r5   r5   r‘   )r4   r�   ZE1ZOTp1zEEG 059zEEG 060r?   rG   ÚkindZ	coil_typer¹   r½   Z	row_nameséþÿÿÿr[   r‰   r@   r�   r{   N)r   Ú
fname_meegr   ÚkeysrA   r   rÀ   rj   rk   rM   r	   r    ZFIFFV_SEEG_CHZFIFFV_COIL_EEGZFIFFV_ECOG_CHr   )r¿   ÚcountsrE   Zfwd_Z	ecog_nameZ	seeg_namerO   Zfwd_seegr*   r*   r0   Útest_pick_forward_seeg_ecogP  sL    

  rÇ   c            
   	   C   s6  t j d¡} |  d¡}dd„ dD ƒ}ddddg}d	}t|||d
�}t|ƒ t||ƒ}t|jƒ}t	t
|ƒdƒ t	|d d dƒ t|jdd�}t	t
|ƒt
|ƒƒ t	|d d dƒ t|jdd�}t	t
|ƒt
|ƒd ƒ t	|d d dƒ |  d¡}dd„ dD ƒ}ddddg}d	}t|||d
�}t||ƒ}tt|d ddgƒddgƒ t tt|d¡ t tt|dgd¡ t|jƒ}t	t
|ƒdƒ t	|d d dƒ t|jdd�}t	t
|ƒt
|ƒƒ t	|d d dƒ tjtdd�� |jdd� W 5 Q R X ddg}	t
t|jd |	ƒƒdk�st‚t
| ¡  |	¡d d ƒdk�s2t‚dS )zTest creating pick_lists.i�  )rŠ   iÐ  c                 S   s   g | ]}d | ‘qS ©zMEG %03dr*   ©r,   r    r*   r*   r0   r1   „  s     z*test_picks_by_channels.<locals>.<listcomp>)r@   r[   rd   rŠ   r3   r2   r5   g     @o@)r{   ÚsfreqÚch_typesrd   r   F)r<   Tr@   r4   c                 S   s   g | ]}d | ‘qS rÈ   r*   rÉ   r*   r*   r0   r1   —  s     r{   zMEG 002zMEG 001Úhizmust be of typer\   Ústring©r5   N)rK   ÚrandomÚRandomStateZrandom_sampler   rZ   r   r   r/   r   rA   r   r   rj   rk   rM   r   rW   r‚   )
ÚrngZ	test_datar{   rË   rÊ   r/   r¡   Z	pick_listZ
pick_list2rž   r*   r*   r0   Útest_picks_by_channels  sN    




ÿ
rÒ   c            
   	      s.  t  t  t¡dddd¡} t| ƒ‰ tˆ jƒ tˆ jddd�}|dd	d
g }‡ fdd„|D ƒ}tˆ jddd�}|dddg }‡ fdd„|D ƒ}|| ˆ jd< tˆ j|ƒ}tˆ j|ƒ}t	|d |ƒ t	|d |ƒ tˆ j|ƒ}	|	 
¡  |	d  dg7  < t t|	j
¡ tjtdd�� tˆ jddgƒ W 5 Q R X dS )z:Test cleaning info['bads'] when bad_channels are excluded.Úior&   r'   r(   FTrÁ   r@   r‹   é   c                    s   g | ]}ˆ j d  | ‘qS rz   r.   r+   ©r¡   r*   r0   r1   Á  s     z(test_clean_info_bads.<locals>.<listcomp>r   é   é"   c                    s   g | ]}ˆ j d  | ‘qS rz   r.   r+   rÕ   r*   r0   r1   È  s     r)   zEEG 053Úuniquer\   N)rg   rh   ÚdirnameÚ_root_init_fnamer   rZ   r/   r   r
   r   Z_check_consistencyrj   rk   ÚRuntimeErrorrM   )
Zraw_fileZ	picks_eegZidx_eeg_bad_chZ
eeg_bad_chrs   Zidx_meg_bad_chZ
meg_bad_chZinfo_eegZinfo_megr/   r*   rÕ   r0   Útest_clean_info_badsµ  s,    ÿ
rÜ   c               	   C   s¨  t dddƒ} t| ƒ t | d ¡}t|t| |ƒƒ t|t| t|ƒƒƒ tjt	dd�� t| dƒ W 5 Q R X t|t| dƒƒ t|t| dƒƒ t|t| dgƒƒ tt
|ƒd	 gt| t
|ƒd	 ƒƒ tt
|ƒd	 gt| d
ƒƒ tt
|ƒd	 gt| d
gƒƒ tdgt| | d d ƒƒ tt dd¡t| | d dd… ƒƒ tjtdd�� t| t
|ƒ d	 ƒ W 5 Q R X tjtdd�� t| t
|ƒƒ W 5 Q R X tjtdd�� t| ddgƒ W 5 Q R X tjtdd�� t| dƒ W 5 Q R X | d d	d… | d< t dgttddƒƒ ¡}t|t| dƒƒ t|t| d| d d�ƒ t|t| ddd�ƒ tjtdd�� t| d	ggƒ W 5 Q R X ttƒ} t d¡}t ddd¡}t ||¡}t|t| dƒƒ t|t| dƒƒ t|t| dƒƒ t|t| dƒƒ t ddgddƒ} tjtd d�� t| dƒ W 5 Q R X tjtd!d��" t ddgdtdgdgd"�ƒ W 5 Q R X t ddgdd#d$gƒ} tt d¡t| d%ƒƒ tdgt| d#ƒƒ td	gt| d$ƒƒ t ddgdd#d&gƒ} tt t
| d ƒ¡t| d'ƒƒ tdgt| d(ƒƒ t ddgdd)d*gƒ} tt d¡t| d%ƒƒ tdgt| d)ƒƒ td	gt| d*ƒƒ t ddgdd)d&gƒ} tt t
| d ƒ¡t| d'ƒƒ tdgt| d(ƒƒ t ddgdd*d&gƒ} tt t
| d ƒ¡t| d'ƒƒ tdgt| d(ƒƒ dS )+z-Test checking type integrity checks of picks.é   g     @�@r5   rU   zdata type of float64r\   ç      ð?Nr@   r¹   r[   r{   r‹   r�   zmust be >= z
must be < zcould not be interpretedrX   rY   r)   r   )r8   r*   z 1D, gotre   rd   r4   )r2   r3   r2   r3   r^   zequivalent to channel typeszsame length)r€   r²   r€   r²   Zfnirsr·   Úallr'   r³   r´   )r   rZ   rK   rq   r   r   rf   rj   rk   r�   rA   rM   rL   rV   r   Úfname_mcZ	setdiff1drÛ   r9   )r/   ÚpicksZ
picks_goodZ	meg_picksZ	mag_picksZ
grad_picksr*   r*   r0   Útest_picks_to_idxÞ  sŒ    "ÿ
ÿ
&ÿÿÿrâ   c                  C   s  t dddgddd�} t| ƒ}t dddg¡|d	< t|ddgd
dd�}|jddgksVt‚t|d	 ddgƒ t|ddgddd�}|jddgksŽt‚t|d	 ddgƒ t|ddgd
d� |jddgksÄt‚t|d	 ddgƒ d|d< d|d< t|ddgdd�}d|k�st‚d|k�st‚dS )z/Test picking channels from a Covariance object.ZCH1ZCH2ZCH3rÞ   r5   )rË   g       @g      @r'   FT)Úorderedr‚   )r‚   NÚmethodZloglik)r   r   rK   rL   r   r{   rW   r   )r/   ZcovZcov_copyr*   r*   r0   Útest_pick_channels_cov,  s"    rå   c               	   C   s   t ddddddddgƒ} tt| dd	�ƒd
ddgks6t‚tt| ddd�ƒdd
ddgksXt‚tt| dd	�ƒd
ddgksvt‚tt| dd	�ƒrŠt‚tt| dd	�ƒdgks¤t‚tt| dd	�ƒr¸t‚t ddddddddgƒ}tt|ƒƒràt‚tt|dd�ƒdd
gksüt‚dS )zTest pick_types(meg=True).rŽ   é   r5   r2   r3   r·   r€   Tr_   r@   r[   rŠ   rÁ   r   FZplanar1Zplanar2r¶   r6   rÎ   N)r   rf   r   rW   )Úinfo1Zinfo2r*   r*   r0   Útest_pick_types_megH  s    "rè   c                  C   sš   ddddddddg} t | d	d
d
d
d
ddddgƒ}tt d¡|ƒ}|jtdƒdd� t|dd�}tt|dd�dgƒ | 	¡ jdd�j
dddddgks–t‚dS )zTest pick_types(csd=True).ZF1ZF2ZC1ZC2rª   r«   Zmisc1ZCSD1ræ   r5   r2   r·   r¬   )r�   i   Zstandard_1020Úerrorra   T)r¬   rŒ   N)r   r   rK   rœ   Zset_montager   r   r   r   r‚   r{   rW   )rž   rç   r¡   Zraw_csdr*   r*   r0   Útest_pick_types_csd\  s"      ÿ    ÿrê   r4   r3   r2   r5   rã   c              	      s¨   t tƒ‰ tˆ j| |d� tˆ j| |d�}|s>tj d¡ |¡}| sp|sptj	t
dd�� ˆ j|d� W 5 Q R X dS t ˆ j|d�¡}t ‡ fdd„|D ƒ¡}t||ƒ dS )	z&Test equivalence of get_channel_types.rÁ   r   zNo appropriate channelsr\   )rá   Nc                    s   g | ]}t ˆ j|ƒ‘qS r*   )r   r/   )r,   rN   rÕ   r*   r0   r1   |  s     z0test_get_channel_types_equiv.<locals>.<listcomp>)r   Ú	fif_fnamer   r/   rK   rÏ   rÐ   Zpermutationrj   rk   rM   Zget_channel_typesrL   r   )r4   r5   rã   rá   rŸ   Z
types_iterr*   rÕ   r0   Útest_get_channel_types_equivm  s    rì   )FFr)   )FT)Tr‚   r   Úos.pathÚpathrg   Znumpy.testingr   r   rj   ÚnumpyrK   Zmner   r   r   r   r	   r
   r   r   r   r   rÚ   Zmne.ior   r   r   r   r   Zmne.channelsr   Zmne.preprocessingr   Zmne.io.pickr   r   r   r   r   r   r   r   r   r   Zmne.io.constantsr    Zmne.datasetsr!   Z	mne.utilsr"   r#   Z	data_pathrh   rÄ   rà   rÙ   ri   rº   rë   r>   rT   rZ   rv   r|   r‡   r¦   r¨   r©   r°   r±   rµ   r¼   rÀ   Zrequires_testing_datarÇ   rÒ   rÜ   râ   rå   rè   rê   ÚmarkZparametrizerì   r*   r*   r*   r0   Ú<module>   sd   ,0
ÿ  ÿ
!W
$
	
.6)
M