U
    f»{jš  ã                   @   s   d d„ Z dd„ Zdd„ ZdS )c              	   C   sd  t | ƒ}t| dƒ�}| ¡ }W 5 Q R X dd„ t|ƒD ƒ}tƒ }|D �]}t|d |d ƒD ]<}||  ¡ }t|ƒdkrZ|d }	|	dkrZt|d ƒ}
 q qZt	d	ƒ‚tf |Ž||
< t|d |d ƒD ]œ}||  ¡ }t|ƒdkrÀ|d }	|	d
k�r@d 
|dd… ¡}|d dk�r|dd… }|d dk�r4|dd… }|||
 d
< |	dkrÀt|d ƒ||
 |	< qÀqB|S )ak  Parse a config file (like .ave and .cov files).

    Parameters
    ----------
    fname : str
        Config file name.

    Returns
    -------
    conditions : list of dict
        Each condition is indexed by the event type.
        A condition contains as keys::

            tmin, tmax, name, grad_reject, mag_reject,
            eeg_reject, eog_reject
    Úrc                 S   s   g | ]\}}d |kr|‘qS )z
category {© )Ú.0ÚiÚxr   r   úG/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/misc.pyÚ
<listcomp>   s      z parse_config.<locals>.<listcomp>é   é   é   é    ÚeventzCould not find event id.Únameú Nú"éÿÿÿÿ)ZtminZtmaxZbaseminZbasemax)Úread_reject_parametersÚopenÚ	readlinesÚ	enumerateÚdictÚrangeÚsplitÚlenÚintÚ
ValueErrorÚjoinÚfloat)ÚfnameZreject_paramsÚfÚlinesZcat_indZ
event_dictÚindÚkÚwordsÚkeyr   r   r   r   r   Úparse_config   s:    

r$   c              	   C   s€   t | dƒ�}| ¡ }W 5 Q R X dddddg}ddd	d
dg}tƒ }|D ]6}| ¡ }|d |krDt|d ƒ||| |d ¡ < qD|S )zÓRead rejection parameters from .cov or .ave config file.

    Parameters
    ----------
    fname : str
        Filename to read.

    Returns
    -------
    params : dict
        The rejection parameters.
    r   Z
gradRejectZ	magRejectZ	eegRejectZ	eogRejectZ	ecgRejectÚgradÚmagÚeegÚeogÚecgr   r   ©r   r   r   r   r   Úindex)r   r   r   Úreject_namesÚreject_pynamesZrejectÚliner"   r   r   r   r   :   s    ÿ
ÿr   c              	   C   s€   t | dƒ�}| ¡ }W 5 Q R X dddddg}ddd	d
dg}tƒ }|D ]6}| ¡ }|d |krDt|d ƒ||| |d ¡ < qD|S )zERead flat channel rejection parameters from .cov or .ave config file.r   ZgradFlatZmagFlatZeegFlatZeogFlatZecgFlatr%   r&   r'   r(   r)   r   r   r*   )r   r   r   r,   r-   Zflatr.   r"   r   r   r   Úread_flat_parametersW   s    
ÿr/   N)r$   r   r/   r   r   r   r   Ú<module>   s   3