o
    h3                     @   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 s;J | |kr`tt t||||| d W d    d S 1 sYw   Y  d S d S )Nr      r
   sizeF)copy)r   r   r         ?)nprandomdefault_rngnormalr   astyper   r   r   absmeanpytestraises
ValueError)	r   r   r   rngimage0gt_flowimage1float_dtypeflow r   ^/var/www/html/scripts/venv/lib/python3.10/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 s)J d S )	N{   )2   7   <   r      )npics   )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   8   t jd} | jdd}t||}t |dksJ d S )Nr   r	   r   r   r   r   r   r   allr   imgr   r   r   r    test_no_motion_2d/      
r0   c                  C   r+   )Nr   )@   r2   r2   r   r,   r.   r   r   r    test_no_motion_3d8   r1   r3   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 s:J d S )Nr   r	   r   float64r   float32gMbP?)	r   r   r   r   r   r   r   r   r   )r   r   r   r   flow_f64flow_f32r   r   r    test_optical_flow_dtypeA   s   r9   c                  C   sb   t jd} | jdd}| jdd}tt t||\}}W d    d S 1 s*w   Y  d S )Nr   r	   r   )   r
   r   r   r   r   r   r   r   r   )r   I0I1uvr   r   r    test_incompatible_shapesV   s   "r@   c                  C   sZ   t jd} | jdd}tt t||dd\}}W d    d S 1 s&w   Y  d S )Nr   r	   r   intr5   r;   )r   r/   r>   r?   r   r   r    test_wrong_dtype^   s
   "rB   )numpyr   r   skimage._shared.utilsr   skimage.registrationr   	test_tvl1r   markparametrizefloat16r6   r4   r!   r*   r0   r3   r9   r@   rB   r   r   r   r    <module>   s"    		