a
    =b3                     @   s   d dl Zd dlZd dlmZ d dlmZ ddlmZ ej	
dejejejgej	
ddd	gej	
d
dd	gdd Zej	
ddd	gej	
d
dd	gdd Zdd Zdd Zdd Zdd Zdd ZdS )    N)_supported_float_type)optical_flow_ilk   )_sin_flow_gendtypegaussianTF	prefilterc           	      C   s   t jd}|jdd}t|\}}|j| dd}t| }t|||||d}|jt| ks^J t	|| 
 dk svJ | |krtt" t||||| d W d    n1 s0    Y  d S )Nr      r
   sizeF)copy)r   r   r         ?)nprandomdefault_rngnormalr   Zastyper   r   r   absmeanpytestraises
ValueError)	r   r   r   rndimage0gt_flowimage1Zfloat_dtypeflow r   Blib/python3.9/site-packages/skimage/registration/tests/test_ilk.pytest_2d_motion	   s    r   c                 C   sV   t jd}|jdd}t|dd\}}t||d| |d}t||  dk sRJ d S )	N{   )2   7   <   r      )Znpics   )Zradiusr   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   test_3d_motion    s    r&   c                  C   s8   t jd} | jdd}t||}t |dks4J d S )Nr   r	   r   r   r   r   r   r   allr   imgr   r   r   r   test_no_motion_2d/   s    
r+   c                  C   s8   t jd} | jdd}t||}t |dks4J d S )Nr   )@   r,   r,   r   r'   r)   r   r   r   test_no_motion_3d8   s    
r-   c                  C   sx   t jd} | jdd}t|\}}t||dd}|jdks@J t||dd}|jdks\J t||  dk stJ d S )Nr   r	   r   float64r   float32gMbP?)	r   r   r   r   r   r   r   r   r   )r   r   r   r   Zflow_f64Zflow_f32r   r   r   test_optical_flow_dtypeA   s    r1   c                  C   s`   t jd} | jdd}| jdd}tt t||\}}W d    n1 sR0    Y  d S )Nr   r	   r   )   r
   r   r   r   r   r   r   r   r   )r   ZI0ZI1uvr   r   r   test_incompatible_shapesV   s
    r6   c                  C   sX   t jd} | jdd}tt" t||dd\}}W d    n1 sJ0    Y  d S )Nr   r	   r   intr/   r3   )r   r*   r4   r5   r   r   r   test_wrong_dtype^   s    r8   )Znumpyr   r   Zskimage._shared.utilsr   Zskimage.registrationr   Z	test_tvl1r   ZmarkZparametrizeZfloat16r0   r.   r   r&   r+   r-   r1   r6   r8   r   r   r   r   <module>   s    		