§
    ›ã h  ã                   ó\   — d dl Z d dl mZ d dlmZmZmZ d dlZd dlmZ  G d„ d¦  «        Z	dS )é    N)Úfft)Úassert_almost_equalÚassert_array_almost_equalÚassert_equal)Úndimagec                   ó®  — e Zd Zej                             dg d¢¦  «        ej                             dej        dfej        dfg¦  «        d„ ¦   «         ¦   «         Z	ej                             dddg¦  «        ej                             dej
        dfej        dfg¦  «        d	„ ¦   «         ¦   «         Zej                             dg d¢¦  «        ej                             dej        dfej        dfg¦  «        d
„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dej
        dfej        dfg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dej        dfej        dfg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dej
        dfej        dfg¦  «        d„ ¦   «         ¦   «         Zej                             dg d¢¦  «        ej                             dej        dfej        dfg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dej
        dfej        dfg¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zej                             dg d¢¦  «        ej                             dej        ej        ej
        ej        g¦  «        ej                             dej        ej        ej        g¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )ÚTestNdimageFourierÚshape)©é    é   ©é   é   )é   é
   z
dtype, decé   é   c                 ó   — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t	          j        |ddg|d         d¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t	          j	        |¦  «        d|¬¦  «         d S ©Nç      ð?©r   r   r   r   ç      @ç      @©Údecimal)
ÚnumpyÚzerosr   Úrfftr   Úfourier_gaussianÚifftÚirfftr   Úsum©Úselfr
   ÚdtypeÚdecÚas        ú\/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/ndimage/tests/test_fourier.pyÚtest_fourier_gaussian_real01z/TestNdimageFourier.test_fourier_gaussian_real01   s»   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ$ Q¨¨c¨
°E¸!´H¸aÑ@Ô@ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒIa˜˜qœ 1Ñ%Ô%ˆÝGœK¨™NœN¨A°sÐ;Ñ;Ô;Ð;Ð;Ð;ó    r   r   c                 óž  — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          j        |ddgdd¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t          j        |j        ¦  «        d|¬¦  «         d S ©	Nr   r   r   r   r   r   éÿÿÿÿr   )	r   r   r   r   r    r!   r   r#   Úrealr$   s        r)   Útest_fourier_gaussian_complex01z2TestNdimageFourier.test_fourier_gaussian_complex01   s»   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒGAu˜Q”x Ñ#Ô#ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ$ Q¨¨c¨
°B¸Ñ:Ô:ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝGœK¨¬Ñ/Ô/°¸cÐBÑBÔBÐBÐBÐBr+   c                 ó   — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t	          j        |ddg|d         d¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t	          j	        |¦  «        d|¬¦  «         d S r   )
r   r   r   r   r   Úfourier_uniformr!   r"   r   r#   r$   s        r)   Útest_fourier_uniform_real01z.TestNdimageFourier.test_fourier_uniform_real01'   s»   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ# A¨¨S z°5¸´8¸QÑ?Ô?ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒIa˜˜qœ 1Ñ%Ô%ˆÝGœK¨™NœN¨C¸Ð=Ñ=Ô=Ð=Ð=Ð=r+   c                 óž  — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          j        |ddgdd¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t          j        |j        ¦  «        d|¬¦  «         d S r-   )	r   r   r   r   r2   r!   r   r#   r/   r$   s        r)   Útest_fourier_uniform_complex01z1TestNdimageFourier.test_fourier_uniform_complex014   s»   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒGAu˜Q”x Ñ#Ô#ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ# A¨¨S z°2°qÑ9Ô9ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝGœK¨¬Ñ/Ô/°¸cÐBÑBÔBÐBÐBÐBr+   é   é   c                 ó"  — t          j        |d         |d         z  |¬¦  «        }||_        t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          j        |ddg|d         d¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          |dd …dd …f         |d d…d d…f         |¬¦  «         t          |j
        t          j        |¦  «        |¬¦  «         d S ©Nr   r   ©r&   r.   r   )r   Úaranger
   r   r   r   Úfourier_shiftr!   r"   r   Úimagr   ©r%   r
   r&   r'   Úexpectedr(   s         r)   Útest_fourier_shift_real01z,TestNdimageFourier.test_fourier_shift_real01A   s  € õ ”<  a¤¨5°¬8Ñ 3¸5ÐAÑAÔAˆØˆŒÝŒHX˜u Qœx¨Ñ+Ô+ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ! ! a¨ V¨U°1¬X°qÑ9Ô9ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒIa˜˜qœ 1Ñ%Ô%ˆÝ! ! A B B¨¨¨ F¤)¨X°c°r°c¸3¸B¸3°hÔ-?Ø*-ð	/ñ 	/ô 	/ð 	/å! !¤&­%¬+°eÑ*<Ô*<Ø*-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r+   c                 ó   — t          j        |d         |d         z  |¬¦  «        }||_        t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t	          j        |ddgdd¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          |j        dd …dd …f         |d d…d d…f         |¬¦  «         t          |j	        t          j
        |¦  «        |¬¦  «         d S r9   )r   r;   r
   r   r   r<   r!   r   r/   r=   r   r>   s         r)   Útest_fourier_shift_complex01z/TestNdimageFourier.test_fourier_shift_complex01Q   s  € õ ”<  a¤¨5°¬8Ñ 3¸5ÐAÑAÔAˆØˆŒÝŒGH˜e Aœh¨Ñ*Ô*ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ! ! a¨ V¨R°Ñ3Ô3ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝ! !¤&¨¨¨¨Q¨R¨R¨¤.°(¸3¸B¸3ÀÀÀ¸8Ô2DØ*-ð	/ñ 	/ô 	/ð 	/å! !¤&­%¬+°eÑ*<Ô*<Ø*-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r+   é   c                 ó   — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t	          j        |ddg|d         d¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t	          j	        |¦  «        d|¬¦  «         d S r   )
r   r   r   r   r   Úfourier_ellipsoidr!   r"   r   r#   r$   s        r)   Útest_fourier_ellipsoid_real01z0TestNdimageFourier.test_fourier_ellipsoid_real01a   sÀ   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ% a¨#¨s¨Ø&+¨A¤h°ñ3ô 3ˆåŒHQ˜˜aœ !Ñ$Ô$ˆÝŒIa˜˜qœ 1Ñ%Ô%ˆÝGœK¨™NœN¨C¸Ð=Ñ=Ô=Ð=Ð=Ð=r+   c                 óž  — t          j        ||¦  «        }d|d<   t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          j        |ddgdd¦  «        }t          j        ||d         d¦  «        }t          j        ||d         d¦  «        }t          t          j        |j        ¦  «        d|¬¦  «         d S r-   )	r   r   r   r   rE   r!   r   r#   r/   r$   s        r)   Ú test_fourier_ellipsoid_complex01z3TestNdimageFourier.test_fourier_ellipsoid_complex01o   s»   € õ ŒK˜˜uÑ%Ô%ˆØˆˆ$‰ÝŒGAu˜Q”x Ñ#Ô#ˆÝŒGAu˜Q”x Ñ#Ô#ˆÝÔ% a¨#¨s¨°R¸Ñ;Ô;ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝŒHQ˜˜aœ !Ñ$Ô$ˆÝGœK¨¬Ñ/Ô/°¸cÐBÑBÔBÐBÐBÐBr+   c                 óÔ   — t          j        dt           j        ¬¦  «        }t          j        t
          ¦  «        5  t          j        |d¦  «        }d d d ¦  «         d S # 1 swxY w Y   d S )N)r6   r   é   r   r:   é   )r   ÚonesÚ
complex128ÚpytestÚraisesÚNotImplementedErrorr   rE   )r%   Úxr(   s      r)   Ú)test_fourier_ellipsoid_unimplemented_ndimz<TestNdimageFourier.test_fourier_ellipsoid_unimplemented_ndim|   s    € åŒJ}­EÔ,<Ð=Ñ=Ô=ˆÝŒ]Õ.Ñ/Ô/ð 	0ð 	0ÝÔ)¨!¨QÑ/Ô/ˆAð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ºAÁA!Á$A!c                 ó  — dD ]†}t          t          j        t          j        gddg¦  «        D ][\  }}t          j        ||¬¦  «        }t          j        |ddd¦  «        }t          j        |ddd¦  «        }t          |||¬¦  «         Œ\Œ‡d S )N))r   )r   rC   r   r:   r.   r   r   )	Úzipr   Ú	complex64rM   rL   r   rE   r2   r   )r%   r
   Útype_r'   rQ   r(   Úbs          r)   Ú!test_fourier_ellipsoid_1d_complexz4TestNdimageFourier.test_fourier_ellipsoid_1d_complex‚   s¨   € à%ð 	=ð 	=ˆEÝ!¥5¤?µEÔ4DÐ"EØ#$ b 'ñ+ô +ð =ð =‘
så”J˜u¨EÐ2Ñ2Ô2ÝÔ-¨a°°B¸Ñ:Ô:ÝÔ+¨A¨q°"°aÑ8Ô8Ý)¨!¨Q¸Ð<Ñ<Ô<Ð<Ð<ð=ð	=ð 	=r+   ))r   )r   r   )r   r   r&   Ú	test_funcc                 óh   — t          j        ||¦  «        } ||d¦  «        }t          ||¦  «         d S )NrK   )r   rL   r   )r%   r
   r&   rY   r(   rW   s         r)   Útest_fourier_zero_length_dimsz0TestNdimageFourier.test_fourier_zero_length_dimsŒ   s:   € õ ŒJu˜eÑ$Ô$ˆØˆIa˜‰OŒOˆÝQ˜ÑÔÐÐÐr+   N)Ú__name__Ú
__module__Ú__qualname__rN   ÚmarkÚparametrizer   Úfloat32Úfloat64r*   rU   rM   r0   r3   r5   r@   rB   rF   rH   rR   rX   r   rE   r    r2   r[   © r+   r)   r	   r	      sd  € € € € € à„[×Ò˜WÐ&CÐ&CÐ&CÑDÔDØ„[×Ò˜\Ø$œ}¨aÐ0°5´=À"Ð2EÐFñHô Hð<ð <ñHô Hñ EÔDð<ð „[×Ò˜W x°Ð&:Ñ;Ô;Ø„[×Ò˜\Ø$œ°Ð2°UÔ5EÀrÐ4JÐKñMô MðCð CñMô Mñ <Ô;ðCð „[×Ò˜WÐ&CÐ&CÐ&CÑDÔDØ„[×Ò˜\Ø$œ}¨aÐ0°5´=À"Ð2EÐFñHô Hð>ð >ñHô Hñ EÔDð>ð „[×Ò˜W x°Ð&:Ñ;Ô;Ø„[×Ò˜\Ø$œ°Ð2°UÔ5EÀrÐ4JÐKñMô MðCð CñMô Mñ <Ô;ðCð „[×Ò˜W x°Ð&:Ñ;Ô;Ø„[×Ò˜\Ø$œ}¨aÐ0°5´=À"Ð2EÐFñHô Hð/ð /ñHô Hñ <Ô;ð/ð „[×Ò˜W x°Ð&:Ñ;Ô;Ø„[×Ò˜\Ø$œ°Ð2°UÔ5EÀrÐ4JÐKñMô Mð/ð /ñMô Mñ <Ô;ð/ð „[×Ò˜WÐ&CÐ&CÐ&CÑDÔDØ„[×Ò˜\Ø$œ}¨aÐ0°5´=À"Ð2EÐFñHô Hð	>ð 	>ñHô Hñ EÔDð	>ð „[×Ò˜W x°Ð&:Ñ;Ô;Ø„[×Ò˜\Ø$œ°Ð2°UÔ5EÀrÐ4JÐKñMô MðCð CñMô Mñ <Ô;ðCð0ð 0ð 0ð=ð =ð =ð „[×Ò˜WÐ&?Ð&?Ð&?Ñ@Ô@Ø„[×Ò˜WØ#œm¨U¬]Ø#œo¨uÔ/?ðAñBô Bð „[×Ò˜[Ø%Ô7Ø%Ô6Ø%Ô5ð7ñ8ô 8ðð ñ	8ô 8ñBô Bñ AÔ@ðð ð r+   r	   )
r   r   Únumpy.testingr   r   r   rN   Úscipyr   r	   rc   r+   r)   ú<module>rf      s«   ðØ €€€Ø Ð Ð Ð Ð Ð ð)ð )ð )ð )ð )ð )ð )ð )ð )ð )ð €€€à Ð Ð Ð Ð Ð ðLð Lð Lð Lð Lñ Lô Lð Lð Lð Lr+   