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