3
db                 @   s   d Z ddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ dd Zdd	 Zej d
d Zej dd Zej dd Zej dd Zdd Zejdgee
j ddd ZdS )z 
Pytest fixtures used in tests.
    N)ensure_list)Info)
FSLCommandc             C   s\   xVt |D ]J}tj }|j| tjj|}tj|tjd|}|jt	j
j| | q
W d S )N   )r   nbZNifti1HeaderZset_data_shapenprandomZAnalyzeImageeyeto_filenameospathjoin)outdirfilelistshapefhdrimgZanalyze r   9/tmp/pip-build-7vycvbft/nipype/nipype/testing/fixtures.pyanalyze_pair_image_files   s    
r   c             C   sF   x@t |D ]4}tjj|}tj|tjdd jtjj	| | q
W d S )Nr   )
r   r   r   r   ZNifti1Imager	   r
   r   r   r   )r   r   r   r   r   r   r   r   nifti_image_files   s    r   c                s@   |j   ddg}t|j|dd  fdd}| j| ||jfS )	Nza.niizb.nii   r   )r   c                  s    j   d S )N)chdirr   )cwdr   r   change_directory&   s    z3create_files_in_directory.<locals>.change_directory)r   r   r   r   )r   r   strpathaddfinalizer)requesttmpdirr   r   r   )r   r   create_files_in_directory    s    
r    c                s>   |j   dg}t|j|dd  fdd}| j| ||jfS )Nza.hdrr   r   )r   c                  s    j   d S )N)r   r   )r   r   r   r   3   s    z?create_analyze_pair_file_in_directory.<locals>.change_directory)r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   %create_analyze_pair_file_in_directory-   s    
r!   c                sZ   |j   ddg}t|j|d
d |jdjd |jd  fdd	}| j| ||jfS )Nza.niizb.niir   r   )r   zreg.datz
dummy filec                  s    j   d S )N)r   r   )r   r   r   r   C   s    zCcreate_files_in_directory_plus_dummy_file.<locals>.change_directory)r   r   r   r   )r   r   r   r   writeappendr   )r   r   r   r   r   )r   r   )create_files_in_directory_plus_dummy_file:   s    

r$   c                s<   |j   d}t|j|dd  fdd}| j| ||jfS )Nzlh.a.nii   d   )r   r   c                  s    j   d S )N)r   r   )r   r   r   r   P   s    z7create_surf_file_in_directory.<locals>.change_directory)r%   r&   r%   )r   r   r   r   )r   r   Zsurfr   r   )r   r   create_surf_file_in_directoryJ   s    
r'   c             C   sF   t jjdd }| d k	r"| t jd< ndt jkr4t jd= tjtj  |S )NZFSLOUTPUTTYPE)r   environgetr   Zset_default_output_typer   output_type)Zfsl_output_typeZprev_output_typer   r   r   set_output_typeW   s    
r+   )paramsc                s\   t | j |j ddg}t|j|dd tjtj } fdd}| j| ||j|fS )	Nza.niizb.niir   r   )r   c                  s   t   j  d S )N)r+   r   r   )func_prev_typeorigdirr   r   finl   s    z7create_files_in_directory_plus_output_type.<locals>.fin)r   r   r   r   )	r+   paramr   r   r   r   Zoutput_type_to_extr*   r   )r   r   r   Zout_extr/   r   )r-   r.   r   *create_files_in_directory_plus_output_typec   s    

r1   )__doc__r   Zpytestnumpyr   Znibabelr   Znipype.utils.filemanipr   Znipype.interfaces.fslr   Znipype.interfaces.fsl.baser   r   r   Zfixturer    r!   r$   r'   r+   sortedZftypesr1   r   r   r   r   <module>   s   	