U
    f»{jS  ã                   @   sh   d dl mZmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ dd„ Zd	d
„ ZdS )é    )Úassert_array_equalÚassert_allcloseN)ÚstatsÚsparse)Úpermutation_cluster_1samp_test)Úpermutation_t_testÚ_ciÚbootstrap_confidence_interval)Úcheck_versionc                  C   s(  t j d¡ d\} }t j | |¡}|dd…dd…f  d7  < t|dddd�\}}}|dk ¡ sdt‚t|ƒdkstt‚|d	k }t|d
d
dddgƒ t|dddd�\}}}|dk ¡ s¶t‚t|ƒdksÆt‚|d	k }t|d
d
dddgƒ t|dddd�\}}}|d	k }t|dddddgƒ |d9 }t|dddd�\}}}|dk ¡ �sDt‚t|ƒdk�sVt‚|d	k }t|d
d
dddgƒ t	 
|¡dfD ]D}t|dd|dd�\}}	}
}	|dk }t||ƒ t|
|| dd� �q€t j dd¡}t|dd�\}}}t |dd…df d¡\}}t|d |dƒ t|d |dd� dS )z"Test T-test based on permutations.é
   )é   é   Né   é   iç  r   )Ún_permutationsÚtailÚseedgš™™™™™©?TFéÿÿÿÿÚmask)r   r   Ú	adjacencyZout_typeg{®Gáz„?)Zatolé   Úall)r   é   ©Zrtol)ÚnpÚrandomr   Zrandnr   r   ÚAssertionErrorÚlenr   r   Úeyer   r   r   Zttest_1samp)Z	n_samplesZn_testsÚXZt_obsZp_valuesZH0Zis_significantr   Zt_obs_clustÚ_Zp_values_clustZkeepZt_obs_scipyZp_values_scipy© r!   ú`/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/stats/tests/test_permutations.pyÚtest_permutation_t_test   sv       ÿ   ÿ   ÿ   ÿ   þ
r#   c                  C   s~   t  ddd¡dt jf } tt| dd�t| dd�dd	� tt| d
dd�t| ddd�dd	� tddƒrzt j d¡}t| |d� dS )zTest confidence intervals.r   r   iè  .Z
parametric)ÚmethodZ	bootstrapg{®Gázt?r   Zmedian)Zstat_funÚrandom_stateZmeangš™™™™™¹?Únumpyz1.17)r%   N)	r   ZlinspaceZnewaxisr   r   r	   r
   r   Zdefault_rng)Zarrr%   r!   r!   r"   Útest_ciC   s     
 ÿÿÿü
r'   )Znumpy.testingr   r   r&   r   Zscipyr   r   Z	mne.statsr   Zmne.stats.permutationsr   r   r	   Z	mne.utilsr
   r#   r'   r!   r!   r!   r"   Ú<module>   s   4