
    1-Ph                        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                                     Zej	        
                    ddd	g          ej	        
                    d
dd	g          d                         Zd Zd Zd Zd Zd ZdS )    N)_supported_float_type)optical_flow_ilk   )_sin_flow_gendtypegaussianTF	prefilterc                 ,   t           j                            d          }|                    d          }t	          |          \  }}|                    | d          }t          |           }t          |||||          }|j        t          |           k    sJ t          ||z
            
                                dk     sJ | |k    rHt          j        t                    5  t          |||||            d d d            d S # 1 swxY w 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flows	            c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/registration/tests/test_ilk.pytest_2d_motionr"   	   sn   
 )


"
"CZZZZ((F#F++OGV]]5u]--F'..KYk  D :.u555555tg~##%%++++]:&& 	 	Ye   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   %DDDc                    t           j                            d          }|                    d          }t	          |d          \  }}t          ||d| |          }t          ||z
                                            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    s          r!   test_3d_motionr,   "   s     )


$
$CZZ\Z**F#F!444OGVq8y  D
 tg~##%%++++++    c                      t           j                            d          } |                     d          }t	          ||          }t          j        |dk              sJ d S )Nr   r   r   r   r   r   r   r   allr   imgr    s      r!   test_no_motion_2dr3   2   sY    
)


"
"C
****
%
%CC%%D6$!)r-   c                      t           j                            d          } |                     d          }t	          ||          }t          j        |dk              sJ d S )Nr   )@   r5   r5   r   r/   r1   s      r!   test_no_motion_3dr6   ;   sY    
)


"
"C
**,*
'
'CC%%D6$!)r-   c                  d   t           j                            d          } |                     d          }t	          |          \  }}t          ||d          }|j        dk    sJ t          ||d          }|j        dk    sJ t          ||z
                                            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_f32s         r!   test_optical_flow_dtyper=   D   s    
)


"
"CZZZZ((F#F++OGVi@@@H>Y&&&&  i@@@H>Y&&&&
 x("##((**T111111r-   c                  &   t           j                            d          } |                     d          }|                     d          }t	          j        t                    5  t          ||          \  }}d d d            d S # 1 swxY w Y   d S )Nr   r   r   )   r   r   r   r   r   r   r   r   r   )r   I0I1uvs        r!   test_incompatible_shapesrE   Y   s    
)


"
"C		$	$B		$	$B	z	"	" ( (B''1( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   %BB
B
c                      t           j                            d          } |                     d          }t	          j        t                    5  t          ||d          \  }}d d d            d S # 1 swxY w Y   d S )Nr   r   r   intr9   r@   )r   r2   rC   rD   s       r!   test_wrong_dtyperH   a   s    
)


"
"C
****
%
%C	z	"	" 7 7S66617 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   A22A69A6)numpyr   r   skimage._shared.utilsr   skimage.registrationr   	test_tvl1r   markparametrizefloat16r:   r8   r"   r,   r3   r6   r=   rE   rH    r-   r!   <module>rQ      sv        7 7 7 7 7 7 1 1 1 1 1 1 $ $ $ $ $ $ 2:rz2:"FGGdE]33tUm44  54 43 HG, dE]33tUm44, , 54 43,    2 2 2*( ( (7 7 7 7 7r-   