Ë
    ÏÍ:j ô  ã                   óÈ  — d dl Z d dlZ d dlZd dlZd dlmZmZmZm	Z	m
Z
mZ d dlZd dlmZ d dlmZ ddlmZ ej&                  j(                  Z edd¬«      ej&                  j+                  d	d
¬«       G d„ d«      «       «       Z edd¬«      ej&                  j+                  d	d
¬«       G d„ d«      «       «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z eej0                  «      d„ «       Z  eej0                  «      d„ «       Z! eej0                  «      d„ «       Z" eej0                  «      d„ «       Z# edd¬«       eej0                  «      d„ «       «       Z$ eej0                  «      d„ «       Z% eej0                  «      d„ «       Z& eddgd ¬!«       eej0                  «      d"„ «       «       Z' eddgd ¬!«       eej0                  «      d#„ «       «       Z( edd$¬«       eej0                  «      d%„ «       «       Z) eej0                  «      d&„ «       Z* eej0                  ejV                  «      d'„ «       Z, eej0                  «      d(„ «       Z- eej0                  ejV                  «       G d)„ d*«      «       Z. eej^                  «      d+„ «       Z0 eej^                  «      d,„ «       Z1 eej^                  «      d-„ «       Z2 eejf                  «      d.„ «       Z4 eejf                  «      d/„ «       Z5 eejf                  «      d0„ «       Z6 eejf                  «      d1„ «       Z7 eejf                  «      d2„ «       Z8 eejf                  «      d3„ «       Z9 eejf                  «      d4„ «       Z: eejf                  «      d5„ «       Z; eejf                  «      d6„ «       Z< eejf                  «      d7„ «       Z= eejf                  «      d8„ «       Z> eejf                  «      d9„ «       Z? eejf                  ej€                  «      d:„ «       ZA eej„                  «      d;„ «       ZC eej„                  «      d<„ «       ZD eej„                  «      d=„ «       ZE eej„                  «      d>„ «       ZF eejŽ                  «      d?„ «       ZH eejŽ                  «      d@„ «       ZI eejŽ                  «      dA„ «       ZJ eejŽ                  «      dB„ «       ZK eej˜                  «      dC„ «       ZM eej˜                  «      dD„ «       ZN eej˜                  «      dE„ «       ZO eej˜                  «      dF„ «       ZP eej˜                  «      dG„ «       ZQ eej¤                  «      dH„ «       ZS eej¤                  «      dI„ «       ZT eej¤                  «      dJ„ «       ZU eej¤                  «      dK„ «       ZV eej¤                  «      dL„ «       ZW eej°                  «      dM„ «       ZY eej°                  «      dN„ «       ZZ eej°                  «      dO„ «       Z[ eej°                  «      dP„ «       Z\ eej°                  «      dQ„ «       Z] eej°                  «      dR„ «       Z^ eej¾                  «      dS„ «       Z` eej¾                  «      dT„ «       Za eej¾                  «      dU„ «       Zb eej¾                  «      dV„ «       Zc eej¾                  «      dW„ «       Zd eej¾                  «      dX„ «       Ze eej¾                  «      dY„ «       Zf eejÎ                  «      dZ„ «       Zh eejÎ                  «      d[„ «       Zi eejÎ                  «      d\„ «       Zj eejÎ                  «      d]„ «       Zk eejÎ                  «      d^„ «       Zl eejÎ                  «      d_„ «       Zm eejÎ                  «      d`„ «       Zn eejÞ                  «      da„ «       Zp eejÞ                  «      db„ «       Zq eejÞ                  «      dc„ «       Zr eejÞ                  «      dd„ «       Zs eejÞ                  «      de„ «       Zt eejÞ                  «      df„ «       Zu eejÞ                  «      dg„ «       Zv eejî                  ejŽ                  ej˜                  ejÎ                  ejÞ                  «      dh„ «       Zx eejî                  ejŽ                  ej˜                  ejÎ                  ejÞ                  «      di„ «       Zy eejî                  ejŽ                  ej˜                  ejÎ                  ejÞ                  «      dj„ «       Zz eejî                  ejŽ                  ej˜                  ejÎ                  ejÞ                  «      dk„ «       Z{ eejø                  «      dl„ «       Z} eejø                  «      dm„ «       Z~ eejø                  «      dn„ «       Z eejø                  «      do„ «       Z€ eejø                  «      dp„ «       Z� eejø                  «      dq„ «       Z‚ eejø                  «      dr„ «       Zƒ eejø                  «      ds„ «       Z„ eejø                  «      dt„ «       Z… ee�j                  «      du„ «       Z‡ ee�j                  «      dv„ «       Zˆ eddw¬«       ee�j                  «      dx„ «       «       Z‰ eej„                  ej°                  ej¾                  ej¤                  ejŽ                  ej˜                  «      dy„ «       ZŠ eddz¬«       ee�j                  «       G d{„ d|«      «       «       ZŒ ed¬}«      ej&                  �j                  d~e�j                  e�j                  g«       eej^                  «      d„ «       «       «       Z�y)€é    N)Úis_torchÚxp_assert_equalÚxp_assert_closeÚassert_array_almost_equalÚassert_almost_equalÚmake_xp_test_case)Úraisesé   )ÚtypesTz test internal numpy-only helpers©Únp_onlyÚreasonFÚprivate©r   c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTest_measurements_statsz²ndimage._measurements._stats() is a utility used by other functions.

        Since internal ndimage/_measurements.py code is NumPy-only,
        so is this this test class.
    c           	      óŽ  — g d¢}g d¢}ddg}dD ]´  }t        j                  |«      j                  |«      }t        j                  |«      j                  |«      }t        j                  j                  |||¬«      \  }}i }t        |t        j                  ddgfi |¤Ž«       t        |t        j                  dd	g«      «       Œ¶ y )
N©r   r
   é   é   ©r   r   r
   r
   r   r
   ©)é   )r   r   ©ÚlabelsÚindexr   ç      ð?ç       @©ÚnpÚarrayÚreshapeÚndimageÚ_measurementsÚ_statsr   Úasarray©	ÚselfÚxpÚxr   r   ÚshpÚcountsÚsumsÚ	dtype_args	            úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/ndimage/tests/test_measurements.pyÚtest_azTest_measurements_stats.test_a#   sµ   € ÚˆÚˆØ�A�ˆØ!ò 	:ˆCÜ—‘˜“×#Ñ# CÓ(ˆAÜ—X‘X˜fÓ%×-Ñ-¨cÓ2ˆFÜ"×0Ñ0×7Ñ7Ø˜&¨ð 8ó /‰LˆF�Dð ˆIÜ˜F¤B§J¡J°°1¨vÑ$C¸Ñ$CÔDÜ˜D¤"§*¡*¨c°3¨ZÓ"8Õ9ñ	:ó    c           	      óŽ  — g d¢}g d¢}ddg}dD ]´  }t        j                  |«      j                  |«      }t        j                  |«      j                  |«      }t        j                  j                  |||¬«      \  }}i }t        |t        j                  ddgfi |¤Ž«       t        |t        j                  dd	g«      «       Œ¶ y )
Nr   ©r   r   é	   r4   r   r4   r   r   r   r   r   r   r'   s	            r/   Útest_bzTest_measurements_stats.test_b1   s·   € ò ˆÚˆØ�A�ˆØ!ò 	:ˆCÜ—‘˜“×#Ñ# CÓ(ˆAÜ—X‘X˜fÓ%×-Ñ-¨cÓ2ˆFÜ"×0Ñ0×7Ñ7Ø˜&¨ð 8ó /‰LˆF�Dð ˆIÜ˜F¤B§J¡J°°1¨vÑ$C¸Ñ$CÔDÜ˜D¤"§*¡*¨c°3¨ZÓ"8Õ9ñ	:r1   c           	      óÔ  — g d¢}g d¢}ddg}dD ]×  }t        j                  |«      j                  |«      }t        j                  |«      j                  |«      }t        j                  j                  |||d¬«      \  }}}i }	t        |t        j                  ddgfi |	¤Ž«       t        |t        j                  d	d
g«      «       t        |t        j                  dd
g«      «       ŒÙ y )Nr   r   r   r
   r   T©r   r   Úcenteredr   r   r   ç      à?r   ©
r(   r)   r*   r   r   r+   r,   r-   Úcentersr.   s
             r/   Útest_a_centeredz'Test_measurements_stats.test_a_centeredA   óÒ   € ÚˆÚˆØ�A�ˆØ!ò 		=ˆCÜ—‘˜“×#Ñ# CÓ(ˆAÜ—X‘X˜fÓ%×-Ñ-¨cÓ2ˆFÜ$+×$9Ñ$9×$@Ñ$@Ø˜&¨¸ð %Aó %>Ñ!ˆF�D˜'ð ˆIÜ˜F¤B§J¡J°°1¨vÑ$C¸Ñ$CÔDÜ˜D¤"§*¡*¨c°3¨ZÓ"8Ô9Ü˜G¤R§Z¡Z°°c°
Ó%;Õ<ñ		=r1   c           	      óÔ  — g d¢}g d¢}ddg}dD ]×  }t        j                  |«      j                  |«      }t        j                  |«      j                  |«      }t        j                  j                  |||d¬«      \  }}}i }	t        |t        j                  ddgfi |	¤Ž«       t        |t        j                  d	d
g«      «       t        |t        j                  dd
g«      «       ŒÙ y )Nr   r3   r   r4   r   Tr7   r   r   r   r9   r   r:   s
             r/   Útest_b_centeredz'Test_measurements_stats.test_b_centeredP   r=   r1   c           	      óÔ  — g d¢}g d¢}ddg}dD ]×  }t        j                  |«      j                  |«      }t        j                  |«      j                  |«      }t        j                  j                  |||d¬«      \  }}}i }	t        |t        j                  ddgfi |	¤Ž«       t        |t        j                  d	d
g«      «       t        |t        j                  dd
g«      «       ŒÙ y )Nr   )ç        rA   ç      "@rB   rA   rB   r   Tr7   r   r   r   r9   r   r:   s
             r/   Útest_nonint_labelsz*Test_measurements_stats.test_nonint_labels_   sÒ   € ÚˆÚ%ˆØ�c�
ˆØ!ò 		=ˆCÜ—‘˜“×#Ñ# CÓ(ˆAÜ—X‘X˜fÓ%×-Ñ-¨cÓ2ˆFÜ$+×$9Ñ$9×$@Ñ$@Ø˜&¨¸ð %Aó %>Ñ!ˆF�D˜'ð ˆIÜ˜F¤B§J¡J°°1¨vÑ$C¸Ñ$CÔDÜ˜D¤"§*¡*¨c°3¨ZÓ"8Ô9Ü˜G¤R§Z¡Z°°c°
Ó%;Õ<ñ		=r1   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r0   r5   r<   r?   rC   © r1   r/   r   r      s    „ ñò
:ò:ò =ò=ó=r1   r   c                   ó   — e Zd ZdZd„ Zy)ÚTest_measurements_selectzEndimage._measurements._select() is a utility used by other functions.c                 ó–  — g d¢}g d¢ddgfg d¢ddgfg d¢dd	gfg}|D �]¨  \  }}t         j                  j                  |||¬
«      }t        |«      dk(  sJ ‚t         j                  j                  |||d¬«      }t        |«      dk(  sJ ‚t	        |d   ddg«       t         j                  j                  |||d¬«      }t        |«      dk(  sJ ‚t	        |d   ddg«       t         j                  j                  |||dd¬«      }t        |«      dk(  sJ ‚t	        |d   ddg«       t	        |d   ddg«       |d   j
                  j                  dk(  sJ ‚t         j                  j                  |||dd¬«      }t        |«      dk(  sJ ‚t	        |d   ddg«       t	        |d   ddg«       |d   j
                  j                  dk(  r�Œ©J ‚ y )N)r   r
   r   r   r   r   r
   r3   r4   )rA   rA   ç      @rL   rA   rL   r   T)r   r   Úfind_maxr   )r   r   Úfind_minr   )r   r   rN   Úfind_min_positionsé   Úi)r   r   rM   Úfind_max_positions)r#   r$   Ú_selectÚlenr   ÚdtypeÚkind)r(   r)   r*   Úcasesr   r   Úresults          r/   Ú
test_basicz#Test_measurements_select.test_basict   s  € Úˆâ˜A˜q˜6Ð"Ú˜A˜q˜6Ð"Ú! C¨ :Ð.ð
ˆð
 #ó 	/‰MˆF�EÜ×*Ñ*×2Ñ2Ø˜&¨ð 3ó /ˆFä�v“; !Ò#Ð#Ð#Ü×*Ñ*×2Ñ2Ø˜&¨¸ð 3ó >ˆFä�v“; !Ò#Ð#Ð#Ü˜F 1™I¨¨1 vÔ.Ü×*Ñ*×2Ñ2Ø˜&¨¸ð 3ó >ˆFä�v“; !Ò#Ð#Ð#Ü˜F 1™I¨¨1 vÔ.Ü×*Ñ*×2Ñ2Ø˜&¨¸Ø#'ð 3ó )ˆFô �v“; !Ò#Ð#Ð#Ü˜F 1™I¨¨1 vÔ.Ü˜F 1™I¨¨1 vÔ.Ø˜!‘9—?‘?×'Ñ'¨3Ò.Ð.Ð.Ü×*Ñ*×2Ñ2Ø˜&¨¸Ø#'ð 3ó )ˆFô �v“; !Ò#Ð#Ð#Ü˜F 1™I¨¨1 vÔ.Ü˜F 1™I¨¨1 vÔ.Ø˜!‘9—?‘?×'Ñ'¨3Ô.Ð.Ð.ñ3	/r1   N)rD   rE   rF   rG   rY   rH   r1   r/   rJ   rJ   o   s   „ ñ Pó /r1   rJ   c                 ór   — | j                  d«      }t        j                  |«      \  }}|dk(  sJ ‚|dk(  sJ ‚y )NrH   r
   )Úonesr#   Úlabel©r)   ÚdataÚoutÚns       r/   Útest_label01ra   —   s7   € à�7‰7�2‹;€DÜ�]‰]˜4Ó �F€CˆØ�!Š8€Oˆ8Ø�Š6€M‰6r1   c                 ór   — | j                  d«      }t        j                  |«      \  }}|dk(  sJ ‚|dk(  sJ ‚y )NrH   r   )Úzerosr#   r\   r]   s       r/   Útest_label02rd   Ÿ   s7   € à�8‰8�B‹<€DÜ�]‰]˜4Ó �F€CˆØ�!Š8€Oˆ8Ø�Š6€M‰6r1   c                 óž   — | j                  dg«      }t        j                  |«      \  }}t        || j	                  dg«      «       |dk(  sJ ‚y )Nr
   ©r[   r#   r\   r   r&   r]   s       r/   Útest_label03rg   §   sB   € à�7‰7�A�3‹<€DÜ�]‰]˜4Ó �F€CˆÜ˜c 2§:¡:¨q¨c£?Ô3Ø�Š6€M‰6r1   c                 óž   — | j                  dg«      }t        j                  |«      \  }}t        || j	                  dg«      «       |dk(  sJ ‚y )Nr
   r   )rc   r#   r\   r   r&   r]   s       r/   Útest_label04ri   ¯   sB   € à�8‰8�Q�C‹=€DÜ�]‰]˜4Ó �F€CˆÜ˜c 2§:¡:¨q¨c£?Ô3Ø�Š6€M‰6r1   c                 ó    — | j                  dg«      }t        j                  |«      \  }}t        || j	                  g d¢«      «       |dk(  sJ ‚y )Né   )r
   r
   r
   r
   r
   r
   rf   r]   s       r/   Útest_label05rl   ·   sA   € à�7‰7�A�3‹<€DÜ�]‰]˜4Ó �F€CˆÜ˜c 2§:¡:ªoÓ#>Ô?Ø�Š6€M‰6r1   c                 ó¢   — | j                  g d¢«      }t        j                  |«      \  }}t        || j                  g d¢«      «       |dk(  sJ ‚y )N)r
   r   r
   r
   r   r
   ©r
   r   r   r   r   rP   rP   ©r&   r#   r\   r   r]   s       r/   Útest_label06rp   ¿   sB   € à�:‰:Ò(Ó)€DÜ�]‰]˜4Ó �F€CˆÜ˜c 2§:¡:Ò.@Ó#AÔBØ�Š6€M‰6r1   c                 óâ   — | j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |«      \  }}t        || j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      «       |dk(  sJ ‚y )N©r   r   r   r   r   r   r   ro   r]   s       r/   Útest_label07rs   Ç   st   € à�:‰:Ò)Ú)Ú)Ú)Ú)Ú)ð+ó ,€Dô �]‰]˜4Ó �F€CˆÜ˜c 2§:¡:Ú%7Ú%7Ú%7Ú%7Ú%7Ú%7ð%9ó$:ô ;ð �Š6€M‰6r1   c                 óâ   — | j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |«      \  }}t        || j                  g d¢g d¢g d¢g d¢g d¢g d	¢g«      «       |d
k(  sJ ‚y )N©r
   r   r   r   r   r   ©r   r   r
   r
   r   r   ©r   r   r
   r
   r
   r   ©r
   r
   r   r   r   r   ©r   r   r   r
   r
   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©rP   rP   r   r   r   r   ©r   r   r   r   r   r   r   ro   r]   s       r/   Útest_label08r~   Ú   sw   € à�:‰:Ò)Ú)Ú)Ú)Ú)Ú)ð+ó ,€Dô �]‰]˜4Ó �F€CˆÜ˜c 2§:¡:Ò/AÚ/AÚ/AÚ/AÚ/AÚ/Að/Có $Dô Eð �Š6€M‰6r1   c                 ó2  — | j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  dd«      }| j                  |«      }t        j                  ||«      \  }}t	        || j                  g d¢g d¢g d¢g d	¢g d	¢g d
¢g«      «       |dk(  sJ ‚y )Nru   rv   rw   rx   ry   r   rz   r{   )r   r   r   r   r   r   )r   r   r   rP   rP   r   rP   ©r&   r#   Úgenerate_binary_structurer\   r   ©r)   r^   Ústructr_   r`   s        r/   Útest_label09r„   ì   s™   € à�:‰:Ò)Ú)Ú)Ú)Ú)Ú)ð+ó ,€Dô ×.Ñ.¨q°!Ó4€FØ�Z‰Z˜Ó€FÜ�]‰]˜4 Ó(�F€CˆÜ˜c 2§:¡:Ò/AÚ/AÚ/AÚ/AÚ/AÚ/Að/Có $Dô Eð �Š6€M‰6r1   c           
      ó  — | j                  g d¢g d¢g d¢g d¢g«      }t        j                  dd«      }| j                  |«      }t        j                  ||«      \  }}t	        || j                  g d¢g d¢g d¢g d¢g«      «       |dk(  sJ ‚y )Nrr   )r   r
   r
   r   r
   r   )r   r
   r
   r
   r
   r   r   r
   r€   r‚   s        r/   Útest_label10r†      s�   € à�:‰:Ò)Ú)Ú)Ú)ð+ó ,€Dô ×.Ñ.¨q°!Ó4€FØ�Z‰Z˜Ó€FÜ�]‰]˜4 Ó(�F€CˆÜ˜c 2§:¡:Ò/AÚ/AÚ/AÚ/Að/Có $Dô Eð �Š6€M‰6r1   c           
      ó  — t         D ]ƒ  }t        | |«      }| j                  g d¢g d¢g d¢g d¢g d¢g d¢g|¬«      }t        j                  |«      \  }}g d¢g d¢g d¢g d	¢g d	¢g d
¢g}| j                  |«      }t        ||«       |dk(  rŒƒJ ‚ y )Nru   rv   rw   rx   ry   ©rU   rz   r{   r|   r}   r   ©r   Úgetattrr&   r#   r\   r   ©r)   ÚtyperU   r^   r_   r`   Úexpecteds          r/   Útest_label11rŽ     sž   € äò ˆÜ˜˜DÓ!ˆØ�z‰zÒ-Ú-Ú-Ú-Ú-Ú-ð/ð
 7<ð ó =ˆô —‘˜tÓ$‰ˆˆQÚ&Ú&Ú&Ú&Ú&Ú&ð(ˆð —:‘:˜hÓ'ˆÜ! # xÔ0Ø�A‹vˆˆvñ#r1   z inplace output is numpy-specificc           
      ó  — t         D ]‚  }t        | |«      }| j                  g d¢g d¢g d¢g d¢g d¢g d¢g|¬«      }t        j                  ||¬«      }g d¢g d¢g d	¢g d
¢g d
¢g d¢g}| j                  |«      }t        ||«       |dk(  rŒ‚J ‚ y )Nru   rv   rw   rx   ry   rˆ   ©Úoutputrz   r{   r|   r}   r   r‰   )r)   rŒ   rU   r^   r`   r�   s         r/   Útest_label11_inplacer’   &  sž   € ô ò ˆÜ˜˜DÓ!ˆØ�z‰zÒ-Ú-Ú-Ú-Ú-Ú-ð/ð
 7<ð ó =ˆô �M‰M˜$ tÔ,ˆÚ&Ú&Ú&Ú&Ú&Ú&ð(ˆð —:‘:˜hÓ'ˆÜ! $¨Ô1Ø�A‹vˆˆvñ#r1   c           	      ó  — t         D ]}  }t        | |«      }| j                  g d¢g d¢g d¢g d¢g d¢g|¬«      }t        j                  |«      \  }}g d¢g d¢g d¢g d¢g d¢g}| j                  |«      }t        ||«       |dk(  rŒ}J ‚ y )N)r   r   r   r   r
   r
   )r   r   r   r   r   r
   )r   r   r
   r   r
   r
   )r   r   r
   r
   r
   r
   ry   rˆ   r
   r‰   r‹   s          r/   Útest_label12r”   =  s˜   € äò ˆÜ˜˜DÓ!ˆØ�z‰zÒ-Ú-Ú-Ú-Ú-ð	/ð 7<ð	 ó =ˆô
 —‘˜tÓ$‰ˆˆQÚ&Ú&Ú&Ú&Ú&ð	(ˆð
 —:‘:˜hÓ'ˆÜ! # xÔ0Ø�A‹vˆˆvñr1   c                 ó  — t         D ]w  }t        | |«      }| j                  g d¢g d¢g d¢g d¢g|¬«      }t        j                  |«      \  }}g d¢g d¢g d¢g d¢g}| j                  |«      }t        ||«       |dk(  rŒwJ ‚ y )N)r
   r   r
   r
   r
   r   r
   r
   r
   r   r
   )r
   r
   r
   r   r
   r
   r
   r   r
   r
   r
   )r
   r   r   r   r   r   r   r   r   r   r
   )r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   rˆ   r
   r‰   r‹   s          r/   Útest_label13r–   Q  s’   € äò ˆÜ˜˜DÓ!ˆØ�z‰zÒ<Ú<Ú<Ú<ð>ð !&ð	 ó 'ˆô
 —‘˜tÓ$‰ˆˆQÚ5Ú5Ú5Ú5ð7ˆð —:‘:˜hÓ'ˆÜ! # xÔ0Ø�A‹vˆˆvñr1   Úcupyzoutput=dtype is numpy-specific)r   Ú
exceptionsr   c                 ó  — | j                  dg«      }t        D ]q  }t        | |«      }| j                  dg|¬«      }t	        j
                  ||¬«      }t        || j                  |j                  |j                  ¬«      «       |dk(  rŒqJ ‚ y )Nrk   rˆ   r�   r
   )	r[   r   rŠ   rc   r#   r\   r   ÚshaperU   ©r)   r^   ÚtrU   r‘   r`   s         r/   Útest_label_output_typedr�   d  s   € ð �7‰7�A�3‹<€DÜò ˆÜ˜˜A“ˆØ—‘˜1˜# U�Ó+ˆÜ�M‰M˜$ vÔ.ˆÜ! &Ø"$§'¡'¨&¯,©,¸f¿l¹l 'Ó"Kô	Mà�A‹vˆˆvñr1   c                 ó  — | j                  dg«      }t        D ]j  }t        | |«      }t        j                  ||¬«      \  }}t        || j                  |j                  |j                  ¬«      «       |j                  |k(  rŒjJ ‚ y )Nrk   r�   rˆ   )r[   r   rŠ   r#   r\   r   rš   rU   r›   s         r/   Útest_label_output_dtyperŸ   r  sv   € ð �7‰7�A�3‹<€DÜò !ˆÜ˜˜A“ˆÜ—M‘M $¨uÔ5‰	ˆ�Ü! &Ø"$§'¡'¨&¯,©,¸f¿l¹l 'Ó"Kô	Mà�|‰|˜qÓ Ð Ð ñ!r1   z!in-place output is numpy-specificc                 óÀ   — | j                  dg«      }t        D ]C  }t        | |«      }| j                  dg|¬«      }t	        t
        t        j                  ||¬«       ŒE y )Nrk   é
   rˆ   r�   )r[   r   rŠ   rc   Úassert_raisesÚ
ValueErrorr#   r\   )r)   r^   rœ   rU   r‘   s        r/   Útest_label_output_wrong_sizer¤     sU   € ð �7‰7�A�3‹<€DÜò FˆÜ˜˜A“ˆØ—‘˜2˜$ e�Ó,ˆÜ”j¤'§-¡-°¸fÖEñFr1   c           
      óÞ  — t        j                  t        j                  j	                  t        j                  j                  t        «      dd«      «      }t        j                  t        j                  j	                  t        j                  j                  t        «      dd«      «      }t        j                  t        j                  j	                  t        j                  j                  t        «      dd«      «      }|j                  d«      }|j                  d«      }|j                  d«      }| j                  |«      }| j                  |«      }| j                  |«      }d}t        |j                  d   «      D ]k  }||d d …d d …f   }t        |j                  d   «      D ]B  }||d d …d d …f   }t        t        j                  ||«      d   ||d d …d d …f   d¬	«       |d
z  }ŒD Œm y )Nr^   zlabel_inputs.txtzlabel_strels.txtzlabel_results.txt)éÿÿÿÿé   r§   )r¦   rP   rP   r   F©Úcheck_dtyper
   )r    ÚloadtxtÚosÚpathÚjoinÚdirnameÚ__file__r"   r&   Úrangerš   r   r#   r\   )	r)   r^   ÚstrelsÚresultsÚrrQ   ÚdÚjÚss	            r/   Útest_label_structuring_elementsr·   ‰  s~  € ä�:‰:”b—g‘g—l‘l¤2§7¡7§?¡?Üó$ØÐ-ó/ó 0€Dä�Z‰ZœŸ™Ÿ™Ü
�‰�‰œÓ! 6Ð+=ó?ó @€Fä�j‰jœŸ™Ÿ™Ü
�‰�‰œÓ! 6Ð+>ó@ó A€Gà�<‰<˜
Ó#€DØ�^‰^˜JÓ'€FØ�o‰o˜jÓ)€Gà�:‰:�dÓ€DØ�Z‰Z˜Ó€FØ�j‰j˜Ó!€GØ	€AÜ�4—:‘:˜a‘=Ó!ò ˆØ�’A’q�‰MˆÜ�v—|‘| A‘Ó'ò 	ˆAØ�qš!šQ�w‘ˆAÜœGŸM™M¨!¨QÓ/°Ñ2°G¸AºqÂ!¸GÑ4DÐRWÕXØ�‰F‰Añ	ñr1   c                 ó>  ‡ — dˆ fd„	}t        j                  t         j                  «      t        j                  d«      k7  r]d}t         j                  j	                  t        j
                  |«      «      j                  |«      }‰ j                  |«      } ||«       y y )Nc                 óä   •— | |kD  }t        |j                  «      }t        j                  ||«      }‰	j	                  |«      }t        j
                  ||«      \  }}t        j                  |«      }y )N)rT   rš   r#   r�   r&   r\   Úfind_objects)
ÚimgÚthreshÚsizeÚmaskÚrankrƒ   ÚlaÚcoÚ_r)   s
            €r/   ÚSEztest_ticket_742.<locals>.SE£  s`   ø€ Ø�V‰|ˆÜ�4—:‘:‹ˆÜ×2Ñ2°4¸Ó>ˆØ—‘˜FÓ#ˆÜ—‘˜tØ%ó'‰ˆˆBä× Ñ  Ó$‰r1   rQ   )rP   éØ  rÄ   )gffffffæ?r   )r    rU   ÚintpÚrandomÚrandÚprodr"   r&   )r)   rÃ   rš   Úas   `   r/   Útest_ticket_742rÊ   ¡  sj   ø€ õ%ô 
‡x�x”—‘ÓœBŸH™H S›MÒ)ØˆÜ�I‰I�N‰Nœ2Ÿ7™7 5›>Ó*×2Ñ2°5Ó9ˆØ�J‰J�q‹Mˆá
ˆ1�ð *r1   c                 óô   — t        j                  d«      }d|dd…dd…f<   d|dd…dd…f<   d|d<   d|d<   d|d<   | j                  |«      }t        j                  || j                  d	«      «      d   dk(  sJ ‚y)
z/Github issue #3025 - improper merging of labels)é<   i@  r
   Né  i  )é$   rÍ   )é#   i  )rÏ   i  )rP   rP   )r    rc   r&   r#   r\   r[   )r)   r´   s     r/   Útest_gh_issue_3025rÐ   ´  s€   € ô 	�‰�Ó€AØ€A‚aˆˆ#ˆ€g�JØ€A‚aˆ‰€g�JØ€A€g�JØ€A€g�JØ€A€g�JØ
�
‰
�1‹€AÜ�=‰=˜˜BŸG™G F›OÓ,¨QÑ/°1Ò4Ð4Ñ4r1   c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestFindObjectsc                 ó  — t         j                  j                  dd«      }|j                  |«      }t	        j
                  |dkD  «      \  }}|j                  |j                  |j                  fv sJ ‚t	        j                  |«       y )Nr¡   r9   )
r    rÆ   rÇ   r&   r#   r\   rU   Úint32Úint64rº   )r(   r)   Ú
test_arrayr\   Úno_featuress        r/   Útest_label_default_dtypez(TestFindObjects.test_label_default_dtypeÃ  si   € Ü—Y‘Y—^‘^ B¨Ó+ˆ
Ø—Z‘Z 
Ó+ˆ
Ü$Ÿ]™]¨:¸Ñ+;Ó<Ñˆˆ{Ø�{‰{˜rŸx™x¨¯©Ð2Ñ2Ð2Ð2ä×Ñ˜UÕ#r1   c                 óx   — |j                  g |j                  ¬«      }t        j                  |«      }|dgk(  sJ ‚y )Nrˆ   rH   )r[   rÕ   r#   rº   ©r(   r)   r^   r_   s       r/   Útest_find_objects01z#TestFindObjects.test_find_objects01Ì  s6   € Ø�w‰w�r §¡ˆwÓ*ˆÜ×"Ñ" 4Ó(ˆØ�r�dŠ{Ð‰{r1   c                 óv   — |j                  g |j                  ¬«      }t        j                  |«      }|g k(  sJ ‚y )Nrˆ   ©rc   rÕ   r#   rº   rÚ   s       r/   Útest_find_objects02z#TestFindObjects.test_find_objects02Ò  s4   € Ø�x‰x˜ "§(¡(ˆxÓ+ˆÜ×"Ñ" 4Ó(ˆØ�bŠyÐ‰yr1   c                 ó’   — |j                  dg|j                  ¬«      }t        j                  |«      }|t	        ddd «      fgk(  sJ ‚y )Nr
   rˆ   r   ©r[   rÕ   r#   rº   ÚslicerÚ   s       r/   Útest_find_objects03z#TestFindObjects.test_find_objects03Ø  óG   € Ø�w‰w˜�s "§(¡(ˆwÓ+ˆÜ×"Ñ" 4Ó(ˆØœ˜a  DÓ)Ð+Ð,Ò,Ð,Ñ,r1   c                 óx   — |j                  dg|j                  ¬«      }t        j                  |«      }|g k(  sJ ‚y )Nr
   rˆ   rÝ   rÚ   s       r/   Útest_find_objects04z#TestFindObjects.test_find_objects04Þ  s6   € Ø�x‰x˜˜ 2§8¡8ˆxÓ,ˆÜ×"Ñ" 4Ó(ˆØ�bŠyÐ‰yr1   c                 ó’   — |j                  dg|j                  ¬«      }t        j                  |«      }|t	        ddd «      fgk(  sJ ‚y )Nrk   rˆ   r   rà   rÚ   s       r/   Útest_find_objects05z#TestFindObjects.test_find_objects05ä  rã   r1   c                 ó°   — |j                  g d¢«      }t        j                  |«      }|t        ddd «      ft        ddd «      ft        ddd «      fgk(  sJ ‚y )Nrn   r   r
   r   r   rk   r   ©r&   r#   rº   rá   rÚ   s       r/   Útest_find_objects06z#TestFindObjects.test_find_objects06ê  sd   € Ø�z‰zÒ,Ó-ˆÜ×"Ñ" 4Ó(ˆØœ˜a  DÓ)Ð+Ü˜a  DÓ)Ð+Ü˜a  DÓ)Ð+ð-ò -ð 	-ñ -r1   c           	      ó‚   — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |«      }|g k(  sJ ‚y )Nrr   )r&   r#   rº   rÚ   s       r/   Útest_find_objects07z#TestFindObjects.test_find_objects07ò  sE   € Ø�z‰zÒ-Ú-Ú-Ú-Ú-Ú-ð/ó 0ˆô ×"Ñ" 4Ó(ˆØ�bŠyÐ‰yr1   c           
      óJ  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |«      }|t        ddd «      t        ddd «      ft        ddd «      t        d	d
d «      ft        dd
d «      t        dd	d «      ft        d
dd «      t        dd
d «      fgk(  sJ ‚y )Nru   rz   r{   r|   r}   r   r
   rP   r   rk   r   ré   rÚ   s       r/   Útest_find_objects08z#TestFindObjects.test_find_objects08ý  s»   € Ø�z‰zÒ-Ú-Ú-Ú-Ú-Ú-ð/ó 0ˆô ×"Ñ" 4Ó(ˆØœ˜a  DÓ)¬5°°A°tÓ+<Ð=Ü! ! Q¨Ó-¬u°Q¸¸4Ó/@ÐAÜ! ! Q¨Ó-¬u°Q¸¸4Ó/@ÐAÜ! ! Q¨Ó-¬u°Q¸¸4Ó/@ÐAðCò Cð 	Cñ Cr1   c           
      ó  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |«      }|t        ddd «      t        ddd «      ft        ddd «      t        d	d
d «      fd t        d
dd «      t        dd
d «      fgk(  sJ ‚y )Nru   rz   r{   rr   r}   r   r
   rP   r   rk   r   ré   rÚ   s       r/   Útest_find_objects09z#TestFindObjects.test_find_objects09  s¤   € Ø�z‰zÒ-Ú-Ú-Ú-Ú-Ú-ð/ó 0ˆô ×"Ñ" 4Ó(ˆØœ˜a  DÓ)¬5°°A°tÓ+<Ð=Ü! ! Q¨Ó-¬u°Q¸¸4Ó/@ÐAØÜ! ! Q¨Ó-¬u°Q¸¸4Ó/@ÐAðCò Cð 	Cñ Cr1   N)rD   rE   rF   rØ   rÛ   rÞ   râ   rå   rç   rê   rì   rî   rð   rH   r1   r/   rÒ   rÒ   Á  s6   „ ò$òòò-òò-ò-òòCóCr1   rÒ   c           	      ó2  — | j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |d¬«      }g d¢}t        |j	                  «       «      |k(  sJ ‚|D �ci c]  }|| j                  ||k(  «      “Œ }}t        j                  |d¬«      }|j	                  «       |j	                  «       k(  sJ ‚|j	                  «       D ]G  }t        ||   «      t        ||   «      k(  sJ ‚t        ||   ||   «      D ]  \  }}t        ||«       Œ ŒI y	c c}w )
z Test dictionary keys and entriesru   rz   r{   rr   r}   r   )Úignore_value)r
   r   r   N)	r&   r#   Úvalue_indicesÚlistÚkeysÚnonzerorT   Úzipr   )	r)   r^   ÚviÚ	true_keysÚkÚtrueviÚkeyÚvÚtrue_vs	            r/   Útest_value_indices01rÿ     s  € ð �:‰:Ò)Ú)Ú)Ú)Ú)Ú)ð+ó ,€Dô 
×	Ñ	˜t°!Ô	4€BÚ€IÜ�—‘“	‹?˜iÒ'Ð'Ð'à09Ö:¨1ˆa�—‘˜D A™IÓ&Ñ&Ð:€FÐ:ä	×	Ñ	˜t°!Ô	4€BØ�7‰7‹9˜Ÿ™›Ò%Ð%Ð%Ø�w‰w‹yò 'ˆÜ�2�c‘7‹|œs 6¨#¡;Ó/Ò/Ð/Ð/Ü˜R ™W f¨S¡kÓ2ò 	'‰IˆAˆvÜ˜A˜vÕ&ñ	'ñ'ùò	 ;s   Á!Dc                 ó¸   — | j                  d| j                  ¬«      }d}t        t        |¬«      5  t	        j
                  |«       ddd«       y# 1 sw Y   yxY w)zTest input checking)rk   r   rˆ   z(Parameter 'arr' must be an integer array)ÚmatchN)rc   Úfloat32r¢   r£   r#   ró   )r)   r^   Úmsgs      r/   Útest_value_indices02r  0  sL   € ð �8‰8�F "§*¡*ˆ8Ó-€DØ
4€CÜ	”z¨Ô	-ñ $Ü×Ñ˜dÔ#÷$÷ $ñ $ús   ±AÁAc                 ó`  — dD �]#  }t        j                  ddgz  ddgz  z   ddgz  z   t         j                  ¬«      }t        j                  ||«      }t        j                  |«      }| j                  |«      }t        j                  |«      }t        |j                  «       «      t        |«      k(  sJ ‚|D �cg c]  }t        |«      ‘Œ c}D ]U  }| j                  ||k(  «      }t        ||   «      t        |«      k(  sJ ‚t        ||   |«      D ]  \  }}	t        ||	«       Œ ŒW �Œ& yc c}w )z2Test different input array shapes, from 1-D to 4-D))rÎ   )é   r   )rP   rP   r   )rP   rP   r   r   é   r
   r   rP   rˆ   N)r    r&   rÔ   r"   Úuniquer#   ró   rô   rõ   Úintrö   rT   r÷   r   )
r)   rš   rÉ   ÚtrueKeysrø   r*   rú   ÚtrueNdxÚvikÚtrue_viks
             r/   Útest_value_indices03r  9  s  € ð ;ó /ˆÜ�J‰J˜˜A˜3™˜r 1 #™v™ b¨!¨¡fÑ,´R·X±XÔ>ˆÜ�J‰J�q˜%Ó ˆä—9‘9˜Q“<ˆØ�J‰J�q‹MˆÜ×"Ñ" 1Ó%ˆÜ�B—G‘G“I‹¤$ x£.Ò0Ð0Ð0Ø"*Ö+˜Q”#�a•&Ò+ò 	/ˆAØ—j‘j  a¡Ó(ˆGÜ�r˜!‘u“:¤ W£Ò-Ð-Ð-Ü!$ R¨¡U¨GÓ!4ò /‘��XÜ  XÕ.ñ/ò	/ñ/ùò ,s   Â:D+c                 ó�   — t         D ]=  }t        | |«      }| j                  g |¬«      }t        j                  |«      }|dk(  rŒ=J ‚ y )Nrˆ   r   )r   rŠ   r&   r#   Úsum©r)   rŒ   rU   Úinputr‘   s        r/   Ú
test_sum01r  K  sI   € äò ˆÜ˜˜DÓ!ˆØ—
‘
˜2 U�
Ó+ˆÜ—‘˜UÓ#ˆØ˜‹{Ðˆ{ñ	r1   c                 ó”   — t         D ]?  }t        | |«      }| j                  ddg|¬«      }t        j                  |«      }|dk(  rŒ?J ‚ y )Nr   r   rˆ   )r   rŠ   rc   r#   r  r  s        r/   Ú
test_sum02r  T  sM   € äò ˆÜ˜˜DÓ!ˆØ—‘˜!˜Q˜ u�Ó-ˆÜ—‘˜UÓ#ˆØ˜‹{Ðˆ{ñ	r1   c                 ó¼   — t         D ]S  }t        | |«      }| j                  g |¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒU y )Nrˆ   r   F©Úcheck_0d)r   rŠ   r[   r#   r  r   r&   r  s        r/   Ú
test_sum03r  ]  sS   € äò EˆÜ˜˜DÓ!ˆØ—‘˜ %�Ó(ˆÜ—‘˜UÓ#ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÀ   — t         D ]U  }t        | |«      }| j                  ddg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒW y )Nr
   r   rˆ   ç      @Fr  ©r   rŠ   r&   r#   r  r   r  s        r/   Ú
test_sum04r  f  sW   € äò EˆÜ˜˜DÓ!ˆØ—
‘
˜A˜q˜6¨�
Ó/ˆÜ—‘˜UÓ#ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÈ   — t         D ]Y  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       Œ[ y )	Nr
   r   rP   r   rˆ   g      $@Fr  r  r  s        r/   Ú
test_sum05r  o  sa   € äò FˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜UÓ#ˆÜ˜F B§J¡J¨tÓ$4¸uÖEñ	Fr1   c                 óì   — t        j                  g t        ¬«      }| j                  |«      }t        D ]?  }t	        | |«      }| j                  g |¬«      }t        j                  ||¬«      }|dk(  rŒ?J ‚ y )Nrˆ   ©r   r   ©r    r&   Úboolr   rŠ   r#   r  ©r)   r   rŒ   rU   r  r‘   s         r/   Ú
test_sum06r%  x  si   € ä�Z‰Z˜¤$Ô'€FØ�Z‰Z˜Ó€FÜò ˆÜ˜˜DÓ!ˆØ—
‘
˜2 U�
Ó+ˆÜ—‘˜U¨6Ô2ˆØ˜‹{Ðˆ{ñ	r1   c                 óô   — t        j                  ddgt        ¬«      }| j                  |«      }t        D ]A  }t        | |«      }| j                  ddg|¬«      }t        j                  ||¬«      }|dk(  rŒAJ ‚ y )Nr   r   rˆ   r!  )	r    r[   r#  r&   r   rŠ   rc   r#   r  r$  s         r/   Ú
test_sum07r'  ƒ  sq   € ä�W‰W�a˜�V¤4Ô(€FØ�Z‰Z˜Ó€FÜò ˆÜ˜˜DÓ!ˆØ—‘˜!˜Q˜ u�Ó-ˆÜ—‘˜U¨6Ô2ˆØ˜‹{Ðˆ{ñ	r1   c                 óô   — t        j                  ddgt        ¬«      }| j                  |«      }t        D ]A  }t	        | |«      }| j                  ddg|¬«      }t        j                  ||¬«      }|dk(  rŒAJ ‚ y )Nr
   r   rˆ   r   r!  r"  r$  s         r/   Ú
test_sum08r)  Ž  sq   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò ˆÜ˜˜DÓ!ˆØ—
‘
˜A˜q˜6¨�
Ó/ˆÜ—‘˜U¨6Ô2ˆØ˜‹{Ðˆ{ñ	r1   c                 ó(  — t        j                  ddgt        ¬«      }| j                  |«      }t        D ][  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       Œ] y )Nr
   r   rˆ   r   rP   r   r!  ç      @Fr  )r    r&   r#  r   rŠ   r#   r  r   r$  s         r/   Ú
test_sum09r,  ™  s„   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜U¨6Ô2ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 ó,  — t        j                  ddgt        ¬«      }t        j                  ddgddggt        ¬«      }| j                  |«      }| j                  |«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       y ©Nr
   r   rˆ   r   rP   r   r!  ç       @Fr  )r    r&   r#  r#   r  r   ©r)   r   r  r‘   s       r/   Ú
test_sum10r1  ¤  ss   € ä�Z‰Z˜˜A˜¤dÔ+€FÜ�J‰J˜˜A˜  A Ð'¬tÔ4€Eà�Z‰Z˜Ó€FØ�J‰J�uÓ€EÜ�[‰[˜ vÔ.€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 ó  — | j                  ddg| j                  ¬«      }t        D ]\  }t        | |«      }| j                  ddgddgg|¬«      }t	        j
                  ||d¬«      }t        || j                  d«      d¬	«       Œ^ y )
Nr
   r   rˆ   rP   r   r   ç      @Fr  )r&   Úint8r   rŠ   r#   r  r   r$  s         r/   Ú
test_sum11r5  ¯  s�   € à�Z‰Z˜˜A˜ b§g¡gˆZÓ.€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜U¨6Ø#$ô&ˆä˜F B§J¡J¨s£O¸eÖDñEr1   c           	      ó6  — | j                  ddgddgg| j                  ¬«      }t        D ]m  }t        | |«      }| j                  ddgddgg|¬«      }t	        j
                  ||| j                  g d¢«      ¬«      }t        || j                  g d¢«      «       Œo y ©	Nr
   r   r   rˆ   rP   ©r   é   r   r   )r+  rA   g      @)r&   r4  r   rŠ   r#   r  r   r$  s         r/   Ú
test_sum12r:  º  s�   € à�Z‰Z˜!˜Q˜ ! Q Ð(°·±ˆZÓ8€FÜò GˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜U¨6¸¿¹ÂIÓ9NÔOˆÜ! &¨"¯*©*²_Ó*EÕFñ	Gr1   c           	      ó´  — | j                  ddgddgg| j                  ¬«      }t        D ]¬  }t        | |«      }| j                  ddgddgg|¬«      }t	        j
                  ||| j                  g d¢«      ¬«      }t	        j                  ||| j                  g d¢«      ¬«      }| j                  ||k(  «      sJ ‚t        || j                  g d¢«      «       Œ® y r7  )	r&   r4  r   rŠ   r#   r  Ú
sum_labelsÚallr   )r)   r   rŒ   rU   r  Ú
output_sumÚoutput_labelss          r/   Útest_sum_labelsr@  Ä  sÈ   € à�Z‰Z˜!˜Q˜ ! Q Ð(°·±ˆZÓ8€FÜò NˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—[‘[ ¨v¸R¿Z¹ZÊ	Ó=RÔSˆ
Ü×*Ñ*Ø˜&¨¯
©
²9Ó(=ô?ˆð �v‰v�j MÑ1Ô2Ð2Ð2Ü! -°·±ºOÓ1LÕMñNr1   c                 ó(  — t        j                  ddgt        ¬«      }| j                  |«      }t        D ][  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       Œ] y r.  )r    r&   r#  r   rŠ   r#   Úmeanr   r$  s         r/   Útest_mean01rC  Ò  s„   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜e¨FÔ3ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 ó,  — t        j                  ddgt        ¬«      }t        j                  ddgddggt        ¬«      }| j                  |«      }| j                  |«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       y ©Nr
   r   rˆ   r   rP   r   r!  r   Fr  )r    r&   r#  r#   rB  r   r0  s       r/   Útest_mean02rF  Ý  ss   € ä�Z‰Z˜˜A˜¤dÔ+€FÜ�J‰J˜˜A˜  A Ð'¬tÔ4€Eà�Z‰Z˜Ó€FØ�J‰J�uÓ€EÜ�\‰\˜%¨Ô/€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 óô   — | j                  ddg«      }t        D ]\  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||d¬«      }t        || j                  d«      d¬	«       Œ^ y )
Nr
   r   rP   r   rˆ   r   r  Fr  )r&   r   rŠ   r#   rB  r   r$  s         r/   Útest_mean03rH  è  sy   € à�Z‰Z˜˜A˜Ó€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘˜e¨FØ$%ô'ˆä˜F B§J¡J¨s£O¸eÖDñEr1   c           
      ó¨  — | j                  ddgddgg| j                  ¬«      }t        j                  d¬«      5  t        D ]z  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||| j                  g d¢«      ¬	«      }|d
   dk(  sJ ‚|d   dk(  sJ ‚| j                  |d   «      rŒzJ ‚ 	 d d d «       y # 1 sw Y   y xY w)Nr
   r   r   rˆ   Úignore©r=  rP   r8  r   r   r+  ç      @)	r&   r4  r    Úerrstater   rŠ   r#   rB  Úisnanr$  s         r/   Útest_mean04rO  ó  sÚ   € à�Z‰Z˜!˜Q˜ ! Q Ð(°·±ˆZÓ8€FÜ	�‰˜Ô	"ñ 
'Üò 		'ˆDÜ˜B Ó%ˆEØ—J‘J  A ¨¨A¨Ð/°u�JÓ=ˆEÜ—\‘\ %°Ø(*¯
©
²9Ó(=ô?ˆFð ˜!‘9 Ò#Ð#Ð#Ø˜!‘9 Ò#Ð#Ð#Ø—8‘8˜F 1™IÕ&Ð&Ð&ñ		'÷
'÷ 
'ñ 
'ús   ºB CÂ;CÃCc                 ó(  — t        j                  ddgt        ¬«      }| j                  |«      }t        D ][  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       Œ] y rE  )r    r&   r#  r   rŠ   r#   Úminimumr   r$  s         r/   Útest_minimum01rR    ó„   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘ ¨vÔ6ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 ó,  — t        j                  ddgt        ¬«      }t        j                  ddgddggt        ¬«      }| j                  |«      }| j                  |«      }t        j                  ||¬«      }t        || j                  d«      d¬	«       y ©
Nr
   r   rˆ   r   r   r!  r   Fr  )r    r&   r#  r#   rQ  r   r0  s       r/   Útest_minimum02rV    ss   € ä�Z‰Z˜˜A˜¤dÔ+€FÜ�J‰J˜˜A˜  A Ð'¬tÔ4€Eà�Z‰Z˜Ó€FØ�J‰J�uÓ€EÜ�_‰_˜U¨6Ô2€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 óô   — | j                  ddg«      }t        D ]\  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||d¬«      }t        || j                  d«      d¬	«       Œ^ y )
Nr
   r   rP   r   rˆ   r   r/  Fr  )r&   r   rŠ   r#   rQ  r   r$  s         r/   Útest_minimum03rX    sy   € à�Z‰Z˜˜A˜Ó€FÜò EˆÜ˜˜DÓ!ˆà—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘ ¨vØ'(ô*ˆä˜F B§J¡J¨s£O¸eÖDñEr1   c           	      ó  — | j                  ddgddgg«      }t        D ]m  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||| j                  g d¢«      ¬«      }t        || j                  g d¢«      «       Œo y )	Nr
   r   rP   r   rˆ   ©r   rP   r9  r   )r/  r+  rA   )r&   r   rŠ   r#   rQ  r   r$  s         r/   Útest_minimum04r[  %  óŠ   € à�Z‰Z˜!˜Q˜ ! Q Ð(Ó)€FÜò GˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘ ¨vØ')§z¡z²)Ó'<ô>ˆä! &¨"¯*©*²_Ó*EÕFñGr1   c                 ó(  — t        j                  ddgt        ¬«      }| j                  |«      }t        D ][  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }t        || j                  d«      d	¬
«       Œ] y )Nr
   r   rˆ   r   rP   r   r!  r  Fr  )r    r&   r#  r   rŠ   r#   Úmaximumr   r$  s         r/   Útest_maximum01r_  0  rS  r1   c                 ó,  — t        j                  ddgt        ¬«      }t        j                  ddgddggt        ¬«      }| j                  |«      }| j                  |«      }t        j                  ||¬«      }t        || j                  d«      d¬	«       y rU  )r    r&   r#  r#   r^  r   r0  s       r/   Útest_maximum02ra  ;  ss   € ä�Z‰Z˜˜A˜¤dÔ+€FÜ�J‰J˜˜A˜  A Ð'¬tÔ4€EØ�Z‰Z˜Ó€FØ�J‰J�uÓ€EÜ�_‰_˜U¨6Ô2€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 óô   — | j                  ddg«      }t        D ]\  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||d¬«      }t        || j                  d«      d¬	«       Œ^ y )
Nr
   r   rP   r   rˆ   r   r+  Fr  )r&   r   rŠ   r#   r^  r   r$  s         r/   Útest_maximum03rc  E  sy   € à�Z‰Z˜˜A˜Ó€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—‘ ¨vØ'(ô*ˆä˜F B§J¡J¨s£O¸eÖDñEr1   c           	      ó  — | j                  ddgddgg«      }t        D ]m  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||| j                  g d¢«      ¬«      }t        || j                  g d¢«      «       Œo y )	Nr
   r   rP   r   rˆ   rZ  r   )r  r+  rA   )r&   r   rŠ   r#   r^  r   r$  s         r/   Útest_maximum04re  P  r\  r1   c                 ó^   — | j                  g d¢«      }t        j                  |«      dk(  sJ ‚y )N)éýÿÿÿéþÿÿÿr¦   r¦   )r&   r#   r^  )r)   r*   s     r/   Útest_maximum05ri  [  s)   € ð 	�
‰
’<Ó €AÜ�?‰?˜1Ó Ò#Ð#Ñ#r1   c                 ó  — | j                  g d¢g d¢g d¢g d¢g«      }| j                  g d¢g d¢g d¢g d¢g«      }t        j                  ||| j                  g d¢«      ¬	«      }t        || j                  g d
¢«      «       y )N©r
   r   r   r
   ©rk   rP   r   r   ©r   r   r   r§   ©r4   rP   r   r   ©r
   r
   r   r   ©r   r   r   r   ©rP   rP   r   r   )r
   r   rP   r   )rL  r+  r3  )r&   r#   Úmedianr   ©r)   rÉ   r   r‘   s       r/   Útest_median01rt  b  sp   € à
�
‰
’LÚ Ú Ú ð"ó 	#€Að �Z‰ZšÚ%Ú%Ú%ð'ó (€Fô �^‰^˜A f°B·J±JºyÓ4IÔJ€FÜ˜f b§j¡j²Ó&AÕBr1   c                 ó¢   — | j                  g d¢g d¢g d¢g d¢g«      }t        j                  |«      }t        || j                  d«      d¬«       y )Nrk  rl  rm  rn  r   Fr  ©r&   r#   rr  r   ©r)   rÉ   r‘   s      r/   Útest_median02rx  p  sD   € à
�
‰
’LÚ Ú Ú ð"ó 	#€Aô �^‰^˜AÓ€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 óà   — | j                  g d¢g d¢g d¢g d¢g«      }| j                  g d¢g d¢g d¢g d¢g«      }t        j                  ||¬«      }t        || j                  d	«      d
¬«       y )Nrk  rl  rm  rn  ro  rp  rq  r!  r  Fr  rv  rs  s       r/   Útest_median03rz  z  sf   € à
�
‰
’LÚ Ú Ú ð"ó 	#€Að �Z‰ZšÚ%Ú%Ú%ð'ó (€Fô �^‰^˜A fÔ-€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 ó  — t        j                  ddgt        ¬«      }| j                  |«      }t        j                  || j                  d«      | j                  dg«      ¬«      }t        || j                  dg«      «       y )Nr
   rˆ   ©r   r   r   )r    r&   r#  r#   rr  r[   r   rw  s      r/   Útest_median_gh12836_boolr}  ˆ  s^   € ô 	�
‰
�A�q�6¤Ô&€AØ
�
‰
�1‹€AÜ�^‰^˜A b§g¡g¨d£m¸2¿:¹:ÀqÀc»?ÔK€FÜ˜f b§j¡j°#°Ó&7Õ8r1   c                 óè   — | j                  ddg| j                  ¬«      }t        j                  || j	                  d«      | j                  dg«      ¬«      }t        || j                  dg«      «       y )NéA   éF   rˆ   r|  r
   r   g     àP@)r&   r4  r#   rr  r[   r   rw  s      r/   Útest_median_no_int_overflowr�  ‘  sW   € ð 	�
‰
�B˜�8 2§7¡7ˆ
Ó+€AÜ�^‰^˜A b§g¡g¨d£m¸2¿:¹:ÀqÀc»?ÔK€FÜ˜f b§j¡j°$°Ó&8Õ9r1   c                 óˆ  — t        j                  d¬«      5  t        D ]�  }t        | |«      }| j	                  g |¬«      }t        j                  «       5  t        j                  ddt        «       t        j                  |«      }d d d «       | j                  «      rŒ�J ‚ 	 d d d «       y # 1 sw Y   Œ(xY w# 1 sw Y   y xY w©NrJ  rK  rˆ   zMean of empty slice)r    rM  r   rŠ   r&   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr#   ÚvariancerN  r  s        r/   Útest_variance01r‰  ™  s­   € ä	�‰˜Ô	"ñ $Üò 	$ˆDÜ˜B Ó%ˆEØ—J‘J˜r¨�JÓ/ˆEÜ×(Ñ(Ó*ñ 1Ü×'Ñ'¨Ð2GÌÔXÜ ×)Ñ)¨%Ó0�÷1ð —8‘8˜FÕ#Ð#Ð#ñ	$÷$ð $÷1ð 1ú÷	$ð $úó)   —=B8Á1B,ÂB8ÂB8Â,B5Â1B8Â8Cc                 ó¾   — t         D ]T  }t        | |«      }| j                  dg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒV y ©Nr
   rˆ   rA   Fr  ©r   rŠ   r&   r#   rˆ  r   r  s        r/   Útest_variance02rŽ  ¥  sW   € äò EˆÜ˜˜DÓ!ˆØ—
‘
˜A˜3 e�
Ó,ˆÜ×!Ñ! %Ó(ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÀ   — t         D ]U  }t        | |«      }| j                  ddg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒW y ©Nr
   rP   rˆ   r   Fr  r�  r  s        r/   Útest_variance03r‘  ®  sY   € äò EˆÜ˜˜DÓ!ˆØ—
‘
˜A˜q˜6¨�
Ó/ˆÜ×!Ñ! %Ó(ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÄ   — t        j                  ddgt        ¬«      }| j                  |«      }t        j                  |«      }t        || j                  d«      d¬«       y )Nr
   r   rˆ   g      Ð?Fr  )r    r&   r#  r#   rˆ  r   ©r)   r  r‘   s      r/   Útest_variance04r”  ·  sI   € ä�J‰J˜˜1�v¤TÔ*€EØ�J‰J�uÓ€EÜ×Ñ˜eÓ$€FÜ˜ §
¡
¨4Ó 0¸5ÖAr1   c                 óê   — | j                  g d¢«      }t        D ]W  }t        | |«      }| j                  g d¢|¬«      }t        j                  ||d«      }t        || j                  d«      d¬«       ŒY y ©N)r   r   rP   )r
   rP   r9  rˆ   r   r   Fr  )r&   r   rŠ   r#   rˆ  r   r$  s         r/   Útest_variance05r—  ¿  sg   € à�Z‰Zš	Ó"€FÜò EˆÜ˜˜DÓ!ˆà—
‘
š9¨E�
Ó2ˆÜ×!Ñ! %¨°Ó3ˆÜ˜F B§J¡J¨s£O¸eÖDñEr1   c           
      ód  — | j                  g d¢«      }t        j                  d¬«      5  t        D ]h  }t	        | |«      }| j                  g d¢|¬«      }t        j                  ||| j                  g d¢«      «      }t        || j                  g d¢«      «       Œj 	 d d d «       y # 1 sw Y   y xY w©N)r   r   rP   rP   r   rJ  rK  )r
   rP   r9  r¡   r9  rˆ   )r   rP   r   )r   r   rA   )r&   r    rM  r   rŠ   r#   rˆ  r   r$  s         r/   Útest_variance06rš  Ê  s•   € à�Z‰ZšÓ(€FÜ	�‰˜Ô	"ñ KÜò 	KˆDÜ˜B Ó%ˆEØ—J‘JÒ/°u�JÓ=ˆEÜ×%Ñ% e¨V°R·Z±ZÂ	Ó5JÓKˆFÜ% f¨b¯j©jºÓ.IÕJñ		K÷K÷ Kñ Kúó   ªA2B&Â&B/c                 óˆ  — t        j                  d¬«      5  t        D ]�  }t        | |«      }| j	                  g |¬«      }t        j                  «       5  t        j                  ddt        «       t        j                  |«      }d d d «       | j                  «      rŒ�J ‚ 	 d d d «       y # 1 sw Y   Œ(xY w# 1 sw Y   y xY wrƒ  )r    rM  r   rŠ   r&   r„  r…  r†  r‡  r#   Ústandard_deviationrN  r  s        r/   Útest_standard_deviation01rž  Õ  s­   € ä	�‰˜Ô	"ñ $Üò 	$ˆDÜ˜B Ó%ˆEØ—J‘J˜r¨�JÓ/ˆEÜ×(Ñ(Ó*ñ ;Ü×'Ñ'¨Ð2GÌÔXÜ ×3Ñ3°EÓ:�÷;ð —8‘8˜FÕ#Ð#Ð#ñ	$÷$ð $÷;ð ;ú÷	$ð $úrŠ  c                 ó¾   — t         D ]T  }t        | |«      }| j                  dg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒV y rŒ  ©r   rŠ   r&   r#   r�  r   r  s        r/   Útest_standard_deviation02r¡  á  sW   € äò EˆÜ˜˜DÓ!ˆØ—
‘
˜A˜3 e�
Ó,ˆÜ×+Ñ+¨EÓ2ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÀ   — t         D ]U  }t        | |«      }| j                  ddg|¬«      }t        j                  |«      }t        || j                  d«      d¬«       ŒW y r�  r   r  s        r/   Útest_standard_deviation03r£  ê  sY   € äò EˆÜ˜˜DÓ!ˆØ—
‘
˜A˜q˜6¨�
Ó/ˆÜ×+Ñ+¨EÓ2ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c                 óÄ   — t        j                  ddgt        ¬«      }| j                  |«      }t        j                  |«      }t        || j                  d«      d¬«       y )Nr
   r   rˆ   r9   Fr  )r    r&   r#  r#   r�  r   r“  s      r/   Útest_standard_deviation04r¥  ó  sH   € ä�J‰J˜˜1�v¤TÔ*€EØ�J‰J�uÓ€EÜ×'Ñ'¨Ó.€FÜ˜ §
¡
¨3£¸%Ö@r1   c                 óê   — | j                  g d¢«      }t        D ]W  }t        | |«      }| j                  g d¢|¬«      }t        j                  ||d«      }t        || j                  d«      d¬«       ŒY y r–  )r&   r   rŠ   r#   r�  r   r$  s         r/   Útest_standard_deviation05r§  û  sg   € à�Z‰Zš	Ó"€FÜò EˆÜ˜˜DÓ!ˆØ—
‘
š9¨E�
Ó2ˆÜ×+Ñ+¨E°6¸1Ó=ˆÜ˜F B§J¡J¨s£O¸eÖDñ	Er1   c           
      ód  — | j                  g d¢«      }t        j                  d¬«      5  t        D ]h  }t	        | |«      }| j                  g d¢|¬«      }t        j                  ||| j                  g d¢«      «      }t        || j                  g d¢«      «       Œj 	 d d d «       y # 1 sw Y   y xY wr™  )r&   r    rM  r   rŠ   r#   r�  r   r$  s         r/   Útest_standard_deviation06r©    sš   € à�Z‰ZšÓ(€FÜ	�‰˜Ô	"ñ KÜò 	KˆDÜ˜B Ó%ˆEØ—J‘JÒ/°u�JÓ=ˆEÜ×/Ñ/Ø�v˜rŸz™zª)Ó4óˆFô & f¨b¯j©jºÓ.IÕJñ	K÷K÷ Kñ Kúr›  c           	      ó¦  — | j                  dg«      }t        j                  d¬«      5  t        D ]Š  }t	        | «      r|dk(  rt        j                  d«       t        | |«      }| j                  dg|¬«      }t        j                  ||| j                  dg«      «      }t        || j                  dg«      «       ŒŒ 	 d d d «       y # 1 sw Y   y xY w)	Nr
   rJ  rK  Úuint8z8value cannot be converted to type uint8 without overflowgl�§ `y¿rˆ   r   )r&   r    rM  r   r   ÚpytestÚxfailrŠ   r#   r�  r   r$  s         r/   Útest_standard_deviation07r®    s±   € à�Z‰Z˜˜‹_€FÜ	�‰˜Ô	"ñ ?Üò 	?ˆDÜ˜Œ| ¨¢Ü—‘ð 0ô 1ä˜B Ó%ˆEØ—J‘J ˜}°E�JÓ:ˆEÜ×/Ñ/°°v¸r¿z¹zÈ1È#»ÓOˆFÜ% f¨b¯j©j¸!¸«oÕ>ñ	?÷?÷ ?ñ ?ús   ©BCÃCc                 óü   — t        j                  ddgt        ¬«      }| j                  |«      }t        D ]E  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }|dk(  rŒEJ ‚ y )	Nr
   r   rˆ   r   rP   r   r!  ©r   r   )r    r&   r#  r   rŠ   r#   Úminimum_positionr$  s         r/   Útest_minimum_position01r²     s~   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò  ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ×)Ñ)¨%¸Ô?ˆØ˜ÓÐÐñ	 r1   c                 ó¢   — t         D ]F  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  |«      }|dk(  rŒFJ ‚ y ©N©rk   r   r   rk   ©rP   r§   r   r   ©r
   rk   r
   r
   rˆ   ©r
   r   )r   rŠ   r&   r#   r±  r  s        r/   Útest_minimum_position02r¹  +  ó`   € äò  ˆÜ˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô ×)Ñ)¨%Ó0ˆØ˜ÓÐÐñ r1   c                 ó¦   — t        j                  g d¢g d¢g d¢gt        ¬«      }| j                  |«      }t        j                  |«      }|dk(  sJ ‚y r´  ©r    r&   r#  r#   r±  r“  s      r/   Útest_minimum_position03r½  6  óN   € ä�J‰JšÚ$Ú$ð&ä-1ô3€Eð �J‰J�uÓ€EÜ×%Ñ% eÓ,€FØ�VÒÐÑr1   c                 ó¦   — t        j                  g d¢g d¢g d¢gt        ¬«      }| j                  |«      }t        j                  |«      }|dk(  sJ ‚y )Nrµ  )rP   r§   r
   r   r·  rˆ   r°  r¼  r“  s      r/   Útest_minimum_position04rÀ  @  r¾  r1   c                 óÊ   — | j                  g d¢«      }t        D ]G  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||«      }|dk(  rŒGJ ‚ y )N©r
   r   r   r   rµ  r¶  )r
   rk   r   rP   rˆ   )r   r   ©r&   r   rŠ   r#   r±  r$  s         r/   Útest_minimum_position05rÄ  J  óp   € à�Z‰ZšÓ%€FÜò  ˆÜ˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô ×)Ñ)¨%°Ó8ˆØ˜ÓÐÐñ r1   c                 óÌ   — | j                  g d¢«      }t        D ]H  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||d«      }|dk(  rŒHJ ‚ y )N©r
   r   rP   r   rµ  r¶  r·  rˆ   r   ©r   r
   rÃ  r$  s         r/   Útest_minimum_position06rÉ  V  ór   € à�Z‰ZšÓ%€FÜò  ˆÜ˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô ×)Ñ)¨%°¸Ó;ˆØ˜ÓÐÐñ r1   c           	      ó  — | j                  g d¢«      }t        D ]f  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||| j                  ddg«      «      }|d   d	k(  sJ ‚|d
   dk(  rŒfJ ‚ y )NrÇ  rµ  r¶  r·  rˆ   r   rP   r   rÈ  r
   r¸  rÃ  r$  s         r/   Útest_minimum_position07rÌ  b  ó˜   € à�Z‰ZšÓ%€FÜò #ˆÜ˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô ×)Ñ)¨%°Ø*,¯*©*°a¸°VÓ*<ó>ˆà�a‰y˜FÒ"Ð"Ð"Ø�a‰y˜FÓ"Ð"Ð"ñ#r1   c                 óü   — t        j                  ddgt        ¬«      }| j                  |«      }t        D ]E  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }|dk(  rŒEJ ‚ y )	Nr
   r   rˆ   r   rP   r   r!  ©r
   r   )r    r&   r#  r   rŠ   r#   Úmaximum_positionr$  s         r/   Útest_maximum_position01rÑ  p  s�   € ä�Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò  ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ×)Ñ)¨%Ø17ô9ˆà˜ÓÐÐñ r1   c                 ó¢   — t         D ]F  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  |«      }|dk(  rŒFJ ‚ y )Nrµ  ©rP   r§   r9  r   r·  rˆ   r¸  )r   rŠ   r&   r#   rÐ  r  s        r/   Útest_maximum_position02rÔ  |  rº  r1   c                 ó¦   — t        j                  g d¢g d¢g d¢gt        ¬«      }| j                  |«      }t        j                  |«      }|dk(  sJ ‚y )Nrµ  rÓ  r·  rˆ   r°  )r    r&   r#  r#   rÐ  r“  s      r/   Útest_maximum_position03rÖ  ‡  r¾  r1   c                 óÊ   — | j                  g d¢«      }t        D ]G  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||«      }|dk(  rŒGJ ‚ y )NrÂ  rµ  rÓ  r·  rˆ   ©r
   r
   ©r&   r   rŠ   r#   rÐ  r$  s         r/   Útest_maximum_position04rÚ  ‘  rÅ  r1   c                 óÌ   — | j                  g d¢«      }t        D ]H  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||d«      }|dk(  rŒHJ ‚ y )NrÂ  rµ  rÓ  r·  rˆ   r
   r°  rÙ  r$  s         r/   Útest_maximum_position05rÜ  �  rÊ  r1   c           	      ó  — | j                  g d¢«      }t        D ]f  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||| j                  ddg«      «      }|d   d	k(  sJ ‚|d   d
k(  rŒfJ ‚ y )NrÂ  rµ  rÓ  r·  rˆ   r
   r   r   r°  rØ  rÙ  r$  s         r/   Útest_maximum_position06rÞ  ©  rÍ  r1   c           	      ó  — | j                  g d¢«      }t        D ]f  }t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||| j                  ddg«      «      }|d   d	k(  sJ ‚|d
   dk(  rŒfJ ‚ y )N)r   rL  rA   ç      @rµ  rÓ  r·  rˆ   r   rà  r   r°  r
   )r   rP   rÙ  r$  s         r/   Útest_maximum_position07rá  ·  sœ   € ð �Z‰ZÒ,Ó-€FÜò #ˆÜ˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô ×)Ñ)¨%°Ø*,¯*©*°c¸3°ZÓ*@óBˆà�a‰y˜FÒ"Ð"Ð"Ø�a‰y˜FÓ"Ð"Ð"ñ#r1   c                 ó¼  — t        j                  ddgt        ¬«      }| j                  |«      }t        D ]¥  }t	        | |«      }| j                  ddgddgg|¬«      }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  ||¬«      }	|||||	fk(  rŒ¥J ‚ y )Nr
   r   rˆ   r   rP   r   r!  )r    r&   r#  r   rŠ   r#   ÚextremarQ  r^  r±  rÐ  ©
r)   r   rŒ   rU   r  Úoutput1Úoutput2Úoutput3Úoutput4Úoutput5s
             r/   Útest_extrema01rê  Æ  sÑ   € ô �Z‰Z˜˜A˜¤dÔ+€FØ�Z‰Z˜Ó€FÜò 
?ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—/‘/ %°Ô7ˆÜ—/‘/ %°Ô7ˆÜ—/‘/ %°Ô7ˆÜ×*Ñ*¨5Ø28ô:ˆä×*Ñ*¨5Ø28ô:ˆà˜7 G¨W°gÐ>Ó>Ð>Ð>ñ
?r1   c                 ó�  — | j                  ddg«      }t        D ]ª  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||d¬«      }t        j
                  ||d¬«      }t        j                  ||d¬«      }t        j                  ||d¬«      }t        j                  ||d¬«      }	|||||	fk(  rŒªJ ‚ y )Nr
   r   rP   r   rˆ   r   )	r&   r   rŠ   r#   rã  rQ  r^  r±  rÐ  rä  s
             r/   Útest_extrema02rì  Ø  sÖ   € ð �Z‰Z˜˜A˜Ó€FÜò ?ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—/‘/ %°Ø()ô+ˆä—/‘/ %°Ø()ô+ˆä—/‘/ %°Ø()ô+ˆä×*Ñ*¨5Ø28ÀôCˆä×*Ñ*¨5Ø28ÀôCˆà˜7 G¨W°gÐ>Ó>Ð>Ð>ñ?r1   c           	      óÜ  — | j                  ddgddgg«      }t        D �]K  }t        | «      r|dv rt        j                  d«       t        | |«      }| j                  ddgddgg|¬«      }t        j                  ||| j                  g d¢«      ¬	«      }t        j                  ||| j                  g d¢«      ¬	«      }t        j                  ||| j                  g d¢«      ¬	«      }t        j                  ||| j                  g d¢«      ¬	«      }t        j                  ||| j                  g d¢«      ¬	«      }	t        |d
   |«       t        |d   |«       |d   |k(  sJ ‚|d   |	k(  r�ŒLJ ‚ y )Nr
   r   rP   ©Úuint16Úuint32Úuint64ú/https://github.com/pytorch/pytorch/issues/58734r   rˆ   rZ  r   r   ©r&   r   r   r¬  r­  rŠ   r#   rã  rQ  r^  r±  rÐ  r   rä  s
             r/   Útest_extrema03rô  ì  s]  € ð �Z‰Z˜!˜Q˜ ! Q Ð(Ó)€FÜó %ˆÜ�BŒ<˜DÐ$BÑBÜ�\‰\ÐKÔLä˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ—/‘/ %Ø)/Ø(*¯
©
²9Ó(=ô?ˆô —/‘/ %Ø)/Ø(*¯
©
²9Ó(=ô?ˆô —/‘/ %°Ø(*¯
©
²9Ó(=ô?ˆä×*Ñ*¨5Ø28Ø13·±ºIÓ1FôHˆô ×*Ñ*¨5Ø28Ø13·±ºIÓ1FôHˆô 	" '¨!¡*¨gÔ6Ü! '¨!¡*¨gÔ6Ø�q‰z˜WÒ$Ð$Ð$Ø�q‰z˜WÔ$Ð$Ð$ñ/%r1   c           	      óÐ  — | j                  g d¢«      }t        D �]I  }t        | «      r|dv rt        j                  d«       t        | |«      }| j                  g d¢g d¢g d¢g|¬«      }t        j                  ||| j                  dd	g«      «      }t        j                  ||| j                  dd	g«      «      }t        j                  ||| j                  dd	g«      «      }t        j                  ||| j                  dd	g«      «      }t        j                  ||| j                  dd	g«      «      }	t        |d
   |«       t        |d   |«       |d	   |k(  sJ ‚|d   |	k(  r�ŒJJ ‚ y )NrÂ  rî  rò  rµ  rÓ  r·  rˆ   r
   r   r   rP   ró  rä  s
             r/   Útest_extrema04rö  
  sS  € ð �Z‰ZšÓ%€FÜó %ˆÜ�BŒ<˜DÐ$BÑBÜ�\‰\ÐKÔLä˜˜DÓ!ˆØ—
‘
šLÚ(Ú(ð*à16ð ó 8ˆô —/‘/ %¨°·±¸QÀ¸FÓ1CÓDˆÜ—/‘/ %¨°·±¸QÀ¸FÓ1CÓDˆÜ—/‘/ %¨°·±¸QÀ¸FÓ1CÓDˆÜ×*Ñ*¨5°&Ø+-¯:©:°q¸!°fÓ+=ó?ˆä×*Ñ*¨5°&Ø+-¯:©:°q¸!°fÓ+=ó?ˆä! '¨!¡*¨gÔ6Ü! '¨!¡*¨gÔ6Ø�q‰z˜WÒ$Ð$Ð$Ø�q‰z˜WÔ$Ð$Ð$ñ%%r1   c                 ó    — d}t         D ]C  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }||k(  rŒCJ ‚ y )N)rA   rA   r
   r   rˆ   ©r   rŠ   r&   r#   Úcenter_of_mass©r)   r�   rŒ   rU   r  r‘   s         r/   Útest_center_of_mass01rû  #  ó_   € à€HÜò "ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ×'Ñ'¨Ó.ˆØ˜Ó!Ð!Ð!ñ	"r1   c                 ó    — d}t         D ]C  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }||k(  rŒCJ ‚ y )NrÏ  r   r
   rˆ   rø  rú  s         r/   Útest_center_of_mass02rþ  -  ó_   € à€HÜò "ˆÜ˜˜DÓ!ˆØ—
‘
˜Q ˜F Q¨ FÐ+°5�
Ó9ˆÜ×'Ñ'¨Ó.ˆØ˜Ó!Ð!Ð!ñ	"r1   c                 ó    — d}t         D ]C  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }||k(  rŒCJ ‚ y )NrÈ  r   r
   rˆ   rø  rú  s         r/   Útest_center_of_mass03r  7  rÿ  r1   c                 ó    — d}t         D ]C  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }||k(  rŒCJ ‚ y )NrØ  r   r
   rˆ   rø  rú  s         r/   Útest_center_of_mass04r  A  rÿ  r1   c                 ó    — d}t         D ]C  }t        | |«      }| j                  ddgddgg|¬«      }t        j                  |«      }||k(  rŒCJ ‚ y )N©r9   r9   r
   rˆ   rø  rú  s         r/   Útest_center_of_mass05r  K  rü  r1   c                 ó¤   — d}t        j                  ddgddggt        ¬«      }| j                  |«      }t        j                  |«      }||k(  sJ ‚y )Nr  r
   r   rP   rˆ   )r    r&   r#  r#   rù  ©r)   r�   r  r‘   s       r/   Útest_center_of_mass06r	  U  sP   € à€HÜ�J‰J˜˜A˜  A Ð'¬tÔ4€EØ�J‰J�uÓ€EÜ×#Ñ# EÓ*€FØ�XÒÐÑr1   c                 óÌ   — | j                  ddg«      }d}t        j                   ddgddggt        ¬«      }| j                  |«      }t        j                  ||«      }||k(  sJ ‚y )Nr
   r   ©r9   rA   r   rP   rˆ   ©r&   r    r#  r#   rù  ©r)   r   r�   r  r‘   s        r/   Útest_center_of_mass07r  ^  sd   € à�Z‰Z˜˜A˜Ó€FØ€HÜ�J‰J˜˜A˜  A Ð'¬tÔ4€EØ�J‰J�uÓ€EÜ×#Ñ# E¨6Ó2€FØ�XÒÐÑr1   c                 óÎ   — | j                  ddg«      }d}t        j                   ddgddggt        ¬«      }| j                  |«      }t        j                  ||d«      }||k(  sJ ‚y )Nr
   r   ©r9   r   rk   rP   rˆ   r  r  s        r/   Útest_center_of_mass08r  h  sf   € à�Z‰Z˜˜A˜Ó€FØ€HÜ�J‰J˜˜A˜  A Ð'¬tÔ4€EØ�J‰J�uÓ€EÜ×#Ñ# E¨6°1Ó5€FØ�XÒÐÑr1   c                 ól  — | j                  d«      }| j                  ddg| j                  ¬«      }t        j                   ddgddggt        ¬«      }| j                  |«      }t	        j
                  ||| j                  ddg«      «      }t        | j                  |«      | j                  |«      «       y )Nr¸  r  r  rˆ   r
   r   )r&   Úfloat64r    r#  r#   rù  r   r  s        r/   Útest_center_of_mass09r  r  s“   € à�Z‰Z˜Ó€FØ�z‰z˜: zÐ2¸"¿*¹*ˆzÓE€HÜ�J‰J˜˜A˜  A Ð'¬tÔ4€EØ�J‰J�uÓ€EÜ×#Ñ# E¨6°2·:±:¸qÀ!¸fÓ3EÓF€FÜ�B—J‘J˜vÓ&¨¯
©
°8Ó(<Õ=r1   c                 ó�   — | j                  d«      }| j                  d«      }t        j                  |ddd«      }t	        ||«       y )Nr¡   r   )r[   Úaranger#   Ú	histogramr   r  s       r/   Útest_histogram01r  |  s<   € à�w‰w�r‹{€HØ�I‰I�b‹M€EÜ×Ñ˜u a¨¨RÓ0€FÜ˜f hÕ/r1   c                 óÂ   — | j                  g d¢«      }| j                  g d¢«      }| j                  g d¢«      }t        j                  |ddd|d«      }t        ||«       y )N)r
   r
   r
   r
   r   r   r   r   )r   r   r   r
   r
   )r
   r
   rP   r   rP   rP   rP   rP   r   r   rk   r
   ©r&   r#   r  r   r  s        r/   Útest_histogram02r  „  sR   € à�Z‰ZÒ0Ó1€FØ�z‰zš/Ó*€HØ�J‰JÒ/Ó0€EÜ×Ñ˜u a¨¨A¨v°qÓ9€FÜ˜f hÕ/r1   zobject arraysc                 ó  — | j                  g d¢«      }| j                  g d¢«      }| j                  g d¢«      }| j                  g d¢«      }t        j                  |ddd|d«      }t        |d   |«       t        |d	   |«       y )
N)r
   r   r
   r
   r   r   r   r   )r   r
   r   r
   r
   )r   r   r   rP   r   )r
   r
   rP   r   rP   rk   rP   rP   r   r   rk   r¸  r
   r  )r)   r   Ú	expected1Ú	expected2r  r‘   s         r/   Útest_histogram03r  �  st   € ð �Z‰ZÒ0Ó1€FØ—
‘
š?Ó+€IØ—
‘
š?Ó+€IØ�J‰JÒ/Ó0€Eä×Ñ˜u a¨¨A¨v°vÓ>€Fä˜f Q™i¨Ô3Ü˜f Q™i¨Õ3r1   c           	      ó:  — | j                  g d¢g d¢g d¢g«      }| j                  g d¢g d¢g d¢g«      }t        j                  ||| j                  ddg«      ¬«      }t        || j                  d	d
g| j                  ¬«      «       t        j
                  ||| j                  ddg«      ¬«      }t        || j                  ddg| j                  ¬«      «       t        j                  ||| j                  ddg«      ¬«      }t        || j                  | j                  ddg| j                  ¬«      «      «       t        j                  ||| j                  ddg«      ¬«      }t        || j                  d	d
g| j                  ¬«      «       t        j                  ||| j                  ddg«      ¬«      }t        || j                  ddg«      d¬«       t        j                  ||| j                  ddg«      ¬«      }t        || j                  ddg«      d¬«       y )N)rk   r   r   r   r   )r9  r4   r   r   r   )r   r   r   rP   rk   )r
   r
   r   r   r   )r   r   r   r   r   r
   r   r   rL   r+  rˆ   rL  r   rk   rP   Fr¨   r4   )r&   r#   rB  r   r  rˆ  r�  r   Úsqrtrr  rQ  r^  )	r)   rÉ   ÚlblrB  ÚvarÚstdÚmedÚminÚmaxs	            r/   Útest_stat_funcs_2dr(  š  s£  € ð 	�
‰
’O¢_²oÐFÓG€AØ
�*‰*’o¢ºÐHÓ
I€Cä�<‰<˜ #¨R¯Z©Z¸¸A¸Ó-?Ô@€DÜ�D˜"Ÿ*™* c¨3 Z°r·z±z˜*ÓBÔCä
×
Ñ
˜1 S°·
±
¸A¸q¸6Ó0BÔ
C€CÜ�C˜Ÿ™ S¨# J°b·j±j˜ÓAÔBä
×
$Ñ
$ Q¨s¸"¿*¹*ÀaÈÀVÓ:LÔ
M€CÜ˜c 2§7¡7¨2¯:©:°s¸C°jÈÏ
É
¨:Ó+SÓ#TÔUä
�.‰.˜ 3¨b¯j©j¸!¸Q¸Ó.@Ô
A€CÜ�C˜Ÿ™ S¨# J°b·j±j˜ÓAÔBä
�/‰/˜! C¨r¯z©z¸1¸a¸&Ó/AÔ
B€CÜ�C˜Ÿ™ Q¨ FÓ+¸Õ?ä
�/‰/˜! C¨r¯z©z¸1¸a¸&Ó/AÔ
B€CÜ�C˜Ÿ™ Q¨ FÓ+¸Ö?r1   úno watershed_ift on CuPyc                   ó�   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z e	dd¬	«      d
„ «       Z
 e	dd¬«      d„ «       Z e	dd¬«      d„ «       Zy)ÚTestWatershedIftc                 ó¦  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g«      }t        j                  |||¬«      }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g d	¢g}t        ||j                  |«      «       y )N©r   r   r   r   r   r   r   ©r   r
   r
   r
   r
   r
   r   ©r   r
   r   r   r   r
   r   rˆ   ©r¦   r   r   r   r   r   r   ©r   r   r   r
   r   r   r   ©r
   r
   r
   ©Ú	structure©r¦   r¦   r¦   r¦   r¦   r¦   r¦   ©r¦   r
   r
   r
   r
   r
   r¦   ©r&   r«  r4  r#   Úwatershed_iftr   ©r(   r)   r^   Úmarkersr4  r_   r�   s          r/   Útest_watershed_ift01z%TestWatershedIft.test_watershed_ift01·  sß   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0Ú0Ú0ð2ð :<¿¹ð ó Cˆð —*‘*Ò4Ú3Ú3Ú3Ú3Ú3Ú3Ú3ð5ð =?¿G¹Gð ó Eˆð —*‘*šiÚ'Ú'ð)ó *ˆ	ô ×#Ñ# D¨'¸YÔGˆÚ0Ú+Ú+Ú+Ú+Ú+Ú0Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   c                 ón  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }t        j                  ||«      }g d¢g d¢g d	¢g d	¢g d	¢g d¢g d¢g d¢g}t        ||j                  |«      «       y )
Nr-  r.  r/  rˆ   r0  r1  r5  )r¦   r¦   r
   r
   r
   r¦   r¦   r6  r7  ©r(   r)   r^   r:  r_   r�   s         r/   Útest_watershed_ift02z%TestWatershedIft.test_watershed_ift02Ö  sÀ   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0Ú0Ú0ð2ð :<¿¹ð ó Cˆð —*‘*Ò4Ú3Ú3Ú3Ú3Ú3Ú3Ú3ð5ð =?¿G¹Gð ó Eˆô ×#Ñ# D¨'Ó2ˆÚ0Ú-Ú+Ú+Ú+Ú-Ú0Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   c           
      ó\  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }t        j                  ||«      }g d¢g d¢g d	¢g d	¢g d	¢g d¢g d¢g}t        ||j                  |«      «       y )
Nr-  r.  ©r   r
   r   r
   r   r
   r   rˆ   ©r   r   r   r   rP   r   r   ©r   r   r   r   r   r   r¦   r5  )r¦   r¦   r   r¦   rP   r¦   r¦   ©r¦   r   r   rP   rP   rP   r¦   r7  r=  s         r/   Útest_watershed_ift03z%TestWatershedIft.test_watershed_ift03ò  s¸   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0Ú0ð2ð :<¿¹ð ó Cˆð —*‘*Ò3Ú3Ú3Ú3Ú3Ú3Ú4ð6ð >@¿W¹Wð ó Fˆô ×#Ñ# D¨'Ó2ˆÚ0Ú.Ú+Ú+Ú+Ú.Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   c           
      ó”  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g«      }t        j                  |||¬«      }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g}t        ||j                  |«      «       y )Nr-  r.  r@  rˆ   rA  rB  r2  r3  r5  rC  r7  r9  s          r/   Útest_watershed_ift04z%TestWatershedIft.test_watershed_ift04  sÕ   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0Ú0ð2ð :<¿¹ð ó Cˆð —*‘*Ò3Ú3Ú3Ú3Ú3Ú3Ú4ð6ð $&§7¡7ð ó ,ˆð —*‘*šiÚ'Ú'ð)ó *ˆ	ô ×#Ñ# D¨'¸YÔGˆÚ0Ú+Ú+Ú+Ú+Ú+Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   c           
      ó”  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g«      }t        j                  |||¬«      }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g}t        ||j                  |«      «       y )Nr-  r.  r@  rˆ   )r   r   rP   r   r   r   r   rB  r2  r3  r5  )r¦   rP   rP   r   r   r   r¦   r7  r9  s          r/   Útest_watershed_ift05z%TestWatershedIft.test_watershed_ift05)  sÕ   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0Ú0ð2ð :<¿¹ð ó Cˆð —*‘*Ò3Ú3Ú3Ú3Ú3Ú3Ú4ð6ð $&§7¡7ð ó ,ˆð —J‘J¢	Ú )Ú )ð +ó ,ˆ	ô ×#Ñ# D¨'¸YÔGˆÚ0Ú+Ú+Ú+Ú+Ú+Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   c           	      ó‚  — |j                  g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g d¢g d¢g d¢g|j                  ¬«      }|j                  g d¢g d¢g d¢g«      }t        j                  |||¬«      }g d	¢g d	¢g d	¢g d	¢g d
¢g d
¢g}t        ||j                  |«      «       y )Nr/  r.  r-  rˆ   r0  r1  r2  r3  r6  r5  r7  r9  s          r/   Útest_watershed_ift06z%TestWatershedIft.test_watershed_ift06F  sÍ   € Ø�z‰zÒ0Ú0Ú0Ú0Ú0Ú0ð2ð
 :<¿¹ð ó Cˆð —*‘*Ò4Ú3Ú3Ú3Ú3Ú3ð5ð
 =?¿G¹Gð ó Eˆð —*‘*šiÚ'Ú'ð)ó *ˆ	ô ×#Ñ# D¨'¸YÔGˆÚ+Ú+Ú+Ú+Ú0Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   Tzinplace ops are numpy-specificr   c           	      ó|  — d}t        j                  |t         j                  ¬«      }|j                  «       }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢gt         j                  ¬«      |d<   |j	                  |«      }|j	                  g d¢g d¢g d¢g d¢g d¢g d¢g|j
                  ¬«      }|j                  ||j                  ¬«      }|j                  }|j	                  g d	¢g d	¢g d	¢g«      }t        j                  ||||¬
«       g d¢g d¢g d¢g d¢g d¢g d¢g}t        ||j	                  |«      «       y )N)r§   r   rˆ   r/  r.  r-  .r0  r1  r2  )r4  r‘   r6  r5  )r    rc   r«  Ú	transposer&   r4  Úint16ÚTr#   r8  r   )r(   r)   rš   r^   r:  r_   r4  r�   s           r/   Útest_watershed_ift07z%TestWatershedIft.test_watershed_ift07_  s"  € àˆÜ�x‰x˜¤R§X¡XÔ.ˆØ�~‰~ÓˆÜ—J‘JÒ 5Ú 5Ú 5Ú 5Ú 5Ú 5ð 7ô
 ?A¿h¹hôHˆˆS‰	ð �z‰z˜$ÓˆØ—*‘*Ò4Ú3Ú3Ú3Ú3Ú3ð5ð
 =?¿G¹Gð ó Eˆð �h‰h�u B§H¡HˆhÓ-ˆØ�e‰eˆØ—*‘*šiÚ'Ú'ð)ó *ˆ	ô 	×Ñ˜d G°yØ%(õ	*â+Ú+Ú+Ú+Ú0Ú0ð2ˆô 	" # r§z¡z°(Ó';Õ<r1   r—   r)  r   c                 ó  — |j                  ddgddgg|j                  ¬«      }|j                  ddgddgg|j                  ¬«      }t        j                  ||«      }ddgddgg}t        ||j                  |«      «       y )Né   r   rˆ   r
   )r&   rï  r4  r#   r8  r   r=  s         r/   Útest_watershed_ift08z%TestWatershedIft.test_watershed_ift08€  s–   € ð �z‰z˜C ˜8Ø˜q˜6ð#Ø*,¯)©)ð ó 5ˆà—*‘*˜q !˜fØ  !˜fð&Ø-/¯W©Wð ó 6ˆä×#Ñ# D¨'Ó2ˆØ˜�FØ˜�Fðˆä! # r§z¡z°(Ó';Õ<r1   c                 óL  — |j                  |j                  |j                  «      j                  dgddgg|j                  ¬«      }|j                  ddgddgg|j                  ¬«      }t        j                  ||«      }ddgddgg}t        ||j                  |«      d¬«       y )Nr   rˆ   r
   Fr¨   )r&   Úiinforï  r'  r4  r#   r8  r   r=  s         r/   Útest_watershed_ift09z%TestWatershedIft.test_watershed_ift09Œ  s¬   € ð �z‰z˜BŸH™H R§Y¡YÓ/×3Ñ3°QÐ7Ø˜q˜6ð#Ø*,¯)©)ð ó 5ˆà—*‘*˜q !˜fØ  !˜fð&Ø-/¯W©Wð ó 6ˆä×#Ñ# D¨'Ó2ˆØ˜�FØ˜�Fðˆä˜˜RŸZ™Z¨Ó1¸uÖEr1   N)rD   rE   rF   r;  r>  rD  rF  rH  rJ  Úskip_xp_backendsrO  rR  rU  rH   r1   r/   r+  r+  ³  sz   „ ò=ò>=ò8=ò2=ò<=ò:=ñ2 ˜dÐ+KÔLñ=ó Mð=ñ@ �fÐ%?Ô@ñ	=ó Að	=ñ �fÐ%?Ô@ñ	Fó Añ	Fr1   r+  )r   Údtc                 óô   — t         j                  j                  d«      }d}|j                  d|d¬«      j	                  | ¬«      }t        j                  |«      }t        |j                  «       «      |k(  sJ ‚y )Né{   r9  r   )r¡   r  )ÚlowÚhighr½   rˆ   )	r    rÆ   Údefault_rngÚintegersÚastyper#   ró   rT   rõ   )rW  r)   ÚrngÚmax_valÚimageÚval_idxs         r/   Útest_gh_19423rc  ™  sh   € ô �)‰)×
Ñ
 Ó
$€CØ€GØ�L‰L˜Q W°8ˆLÓ<×CÑCÈ"ÐCÓM€EÜ×#Ñ# EÓ*€GÜˆw�|‰|‹~Ó 'Ò)Ð)Ñ)r1   )‘r«   Úos.pathr„  Únumpyr    Úscipy._lib._array_apir   r   r   r   r   r   r¬  r	   r¢   Úscipy.ndimager#   Ú r   ÚmarkrV  Úuses_xp_capabilitiesr   rJ   r\   ra   rd   rg   ri   rl   rp   rs   r~   r„   r†   rŽ   r’   r”   r–   r�   rŸ   r¤   r·   rº   rÊ   rÐ   rÒ   ró   rÿ   r  r  r  r  r  r  r  r  r%  r'  r)  r,  r1  r5  r:  r<  r@  rB  rC  rF  rH  rO  rQ  rR  rV  rX  r[  r^  r_  ra  rc  re  ri  rr  rt  rx  rz  r}  r�  rˆ  r‰  rŽ  r‘  r”  r—  rš  r�  rž  r¡  r£  r¥  r§  r©  r®  r±  r²  r¹  r½  rÀ  rÄ  rÉ  rÌ  rÐ  rÑ  rÔ  rÖ  rÚ  rÜ  rÞ  rá  rã  rê  rì  rô  rö  rù  rû  rþ  r  r  r  r	  r  r  r  r  r  r  r  r(  r8  r+  ÚparametrizeÚintcÚuintcrc  rH   r1   r/   ú<module>rn     sB  ðÛ 	Û Û ã ÷÷ ó Ý *å å à—;‘;×/Ñ/Ð ñ ˜$Ð'IÔJØ‡�×!Ñ! %°	Ð!Ó:÷O=ð O=ó ;ó KðO=ñd ˜$Ð'IÔJØ‡�×!Ñ! %°	Ð!Ó:÷#/ð #/ó ;ó Kð#/ñL �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ$ �7—=‘=Ó!ñó "ðñ" �7—=‘=Ó!ñó "ðñ& �7—=‘=Ó!ñó "ðñ �7—=‘=Ó!ñó "ðñ* ˜$Ð'IÔJÙ�7—=‘=Ó!ñó "ó Kðñ* �7—=‘=Ó!ñó "ðñ& �7—=‘=Ó!ñó "ðñ$ ˜$¨F¨8Ø9ô;á�7—=‘=Ó!ñó "ó;ðñ ˜$¨F¨8Ø9ô;á�7—=‘=Ó!ñ!ó "ó;ð!ñ ˜$Ð'JÔKÙ�7—=‘=Ó!ñFó "ó LðFñ �7—=‘=Ó!ñó "ðñ. �7—=‘= '×"6Ñ"6Ó7ñó 8ðñ$ �7—=‘=Ó!ñ	5ó "ð	5ñ �7—=‘= '×"6Ñ"6Ó7÷TCð TCó 8ðTCñn �7×(Ñ(Ó)ñ'ó *ð'ñ, �7×(Ñ(Ó)ñ$ó *ð$ñ �7×(Ñ(Ó)ñ/ó *ð/ñ" �7—;‘;Óñó  ðñ �7—;‘;Óñó  ðñ �7—;‘;ÓñEó  ðEñ �7—;‘;ÓñEó  ðEñ �7—;‘;ÓñFó  ðFñ �7—;‘;Óñó  ðñ �7—;‘;Óñó  ðñ �7—;‘;Óñó  ðñ �7—;‘;ÓñEó  ðEñ �7—;‘;ÓñAó  ðAñ �7—;‘;ÓñEó  ðEñ �7—;‘;ÓñGó  ðGñ �7—;‘; × 2Ñ 2Ó3ñ
Nó 4ð
Nñ �7—<‘<Ó ñEó !ðEñ �7—<‘<Ó ñAó !ðAñ �7—<‘<Ó ñEó !ðEñ �7—<‘<Ó ñ'ó !ð'ñ �7—?‘?Ó#ñEó $ðEñ �7—?‘?Ó#ñAó $ðAñ �7—?‘?Ó#ñEó $ðEñ �7—?‘?Ó#ñGó $ðGñ �7—?‘?Ó#ñEó $ðEñ �7—?‘?Ó#ñAó $ðAñ �7—?‘?Ó#ñEó $ðEñ �7—?‘?Ó#ñGó $ðGñ �7—?‘?Ó#ñ$ó $ð$ñ �7—>‘>Ó"ñ
Có #ð
Cñ �7—>‘>Ó"ñAó #ðAñ �7—>‘>Ó"ñ
Aó #ð
Añ �7—>‘>Ó"ñ9ó #ð9ñ �7—>‘>Ó"ñ:ó #ð:ñ �7×#Ñ#Ó$ñ$ó %ð$ñ �7×#Ñ#Ó$ñEó %ðEñ �7×#Ñ#Ó$ñEó %ðEñ �7×#Ñ#Ó$ñBó %ðBñ �7×#Ñ#Ó$ñEó %ðEñ �7×#Ñ#Ó$ñKó %ðKñ �7×-Ñ-Ó.ñ$ó /ð$ñ �7×-Ñ-Ó.ñEó /ðEñ �7×-Ñ-Ó.ñEó /ðEñ �7×-Ñ-Ó.ñAó /ðAñ �7×-Ñ-Ó.ñEó /ðEñ �7×-Ñ-Ó.ñ	Kó /ð	Kñ �7×-Ñ-Ó.ñ
?ó /ð
?ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñó -ðñ �7×+Ñ+Ó,ñó -ðñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ
#ó -ð
#ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñó -ðñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ ó -ð ñ �7×+Ñ+Ó,ñ
#ó -ð
#ñ �7×+Ñ+Ó,ñ#ó -ð#ñ �7—?‘? G§O¡O°W·_±_Ø×+Ñ+¨W×-EÑ-EóGñ?óGð?ñ  �7—?‘? G§O¡O°W·_±_Ø×+Ñ+¨W×-EÑ-EóGñ?óGð?ñ$ �7—?‘? G§O¡O°W·_±_Ø×+Ñ+¨W×-EÑ-EóGñ%óGð%ñ8 �7—?‘? G§O¡O°W·_±_Ø×+Ñ+¨W×-EÑ-EóGñ%óGð%ñ. �7×)Ñ)Ó*ñ"ó +ð"ñ �7×)Ñ)Ó*ñ"ó +ð"ñ �7×)Ñ)Ó*ñ"ó +ð"ñ �7×)Ñ)Ó*ñ"ó +ð"ñ �7×)Ñ)Ó*ñ"ó +ð"ñ �7×)Ñ)Ó*ñó +ðñ �7×)Ñ)Ó*ñó +ðñ �7×)Ñ)Ó*ñó +ðñ �7×)Ñ)Ó*ñ>ó +ð>ñ �7×$Ò$Ó%ñ0ó &ð0ñ �7×$Ò$Ó%ñ0ó &ð0ñ ˜$ Ô7Ù�7×$Ò$Ó%ñ	4ó &ó 8ð	4ñ �7—<‘< ×!1Ñ!1°7×3MÑ3MØ—>‘> 7§?¡?°G·O±OóEñ@óEð@ñ. �&Ð!;Ô<Ù�7×(Ò(Ó)÷aFð aFó *ó =ðaFñH ˜$ÔØ‡�×Ò˜ §¢¨¯ªÐ2Ó3Ù�7×(Ñ(Ó)ñ*ó *ó 4ó  ñ*r1   