ó
    EñiÂ$  ã                   ó¼  • S r SSKrSSKJr  SSKJr   S5S jr S6S jr\r	 S7S jr
\
r S8S jrS8S	 jr S9S
 jr S9S jrS:S jr\rS;S jr\r  S<S jr  S=S jr  S>S jrS?S jrS@S jr\rS@S jrS@S jrSAS jr SBS jrS:S jr\rS r  S9S jr! S;S jr" S:S jr#S:S jr$ SCS jr%SCS jr&S:S  jr'S! r(S:S" jr)S:S# jr*S;S$ jr+\+r,\+r-SCS% jr.\.r/\.r0\.r1\.r2\.r3\.r4\.r5\.r6\.r7\.r8\8r9 S9S& jr:\:r;\:r< SDS' jr=\=r>\=r?\=r@\=rA\=rB\=rC\=rD S9S( jrES;S) jrF\FrG S9S* jrH SES+ jrIS:S, jrJS-\R–                  4S. jrLS-S\R–                  4S/ jrMSFS0 jrNS1 rO S9S2 jrPSCS3 jrQS:S4 jrRg)GaË  Delegators for alternative backends in scipy.ndimage.

The signature of `func_signature` must match the signature of ndimage.func.
The job of a `func_signature` is to know which arguments of `ndimage.func`
are arrays.

* signatures are generated by

--------------
import inspect
from scipy import ndimage

names = [x for x in dir(ndimage) if not x.startswith('_')]
objs = [getattr(ndimage, name) for name in names]
funcs = [obj for obj in objs if inspect.isroutine(obj)]

for func in funcs:
    sig = inspect.signature(func)
    print(f"def {func.__name__}_signature{sig}:
        pass

")
---------------

* which arguments to delegate on: manually trawled the documentation for
  array-like and array arguments

é    N©Úarray_namespace)Ú_skip_if_dtypec                 ó,   • [        X[        U5      5      $ ©N©r   r   )ÚinputÚmatrixÚoffsetÚoutput_shapeÚoutputÚargsÚkwdss          ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/ndimage/_delegators.pyÚaffine_transform_signaturer      s   € ô ˜5¬.¸Ó*@ÓAÐAó    c                 ó,   • [        X[        U5      5      $ r   r   )r	   Ú	structureÚ
iterationsr   r   r   s         r   Úbinary_closing_signaturer   %   ó   € ô ˜5¬^¸FÓ-CÓDÐDr   c                 ó.   • [        X[        U5      U5      $ r   r   )r	   r   r   Úmaskr   r   r   s          r   Úbinary_dilation_signaturer   -   s   € ô ˜5¬^¸FÓ-CÀTÓJÐJr   c                 ó,   • [        X[        U5      5      $ r   r   )r	   r   r   Úoriginr   Úkwargss         r   Úbinary_fill_holes_signaturer   5   r   r   c                 ó,   • [        X[        U5      5      $ r   r   )r	   r   r   r   s       r   Úlabel_signaturer    ;   s   € Ü˜5¬^¸FÓ-CÓDÐDr   c                 ó.   • [        XU[        U5      5      $ r   r   )r	   Ú
structure1Ú
structure2r   r   r   s         r   Úbinary_hit_or_miss_signaturer$   ?   s   € ô ˜5¨j¼.ÈÓ:PÓQÐQr   c                 ó.   • [        XU[        U5      5      $ r   r   )r	   r   r   r   r   r   s         r   Úbinary_propagation_signaturer&   E   s   € ô ˜5¨T´>À&Ó3IÓJÐJr   c                 ó,   • [        X[        U5      5      $ r   r   )r	   Úweightsr   r   r   s        r   Úconvolve_signaturer)   K   ó   € Ü˜5¬>¸&Ó+AÓBÐBr   éÿÿÿÿc                 ó,   • [        X[        U5      5      $ r   r   )r	   r(   Úaxisr   r   r   s         r   Úconvolve1d_signaturer.   Q   r*   r   c                 ó   • [        XU5      $ r   r   )r	   ÚmetricÚsamplingÚreturn_distancesÚreturn_indicesÚ	distancesÚindicess          r   Údistance_transform_bf_signaturer6   W   ó   € ô ˜5¨WÓ5Ð5r   c                 ó   • [        XU5      $ r   r   )r	   r0   r2   r3   r4   r5   s         r   Ú distance_transform_cdt_signaturer9   ^   r7   r   c                 ó   • [        XU5      $ r   r   )r	   r1   r2   r3   r4   r5   s         r   Ú distance_transform_edt_signaturer;   e   r7   r   c                 ó   • [        U 5      $ r   r   )r	   Ú	max_labels     r   Úfind_objects_signaturer>   l   s   € Ü˜5Ó!Ð!r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   ÚsizeÚnr-   r   s        r   Úfourier_ellipsoid_signaturerB   p   ó   € Ü˜5¤.°Ó"8Ó9Ð9r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   ÚsigmarA   r-   r   s        r   Úfourier_gaussian_signaturerF   v   rC   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   ÚshiftrA   r-   r   s        r   Úfourier_shift_signaturerI   y   rC   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rE   Úorderr   r   r   s         r   Úgaussian_filter_signaturerL   }   rC   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rE   r-   rK   r   r   r   s          r   Úgaussian_filter1d_signaturerN   �   ó   € ô ˜5¤.°Ó"8Ó9Ð9r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rE   r   r   r   s        r   Ú%gaussian_gradient_magnitude_signaturerQ   ‡   rC   r   c                 ó   • [         $ r   )Únp)ÚrankÚconnectivitys     r   Ú#generate_binary_structure_signaturerV   �   s   € ä€Ir   c                 ó,   • [        X[        U5      5      $ r   r   ©r	   Úfunctionr@   Ú	footprintr   r   r   s          r   Úgeneric_filter_signaturer[   ’   s   € ô ˜5¬^¸FÓ-CÓDÐDr   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rY   Úfilter_sizer-   r   r   r   s          r   Úgeneric_filter1d_signaturer^   ™   rO   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   Ú
derivativer   r   r   s        r   Ú$generic_gradient_magnitude_signaturera   Ÿ   s   € ô ˜5¤.°Ó"8Ó9Ð9r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   Úderivative2r   r   r   s        r   Úgeneric_laplace_signaturerd   ¦   s   € ä˜5¤.°Ó"8Ó9Ð9r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   Úmappingr   r   r   r   s         r   Úgeometric_transform_signaturerg   «   rO   r   c                 ó   • [        X5      $ r   r   )r	   ÚminÚmaxÚbinsÚlabelsÚindexs         r   Úhistogram_signaturern   ±   ó   € Ü˜5Ó)Ð)r   c                 ó   • [        U 5      $ r   r   )r   r   r   s      r   Úiterate_structure_signaturerq   µ   s   € Ü˜9Ó%Ð%r   c                 ó   • [        X5      $ r   r   )r	   rl   r   r   s       r   Úlabeled_comprehension_signaturers   ¹   ro   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   r   r   r   s       r   Úlaplace_signatureru   ½   rC   r   c                 ó,   • [        X[        U5      5      $ r   r   )r	   Úcoordinatesr   r   r   s        r   Úmap_coordinates_signaturerx   Á   s   € Ü˜5¬~¸fÓ/EÓFÐFr   c                 ó,   • [        U [        U5      5      $ r   r   )r	   r@   r-   r   r   r   s         r   Úmaximum_filter1d_signaturerz   Å   rC   r   c                 ó   • [        XU5      $ r   r   )r	   rl   rm   s      r   Úmaximum_signaturer|   Ì   s   € Ü˜5¨%Ó0Ð0r   c                 ó,   • [        X[        U5      5      $ r   r   )r	   r@   rZ   r   r   r   s         r   Úmedian_filter_signaturer~   Þ   r   r   c                 ó.   • [        XU[        U5      5      $ r   r   )r	   r@   rZ   r   r   r   r   s          r   Ú morphological_gradient_signaturer€   ç   s   € ô ˜5¨Y¼ÀvÓ8NÓOÐOr   c                 ó,   • [        X[        U5      5      $ r   r   )r	   Ú
percentiler@   rZ   r   r   r   s          r   Úpercentile_filter_signaturerƒ   õ   r   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   r-   r   r   r   s        r   Úprewitt_signaturer…   û   rC   r   c                 ó,   • [        X[        U5      5      $ r   r   )r	   rT   r@   rZ   r   r   r   s          r   Úrank_filter_signaturer‡     r   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   ÚangleÚaxesÚreshaper   r   r   s          r   Úrotate_signaturerŒ     rO   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rH   r   r   r   s        r   Úshift_signaturerŽ     rC   r   é   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rK   r   r   r   s        r   Úspline_filter_signaturer‘     rC   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   rK   r-   r   r   r   s         r   Úspline_filter1d_signaturer“     rO   r   c                 ó,   • [        U [        U5      5      $ r   r   )r	   r@   r   r   r   s        r   Úuniform_filter_signaturer•     rC   r   c                 ó   • [        U 5      $ r   r   )Úarrr   r   s      r   Úvalue_indices_signaturer˜     s   € Ü˜3ÓÐr   c                 ó,   • [        X[        U5      5      $ r   r   rX   s          r   Úvectorized_filter_signaturerš   #  r   r   c                 ó.   • [        XU[        U5      5      $ r   r   )r	   Úmarkersr   r   s       r   Úwatershed_ift_signaturer�   )  s   € Ü˜5¨9´nÀVÓ6LÓMÐMr   c                 ó,   • [        U [        U5      5      $ r   r   )r	   Úzoomr   r   r   s        r   Úzoom_signaturer    -  rC   r   )g        NN)Né   N)Nr¡   NN)NNr   )NNNr   )r+   N)Ú	euclideanNTFNN)Ú
chessboardTFNN)NTFNN)r   )r+   r+   N)r   N)r+   r   N)NN)NNNN))r¡   r   TN)r�   N)SÚ__doc__ÚnumpyrS   Úscipy._lib._array_apir   Úscipy.ndimage._ni_supportr   r   r   Úbinary_opening_signaturer   Úbinary_erosion_signaturer   r    r$   r&   r)   Úcorrelate_signaturer.   Úcorrelate1d_signaturer6   r9   r;   r>   rB   Úfourier_uniform_signaturerF   rI   rL   rN   rQ   Úgaussian_laplace_signaturerV   r[   r^   ra   rd   rg   rn   rq   rs   ru   rx   rz   Úminimum_filter1d_signatureÚuniform_filter1d_signaturer|   Úminimum_signatureÚmedian_signatureÚmean_signatureÚvariance_signatureÚstandard_deviation_signatureÚsum_labels_signatureÚsum_signatureÚmaximum_position_signatureÚminimum_position_signatureÚextrema_signatureÚcenter_of_mass_signaturer~   Úminimum_filter_signatureÚmaximum_filter_signaturer€   Úmorphological_laplace_signatureÚwhite_tophat_signatureÚblack_tophat_signatureÚgrey_closing_signatureÚgrey_dilation_signatureÚgrey_erosion_signatureÚgrey_opening_signaturerƒ   r…   Úsobel_signaturer‡   rŒ   rŽ   Úfloat64r‘   r“   r•   r˜   rš   r�   r    © r   r   Ú<module>rÇ      s\  ðñó2 Ý 1Ý 4ð :>ôBð 15ôEð
 4Ð ð <@ôKð
 5Ð ð 01ôEôEð
 59ôRð .2ôKôCð )Ð ôCð -Ð ð @DØ26ô6ð GLØ ô6ð AFØ ô6ô"ô:ð 8Ð ô:ô:ô:ð
 ,0ô:ô:ð CÐ òð 8<ôEð 37ô:ð #ô:ô:ð /3ô:ô*ô&ò*ô:ôGô:ð 8Ð Ø7Ð ô1ð &Ð Ø$Ð Ø"€Ø&Ð Ø0Ð Ø(Ð Ø!€à.Ð Ø.Ð à%Ð Ø,Ð ð .2ôEð
 3Ð Ø2Ð ð >BôPð
 #CÐ Ø9Ð Ø9Ð Ø9Ð Ø:Ð Ø9Ð Ø9Ð ð :>ôEô:ð $€ð 48ôEð 59ô:ô:ð *+°2·:±:ô :ð
 ˜ B§J¡Jô:ô:ò ð
 8<ôEôNõ:r   